====================================================
GPS 4.3 NEW FEATURES LIST Current as of Oct 02, 2008
====================================================

Copyright (c) 2007-2008, AdaCore

This file contains a list of new features introduced in GPS.
A full description of all GPS features can be found in the GPS
documentation.

An ISO date (YYYY-MM-DD) appears in parentheses after the
description line. This date shows the implementation date
of the feature.

New features in GPS 4.3.0
-------------------------

NF-43-HA01-029 New menu Edit->Insert Shell Output... (2008-10-02)

  A new menu is provided to insert the output of a process in the current
  editor.

NF-43-H916-007 Support for Xorg libraries under GNU/Linux (2008-09-16)

  GPS now runs under recent Linux distribs using the Xorg libraries.
  Previousely, GPS was compatible with Xfree libraries only, unless you
  removed the <install>/lib/gps directory. This work around is no longer
  necessary.

NF-43-H908-010 New plug-in to run an OS unix shell (2008-09-11)

  A new plugin is provided which allows you to open a GPS console executing
  a Unix or Windows shell.

NF-43-H908-001 New contextual menu 'Show expanded code' (2008-09-08)

  For Ada files, a new contextual menu entry is provided to navigate in
  GNAT's expanded source code.

NF-43-H903-013 SPARK plug-in improved (2008-09-03)

  Many improvements have been made to the spark plug-in to improve the user
  experience.

NF-43-H903-005 Plugins configured with preferences (2008-09-05)

  The various GPS plugins are now configured through the usual Preferences
  dialog, rather than requiring the user to enter python commands in the
  Plug-ins dialog

NF-43-H821-010 VCS_Patch_Root can be specified as relative path (2008-08-28)

  It is now possible to set the package's IDE VCS_Patch_Root
  attribute to a relative path. This way it is easier to share
  a project between developers who may have different setup.

NF-43-H814-009 Add support for removing activity log (2008-09-01)

  It is now possible to remove the main activity log.

NF-43-H813-019 New colors for message highlighting (2008-10-02)

  The default colors for highlighting compiler output (errors, warnings, style
  errors) and for highlighing the current line and current block have been
  updated, for better readability.

NF-43-H812-004 New debugger preference: Debugger Windows (2008-08-14)

  A new preference was added, available in the Debugger tab. It lets
  you choose what should be done with the debugger-related windows when
  the debugger is terminated (call stack, data window, threads,...) You
  can chose to destroy them (the behavior in previous versions of GPS),
  keep them open, or hide them. In the last two cases, they will of
  course be reused the next time you start a debugger, and this therefore
  provides a way to preserve the location of these windows across sessions

NF-43-H805-018 New attribute in Language / Category node (2008-08-07)

  In language category definition, the new attribute End_Index allows to
  select parenthesis-pair of the regular expression after which the next
  search will begin, instead of continuing after the end of the pattern.

NF-43-H731-007 Gnatdist configuration language support (2008-08-08)

  Add syntax highlighting and support for showing the entities in the
  project explorer for the Gnatdist configuration language. Add also
  Gnatdist compiler tool with switches.

NF-43-H721-012 Cross-references available on labels (2008-07-22)

  Cross references ("go to declaration") are now available when clicking
  on labels inside Ada code.

NF-43-H616-008 Renaming parameters in overriding subprograms (2008-08-12)

  When using the refactoring capabilities of GPS to rename a subprogram
  parameter, you can now optionally also rename parameters with the same
  name in overriding or overridden subprograms.

NF-43-H612-027 Edit menu reorganized (2008-06-13)

  The Edit menu has been reorganized to give access to the most common and
  useful actions more easily. Note that some menus have been moved, which
  means that if you had custom key bindings associated with these menus,
  you will need to recreate the key binding with the new menu name.

NF-43-H612-011 Major speed improvement in unused entities (2008-06-20)

  The computation of unused entities as done by the unused_entities
  plug-in is now several times faster, thanks to a better caching of
  cross-reference information in memory.

NF-43-H605-016 List all variables used in a subprogram (2008-06-06)

  A new plug-in is enabled by default which adds the contextual menu
  References->Variables used in subprogram to list all variables used
  in a given subprogram.

NF-43-H605-014 Improve the gnat switches handling (2008-06-30)

  The Project Editor and the Ada support module have been improved to better
  handle the Gnat compiler switches. In particular, the switches shown in the
  editor now match the actual compiler used, and adds better support for
  global switches (such as "-gnatwa", "-gnatVa", etc), and new warnings
  switches (with the form "-gnatw.x").

NF-43-H527-004 Support for the avr toolchain (2008-05-27)

  Support for the GNAT avr toolchain is now available by default in the
  project properties.

NF-43-H502-016 New action to compare version N and N-1 (2008-05-08)

  In the Revision View it is now possible to compare any revision with the
  previous one.

