it needs to be executed after the corresponding "import".
Fixes a bug introduced when moving the support for loading a directory
directly into GNATCOLL.
At this stage, it might in fact be better to remove support for
initialization commands: they can be replaced either by preferences
(already done in most modules), or by a user script in ~/.gps/ that
would customize all scripts. GUI editing for these initialization
sequences has been removed a while ago already.
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@168688 936e1b1b-40f2-da11-902a-00137254ae57
python_module for easier reuse
We now also load python modules (ie subdirectories with a __init__.py
file) to match more closely what python itself would do
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@168612 936e1b1b-40f2-da11-902a-00137254ae57
in a structure shared among all scripting languages. This saves a minor
amount of memory (avoid duplicating the name of the commands in memory),
but more importantly provides a good place to store (once) the parameter
names for JB12-019
(Register_Command, for a scripting_language): profile changed. Users should
no longer call this procedure directly, but go through the one at the
repository level.
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@167171 936e1b1b-40f2-da11-902a-00137254ae57
Add documentation for GPS_PYTHONHOME.
* gnatcoll-python.adb:
(Py_SetPythonHome): New binding.
* gnatcoll-python.ads:
(Py_SetPythonHome): Declare.
* gnatcoll-scripts-python.adb:
(Register_Python_Scripting): New parameters Program_Name and Python_Home.
* gnatcoll-scripts-python.ads:
(Register_Python_Scripting): New parameters Program_Name and Python_Home,
allowing finer control on the initialization of the Python interpreter.
* gps-main.adb:
(Init_Settings): Do not modify PYTHONHOME.
(Finish_Setup): Likewise.
* python_module.adb:
(Register_Module): Set the Python home explicitely, either to the directory
pointed to by GPS_PYTHONHOME if it is set, or to the install dir.
For JA20-017.
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@166155 936e1b1b-40f2-da11-902a-00137254ae57
mallocs, and save memory for structures that are kept permanently
in memory
J603-022
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@161002 936e1b1b-40f2-da11-902a-00137254ae57
gnatcoll_shared.gpr
This is for convenience when working with multiple branches in git:
by changing the value (in a single place) on each branch, we can keep
the build tree for each branch, and avoid extra recompilation when
changing branches. For instance, one can set Object_Dir and Library_Dir
to the following value in gnatcoll_shared.gpr (not checked in):
for Object_Dir use "obj/" & External ("GIT_BRANCH", "");
for Library_Dir use "lib/" & External ("GIT_BRANCH", "");
provided the environment variable GIT_BRANCH is set automatically every
time you change the branch (that's under control of the shell)
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@160904 936e1b1b-40f2-da11-902a-00137254ae57
Remove project manager from GPS, since it is now in GNATCOLL
I422-003
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@158310 936e1b1b-40f2-da11-902a-00137254ae57
console does not even exist (apparently this is new with IA27-021)
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@153512 936e1b1b-40f2-da11-902a-00137254ae57
(Execute): Adapt to new profile of Execute_GPS_Shell_Command.
* build_command_manager.adb:
Start replacing command line handling with use of GNATCOLL.Command_Line.
* builder_module.adb:
Do not use a GNAT.OS_Lib.Argument_List to represent a command line.
* commands-builder.adb:
(Launch_Build_Command): Use type GNATCOLL.Command_Lines.Command_Line.
* commands-builder.ads:
(Launch_Build_Command): Use type GNATCOLL.Command_Lines.Command_Line.
* code_peer-module-bridge.adb:
(Add_Audit_Record): Adapt to new profile of Launch_Process.
(Inspection): Ditto.
(Review_Message): Ditto.
* code_peer-shell_commands.adb:
(Build_Target): Adapt to new profile of Execute_GPS_Shell_Command.
(Build_Target_Execute): Ditto.
(Get_Build_Mode): Ditto.
(Set_Build_Mode): Ditto.
* codefix_module.adb:
(Compilation_Finished_Cb): Adapt to new profile of Execute_GPS_Shell_Command.
* custom_module.adb:
(Parse_Entry_Node): Adapt to new profile of Execute_GPS_Shell_Command.
* expect_interface.adb:
(Interactive_Expect): Adapt to new profile of Spawn.
(Custom_Spawn_Handler): Likewise.
* xml_viewer.adb:
(On_Click): Adapt to new profile of Execute_GPS_Shell_Command.
* gnatcoll-command_lines.adb:
Initial revision.
* gnatcoll-command_lines.ads:
Initial revision.
* gnatcoll-scripts-shell.ads:
(Initialize): Remove parameter Arguments_Count, no longer needed.
(Command_Line_Treatment): Declare.
(Execute_Command): Adapt to new profile of parent.
(Execute_Command_With_Args): Likewise.
(Set_Nth_Arg): Likewise.
* gnatcoll-scripts-utils.ads:
Add ??? comment.
* gnatcoll-scripts.adb:
(Command_Line_Treatment): Declare.
(Set_Nth_Arg): Adapt to new parameters of parent.
(Execute_Command): Likewise.
(Execute_Command_With_Args): Likewise.
* gnatcoll-scripts.ads:
(Command_Line_Treatment): Add new subprogram, which enables scripts to specify
how they would like their command line to be handled.
(Set_Nth_Arg): Adapt to new parameters of parent.
(Execute_Command): Likewise.
(Execute_Command_With_Args): Likewise.
* gnatcoll-scripts-python-gtkada.adb:
(Init_PyGtk_Support): Adapt to new profile of Execute_Command.
* gnatcoll-scripts-python.adb:
(Command_Line_Treatment): Implement.
(Set_Nth_Arg): Adapt to profile of parent.
(Execute_Command): Ditto.
(Execute_File): Adapt to new profile of Execute_Command.
* gnatcoll-scripts-python.ads:
(Command_Line_Treatment): Declare.
(Execute_Command, Set_Nth_Arg): Adjust to new profiles of abstract parent.
* gps-main.adb:
(Execute_Batch): Adapt to new profile of Execute_Command.
* debugger.adb:
(General_Spawn): Adapt to new profile of Spawn.
* debugger.ads:
Add ??? comment.
* gvd-proc_utils.adb:
(Open_Processes): Adapt to new profile of Spawn.
* gvd-source_editor-gps.adb:
(Highlight_Current_Line): Adapt to new profile of Execute_GPS_Shell_Command.
(Unhighlight_Current_Line): Ditto.
(Initialize): Ditto.
(Free_Debug_Info): Ditto.
* help_module.adb:
(On_Load_HTML): Adapt to new profile of Execute_Command.
* commands-custom.adb:
Rewrite handling of command line. Use type GNATCOLL.Command_Lines.Command_Line.
* gps-kernel-macros.adb:
(Substitute): No need to protect paths.
* gps-kernel-remote.adb:
(Spawn): Use type Command_Line rather than GNAT.OS_Lib.Argument_List to
represent command lines.
* gps-kernel-remote.ads:
(Spawn): Use type Command_Line rather than GNAT.OS_Lib.Argument_List to
represent command lines.
* gps-kernel-scripts.adb:
(Execute_GPS_Shell_Command): Remove versions based on String + GNAT.OS_Lib.
Argument_List. Replace all by use of type Command_Line.
(Set_Nth_Arg): Adjust mode of Callback_Data.
* gps-kernel-scripts.ads:
(Execute_GPS_Shell_Command): Remove versions based on String + GNAT.OS_Lib.
Argument_List. Replace all by use of type Command_Line.
(Set_Nth_Arg): Adjust mode of Callback_Data.
* gps-kernel-timeout.adb:
(Free): No longer need to free Args.
(Execute): Ditto. Adapt to new profile for Spawn.
(Launch_Process): Use type Command_Line to represent a command line.
* gps-kernel-timeout.ads:
(Launch_Process): Use type GNATCOLL.Command_Lines.Command_Line to represent a
command line.
* gps-kernel.adb:
(Filter_Matches_Primitive): Adapt to new profile of Execute_Command.
* navigation_module.adb:
(Go_To): Adapt to new profile of Execute_Command.
* project_properties.adb:
(For_Each_Item_In_List): Adapt to new profile of Execute_Command.
* python_module.adb:
(Load_Dir): Adapt to new profile of Execute_Command.
* remote-rsync.adb:
(On_Rsync_Hook): Adapt to new profile of Launch_Process.
* clearcase.xml:
Conform to the command line API design: parameters such as "$2-" and "$*" need
to not be surrounded by quotes, so that they expand into multiple arguments.
* cvs.xml:
Conform to the command line API design: parameters such as "$2-" and "$*" need
to not be surrounded by quotes, so that they expand into multiple arguments.
* gnatpp.xml:
Remove unneeded triple quoting.
* subversion.xml:
Conform to the command line API design: parameters such as "$2-" and "$*" need
to not be surrounded by quotes, so that they expand into multiple arguments.
* shell_script.adb:
(Module_Command_Handler): Adapt to new profile of Execute_GPS_Shell_Command.
(Create): No longer need to take into account Arguments_Count.
Add ??? comment.
* commands-socket.adb:
(Execute): Adapt to new profile of Execute_GPS_Shell_Command.
* casing_exceptions.adb:
(Set_Casing): Adapt to new profile of Execute_GPS_Shell_Command.
* src_editor_buffer.adb:
(Edition_Timeout): Adapt to new profile of Execute_GPS_Shell_Command.
* src_editor_module.adb:
(On_Print): Adapt to new profile of Execute_GPS_Shell_Command.
* log_utils.adb:
(Get_ChangeLog_From_File): Adapt to new profile of Execute_GPS_Shell_Command.
* vcs-generic_vcs.adb:
(Parse_Annotations): Adapt to new profile of Execute_GPS_Shell_Command.
* vcs_activities_view_api.adb:
(Execute): Adapt to new profile of Execute_GPS_Shell_Command.
* vcs_view_api.adb:
(Get_Location): Adapt to new profile of Execute_GPS_Shell_Command.
(On_Menu_Edit_ChangeLog): Ditto.
(On_Menu_View_Log_Rev): Ditto.
(Comparison): Ditto.
* vdiff2_command_block.adb:
(Close_Difference): Adapt to new profile of Execute_GPS_Shell_Command.
* vdiff2_module-callback.adb:
(Setup_Ref): Adapt to new profile of Execute_GPS_Shell_Command.
* vdiff2_module-utils-shell_command.adb:
(Add_Line Adapt to new profile of Execute_GPS_Shell_Command.
(Edit, Synchronize_Scrolling, Get_Chars, Get_File_Last_Line,
Get_Line_Number, Highlight_Line, Highlight_Range, Register_Highlighting,
Remove_Blank_Lines, Replace_Text, Unhighlight, Unhighlight_Range): Ditto.
* vdiff2_module-utils.adb:
(Is_Ref_Editor_Opened): Adapt to new profile of Execute_GPS_Shell_Command.
* clipboard_views.adb:
(Button_Press): Adapt to new profile of Execute_GPS_Shell_Command.
* interactive_consoles.adb:
(Default_Command_Handler): Adapt to new profile of Execute_Command.
Change the way GPS handles command lines. Introduce a new type
(GNATCOLL.Command_Lines.Command_Line) and use it in most areas where we
manipulate command lines.
For H926-007.
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@152411 936e1b1b-40f2-da11-902a-00137254ae57
sometimes out of range of Integer, and resulted in a Constraint_Error.
Make the algorithm much faster by only reporting a single file
dependency per project dependency, by default.
IB12-015
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@152250 936e1b1b-40f2-da11-902a-00137254ae57
currently is, and to what I422-031 aims at.
The goal is to be able to replace this package with
GNAT.Dynamic_Htables when the latter has been updated
(String_Utils.Hash): moved from htables.ads
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@147780 936e1b1b-40f2-da11-902a-00137254ae57
sys.dir.
Correction of a regression brought by I325-007
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@142530 936e1b1b-40f2-da11-902a-00137254ae57
configuration management.
Major VFSification of GPS: GPS should now be using Virtual Files almost
everywhere possible.
Part of I325-007
git-svn-id: svn+ssh://svn.eu.adacore.com/Dev/trunk/gps@142501 936e1b1b-40f2-da11-902a-00137254ae57