NF-43-H423-022 Refactoring read-only files (2008-08-12)

  When renaming an entity, GPS now has the capability to make files writable
  before doing the change. The default is still to ignore read-only files

NF-43-H415-014 Support delimiters highlighting within comments (2008-08-07)

  Highlighting of matching brackets/parenthesis now works within a same comment
  block.

NF-43-H401-006 Support for the arm-nucleus toolchain (2008-04-08)

  Support for the GNAT arm-mentor-nucleus toolchain is now available by
  default in the project properties.

NF-43-H306-005 Support for PPC assembly highlighting (2008-03-07)

  An optional plug-in (ppc.xml) is provided in the GPS library which provides
  the ability to highlight PPC assembly code (in particular branches and
  labels) in the source editor and outline view.

NF-43-H306-004 Switch editor pages can hide command line (2008-03-28)

  When you define a new tool in XML, along with its switches, you can now
  indicate that the command line of the tool should not be displayed in the
  project editor (only the buttons to edit the switches)

NF-43-H227-010 Improvements in the Smart Completion (2008-06-19)

  A new "Dynamic" Smart Completion mode has been introduced. In this mode, the
  Smart Completion window is invoked as soon as a character is entered in the
  editor.
  To activate the dynamic mode, set the Smart Completion preference to
  "Dynamic" in the Editor panel of the Preferences dialog.

  The Smart Completion now offers language keywords as completions.

  Multiple entries corresponding to the same completion are now collapsed into
  one entry, and in this case the Documentation window lists all corresponding
  declaration locations, along with the documentations.

  To improve typing speed, the "TAB" key automatically completes to the first
  entry in the list, or with the selected entry if there is a selection.

NF-43-H226-031 Support for -eL gnatmake/gprbuild switch (2008-02-27)

  When the 'Fast Project Loading' preference is enabled, GPS will now
  automatically call gnatmake, gnatclean, gprclean and gprbuild with the
  -eL switch. Note that for gnatclean and gprclean, this requires a recent
  version of these tools.

NF-43-H226-019 Improved interface for code completion (2008-02-27)

  Smart completion now completes the currently highlighted word when receiving
  a character which does not belong to an identifier (for instance dot,
  colon, semi-colon, etc).

NF-43-H216-003 gprbuild no longer packaged with GPS (2008-02-19)

  GPS binary distributions no longer come with gprbuild, to avoid
  confusion with existing gprbuild versions, packaged with GNAT.
  For users of older versions of GNAT, it is also possible/recommended
  to install gprbuild from a standalone package.

NF-43-H131-009 Call graphs now uses dispatching information (2008-08-12)

  When a subprogram A has a dispatching call to subprogram B (or one of
  its overriding procedures B'), then both B and B' are now displayed in
  the callgraph. This also applies when looking for the callers of a
  subprogram, and helps locate all places where a subprogram might
  potentially be called.

NF-43-H123-034 Cross-references and extending projects (2008-01-31)

  If a source file is overridden in an extending project, but has not been
  recompiled locally, GPS will try to use the xref information from the
  extended project to provide cross-referencing in the file.

NF-43-H121-010 Menu Build->Check Semantic (2008-02-18)

  A new menu Build->Check Semantic is provided, similar to Build->Check Syntax
  to check for semantic errors in a given Ada source file.

NF-43-H111-019 Smarter activity menu for adding/removing files (2008-01-13)

  When a file is already into an activity GPS now proposes a menu to
  remove it from this activity on the VCS Contextual menu.

NF-43-H110-009 Improved indentation of "raise with" (2008-02-20)

  The Ada 2005 construct "raise Exception with msg" is now better indented,
  in particular when a line break is added as part of this construct.

NF-43-GC31-001 Debugger uses new "catch exception" syntax (2008-09-11)

  The debugger interface now uses gdb's new "catch exception" syntax when
  available instead of "break exception". This has no user visible change,
  but prepares the ground for later changes in gdb itself.

NF-43-GC19-021 New plug-in to reset GPS Windows registry settings (2008-01-30)

  A new plug-in has been added to reset the Windows registry settings for
  GPS. Those settings are to associate some specific extensions like .ads,
  .adb, .gpr to GPS. It can be the case that installing another application
  breaks those default settings. By running this new plug-in (Help/Reset
  Registry) all the values are restored to their GPS default values.

NF-43-GC19-017 User tags handling in documentation generation (2008-09-10)

  The documentation generation facility has been enhanced to handle custom
  user tags. Code comments can now be structured with pseudo-xml tags to
  produce better formatted documentation.

NF-43-GC12-017 Align on arrows working in case statement (2007-12-29)

  The align plug-in has been enhanced to support arrows inside
  case statement.

NF-43-GC09-009 Add new action to center a line of text (2007-12-10)

  A new Python action to center a line has been added into the
  text_utils.py library. This action can also center a text inside a
  comment line.

NF-43-GC06-020 Add minimal Git VCS support (2007-12-09)

  Add Git support in GPS VCS. This is only a minimal support as Git is
  very different VCS than CVS or Subversion for example. It is
  possible to query status, ask for a difference with HEAD and
  retrieve the log information.

NF-43-GB30-007 Completion for protected fields (2007-12-11)

  Completion on protected objects fields are now proposed by the smart complete
  command.

NF-43-GB29-015 Project files searched for on ADA_PROJECT_PATH (2008-03-27)

  If you specify a -P command line parameter to gps, the specified project is
  searched, as usual, in the current directory, and if not found in the
  directories specified by the ADA_PROJECT_PATH and GPR_PROJECT_PATH
  variables.

NF-43-GB27-021 Command line pretty printer using GPS reformating (2007-11-28)

  An new python example demonstrates how to reformat all sources of a project
  with a single command line. The result is the same as opening each source
  file of the project, selecting the whole buffer and executing the
  "Format Selection" action (bound to Control-Tab by default). This example
  is named reformat_project.py and the usage is detailed in the file itself.

NF-43-GB22-016 New menu to reformat a selection (2007-11-28)

  An new menu /Edit/Format Selection has been added in order to be able to
  reformat the current selection. This capability used to be accessible only
  from a key binding (set through the key shortcut editor) which will remain
  control-tab by default.

NF-43-GB15-003 New plugin: create_missing_dirs.py (2008-03-27)

  This plugin, contributed by a GPS user, creates missing directories when
  a project is loaded.

NF-43-GB14-004 New VCS action to prepare group commit in one click (2007-11-17)

  The new VCS action "Commit as new Activity" has been implemented to simplify
  simple group-commit activity. Calling this action will create an anonymous
  activity, populate it with all selected files from the VCS Explorer and
  open the activity log file. Just fill it and commit the activity.

NF-43-GB07-006 Major speed up in project view (2007-11-26)

  The computation time for the project view was greatly improved, and the
  view displays much faster now on big projects.

NF-43-GB06-013 New menu /Build/Run/Last Launched (2008-08-19)

  This menu allows you to spawn exactly the same command that you previously
  spawned through the /Build/Run menu. No dialog is open to ask for arguments.
  This menu can conveniently be bound to a key shortcut through the
  /Edit/Key Shortcuts menu.

NF-43-GA26-017 Improved handling of dispatching calls (2008-02-19)

  GPS now handles by default dispatching calls in contextual menus, and if
  there are several primitive operations corresponding to a dispatching call,
  will display a submenu for "goto declaration/body" entries.
  Previousely, this capability was disabled by default, and when enabled
  manually, a submenu was always created for dispatching calls, even when only
  one primitive operation existed.

NF-43-GA19-017 Support for annotated comments highlighting (2008-02-29)

  The Ada source editor will now highlight with a different color annotated
  comments (e.g. --#).

NF-43-G904-006 Importing predefined projects (2008-08-18)

  When you add a dependency to your project (through the Project/Dependencies
  contextual menu in the project view) on a predefined project (ie one
  installed in the system's standard directories, like all the projects
  installed with the GNAT addons), your project is modified so that the with
  statement does not use absolute paths. This allows you to for instance
  update the version of your compiler without modifying your projects.

NF-43-G417-014 Improved editing for gpr files (2008-02-21)

  GPS now recognizes gpr specific keywords (e.g. project, external) when
  editing, in particular when performing automatic casing.

NF-43-FC10-002 Code fixing uses the real indentation (2007-12-17)

  When the compiler detects an intendation problem, and doesn't propose the
  actual expected column, the auto fix proposed by GPS is now more accurate,
  using the same indentation engine & preferences as the editor.

NF-43-FB20-009 Error message when --debug executable not found (2008-10-01)

  When the executable specified with --debug is not found, an error dialog
  is now displayed by GPS.

NF-43-F324-007 Fixing "multiple blank lines" error message (2008-08-13)

  The style error "multiple blank lines" is now automatically fixable in GPS,
  extra blank lines get removed when the fix is applied.

NF-43-EA12-009 Debugger contextual menu handles expressions (2008-08-19)

  The Debug contextual menu will now take into account the full expression
  to display a variable. For instance, if you leave your cursor on X in
  "A.X", then the command sent to the debugger is "print a.x". This also
  works with more complex expressions like "A(5)  .   X" (or if there are
  comments in the middle of the expression).

NF-43-D811-007 Ability to define new language categories (2008-03-12)

  It is now possible in XML files to define new language categories, visible
  in the project and outline views.

NF-43-D630-005 Ability to select the run directory (2008-02-21)

  GPS now provides the ability to choose between the executable directory
  of a program and the current directory to run or debug an application.
