Known Problems fixed in GPS 5.0.0

- J928-005: Auto-fix doesn't work when missing space in constant
  Problem:    When making constant a variable with no space between the : and
              the declaration name, the auto-fix doesn't automatically add
              a space after the constant keyword, resulting in a 
              non-compilable code.
  Workaround: Add manually the space.

- J923-002: Emacs mode: transpose lines transposes next line
  Problem:    In Emacs, transposing two lines swaps the current line and
              the previous, whereas GPS used to swap the current line and
              the next. GPS behavior was changed to match Emacs.
  Workaround: use ctrl-x ctrl-t while on the first line.

- J922-011: Modifying a variable under the debugger is not reflected
  Problem:    In the debugger data window, when modifying the value of a
              variable, the new value is not displayed immediately.
  Workaround: The variable is properly updated, and will be displayed
              at the next debugger command (e.g. step, next).

- J921-018: Right-click in debugger Data Window selects wrong component
  Problem:    If you move boxes around in the Data Window, and then right
              click on a specific line within a box, it might happen that
              the wrong line is selected.
  Workaround: Do not move the items.

- J916-009: Setting the default remote servers for a project does not work
  Problem:    Clicking on the 'Set default' button of the Remote view has no
              effect: the next time the project is loaded, the servers are
              assigned to the local server.
  Workaround: Select again the desired servers.

- J906-016: Triple-Click in editors does not select the end of line
  Problem:    When triple-clicking with the first mouse button in the editor,
              the current line is selected, but not the end-of-line character.
  Workaround: Insert a new line after pasting, or use another method for
              selecting the current line.

- J906-013: Second-button paste does not give focus to target editor
  Problem:    When using the second button to paste text in an editor (this is
              supported on UNIX/Linux platforms), GPS does not give the focus
              to the target editor.
  Workaround: Click in the editor with the first button to give it the focus
              before pasting text.

- J906-012: rectangle insertion misbehaves on empty lines
  Problem:    If you have activated the rectangles.py plugin, and then try
              to use "Rectangle/Insert Text" on a rectangle that contains
              empty line, the text will be inserted at the end of the previous
              line instead for those empty lines.
  Workaround: Make sure the rectangle does not contain multiple lines (repeat
              the insertion on multiple rectangles instead)

- J906-011: Bad indentation of multiple line array declaration
  Problem:    GPS does not indent nicely the following kind of declaration:
              type T is
                array (Integer)
              of Boolean;
  Workaround: Fix the indentation manually.

- J827-024: ClearCase "diff" operations not working
  Problem:    When using the "ClearCase Native" VCS, the operations to query
              the differences between the local file and another revision
              are not working:
  Workaround: Modify the file clearcase.xml in the installation directory,
              for the actions "clearcase_diff_head" and "clearcase_diff" with
              the following modifications:
              - replace <shell>dump "%1" TRUE</shell>
                with <shell>base_name "$1"</shell><shell>dump "%2" TRUE</shell>
              - replace <shell>Hook.run %1  null %2 %3</shell>
                with <shell>Hook.run %1 "$2" null %2 %3 "%5 [diff]"</shell>

- J826-005: dispatching.py and stale cross-references
  Problem:    When the cross-reference information is not up-to-date and you
              open a new file, the highlighting of dispatching calls done by
              the optional dispatching.py plugin could end up highlighting
              incorrect pieces of code.
  Workaround: Recompile the file to update the highlighting.

- J823-010: Remote configuration issue regarding remote access tools
  Problem:    When configuring a server for the GPS remote mode, the dialog
              allows you to select remote access tools that are not present
              on your system or that are incompatible with GPS.
  Workaround: Make sure that the remote access tool is present on your PATH
              and that you are not using Microsoft telnet.

- J821-001: GPS.Entity.Category now returns "object" for private objects
  Problem:    In a generic package, a variable of a type defined by a formal
              generic parameter is now reported as "object", rather than "type"
              as it was before. This is a slight change in the interpretation
              of the information given by GNAT cross-references.
  Workaround: None

- J813-005: Crashes when searching in non-UTF8 files on disk
  Problem:    When GPS is searching for occurrences in files which are not
              being edited (for instance when looking in "Files from project"),
              GPS might crash if the locations found contain international
              characters and the file is encoded in a character set different
              from UTF8 (for instance ISO-8859-1).
  Workaround: Encode in UTF8 all sources that may contain international
              characters, or remove all international characters.

- J810-015: Project wizard: wrong location of object directory
  Problem:    When you create a project through the /Project/New menu, the
              object directory is always set to the current directory. By
              default, it should in fact be set to the project directory that
              you set on the first page of the wizard.
  Workaround: Manually override the object directory.

- J804-015: Comparing two or three files from disk in Unified mode
  Problem:    When using the menu Tools->Compare->Two Files or Three Files
              while the Visual Diff "Mode" preference is set to Unified, GPS
              only shows one file.
  Workaround: Change the "Mode" preference to "Unified" when comparing two or
              three files from the disk.

- J804-008: Documentation generation issues with non-ascii characters
  Problem:    If a source code contains non-ascii characters, then some display
              issues might happen in the generated documentation.
  Workaround: Use ascii characters.

- J803-003: Documentation generation computes incomplete inheritance tree
  Problem:    The generated documentation may generate an incomplete
              inheritance tree.
  Workaround: Make sure that the cross-reference informations are loaded
              automatically, and wait for them to be fully loaded before
              generating the documentation.

- J728-003: Documentation generation issue with projects without object dir
  Problem:    If the root project loaded by GPS does not contain an object
              directory, then generating the documentation on it will raise an
              exception, and no documentation is generated
  Workaround: Define an object directory in your project file.

- J701-004: Wrong indentation on continuation lines after a declaration
  Problem:    When aligning dclarations on the colon character, continuation
              lines starting with 'or else' or 'and then' are not indented
              properly, for example the following properly indented:
                Is_Unit_Decl : constant Boolean :=
                                 not Is_Nil (Match_Unit)
                                   and then not Is_Equal (Match_Unit, Unit);
              would end up as:
                Is_Unit_Decl : constant Boolean :=
                                 not Is_Nil (Match_Unit)
                               and then not Is_Equal (Match_Unit, Unit);
  Workaround: Indent manually.

- J623-007: Renaming bookmarks sometimes mixes them
  Problem:    If you rename a bookmark in the Bookmarks View, and the new
              name changes the sort order, then the location and names of
              bookmarks no longer match.
  Workaround: Directly edit the file $HOME/.gps/bookmarks.xml before starting
              GPS.

- J621-018: Bookmark locations not entered in locations history
  Problem:    When using the Bookmark view to visit locations, using
              the menu Navigate->Back or the toolbar "Back" button does not
              cause GPS to jump to locations previously visited by bookmarks.
  Workaround: Go to the desired location manually.

- J610-025: "Use exec dir" broken when running executables in the debugger
  Problem:    When using the Debug->Run... menu to launch executables in
              the debugger, the checkbox "use exec dir instead of current dir"
              has no effect.
  Workaround: Use the command "cd" in the debugger console to change the
              current working directory

- J528-029: Potential source editor corruption with block folding and undo/redo
  Problem:    When using block folding, if an undo/redo operation affects the
              contents of a folded block, the operation might cause loss of
              data or loss of synchronization in the undo/redo cycle.
  Workaround: Deactivate Block Folding in the Editor section of the Preferences

- J527-005: Problems detecting executable names for mains in old project syntax
  Problem:    In some cases, GPS will display at startup messages of the form:
                "Build facility: Could not determine executable names
                 for the mains".
              This might occur if the project files are specifying Main files
              without the extension, as was tolerated in previous versions of
              the GNAT toolchain.
  Workaround: Make sure all Mains are specified with the extension, as in:
                for Main use ("hello.adb");

- J525-014 Building in a project that has symbolic links
  Problem:    When compiling in a project hierarchy that contains symbolic
              links, GPS may fail with the following message:
                "Could not determine the project for file: <...>
                 Invalid context, cannot build."
  Workaround: Change the project hierarchy so that it no longer contains
              symbolic links, or deactivate "Fast project loading" in the
              Project section of the preferences (although this will disable
              some speed optimizations when loading the project).

- J520-004: Launching of external Python-based build or scripts fails
  Problem:    GPS internally sets the PYTHONHOME and PYTHONPATH variables to
              point to its packaged Python libraries. This might be a problem
              when launching python-based build commands or external scripts.
  Workaround: Create a wrapper around the python-based build commands or
              scripts to unset the PYTHONHOME and PYTHONPATH variables.

- J520-002: Sorting source files in project editor
  Problem:    The list of source files in the project editor is not sorted,
              making it harder to locate a file.
  Workaround: Once you have selected a file, you can use ctrl-F to search
              for other files in the list

- J511-019: Renaming an entity displays dialog asking to save the file
  Problem:    If you rename an entity through the "Refactoring" contextual
              menu, you get prompted for each file whether to save it.
  Workaround: Do not ask for auto-saving, but instead select the menu
              /File/Save More/All after the refactoring is performed

- J507-011: Project View broken when toggling Show Absolute Path
  Problem:    If you toggle (from the contextual menu) the display of
              absolute paths twice (to get back to displaying relative
              paths), the paths are displayed relative to the current
              directory rather than relative to the project the directory
              belongs to. In addition, not all directories are properly
              refreshed in some cases, and you might end up with a mixture
              of absolute and relative paths.
  Workaround: Restart GPS after setting your preferred setup

- J422-045: Prefix completion doesn't work with one parameter functions
  Problem:    When completing a function with only one parameter, prefix
              notation does not work properly.
  Workaround: Manually complete the code.

- J422-030: Removed files not properly detected
  Problem:    A file removed outside GPS was not properly detected. Now a
              dialog is raised asking if a new empty file must be created
              or if the current buffer content is to be saved.
  Workaround: Delete the file from within GPS using the Project Explorer's
              contextual menu.

- J409-002: dispatching.py plugin loads too many ALI files
  Problem:    When it recomputes the list of dispatching calls, this plugin
              will in fact reload more .ali files than are really needed,
              thus slowing things down.
  Workaround: It might be faster if you use Build/Load Xref In Memory

- J406-019: Docgen does not see documentation of nested generics
  Problem:    In case of a nested generic package of subprogram, the GPS
              documentation generator won't interprete comments before the
              generic keyword as the construct's documentation.
  Workaround: Place the construct's documentation after the construct's
              definition

- J319-001: Continuing search after changing scenario finds wrong files
  Problem:    If you start a search in "Files From Project", but then change
              the scenario so that the list of source files changes (or their
              location), then pressing Next in the dialog might find matching
              text in a file that is no longer part of the project.
  Workaround: GPS will now automatically reset the current search, so that the
              Next button becomes Find. You can achieve the same result by
              modifying the search pattern after changing the scenario.

- J311-010: Mains not listed if number of projects exceeds 127
  Problem:    If the project tree contains 128 or more projects, the mains
              might not get listed in the Build->Project submenu.
  Workaround: Create custom build targets using the Target Configuration
              dialog (menu Build->Settings).

- J302-006: No completion for nested packages on use clauses
  Problem:    When completing a use clause, nested packages are not offered.
  Workaround: Manually complete the code.

- J223-019: Removing items from data window hides all
  Problem:    If you right click on an item in the debugger data window and
              select one of "Remove selected items" or "Remove unselected
              items", GPS will correctly remove them, but also makes the
              remaining items invisible.
              Also, clicking in the "info registers" window colors it in
              black instead of the selection color set in the preferences.
  Workaround: Press "Next" to continue the debugger session, the window will
              refresh automatically

- J212-018: Error when editing a project with indexed attributes assignments
  Problem:    When you are editing a project, GPS first tries to normalize
              it. This normalization fails if your project contains an
              assignment like
                 for Switches use Imported.Compiler'Switches;
              where the Switches attribute excepts an index in general but
              not is provided here.
  Workaround: Either rename directly the whole Compiler package, or specify
              the attribute for Switches, for instance
                 for Switches ("ada") use Imported.Compiler'Switches ("ada");

- J212-001: GPS fails to load icons when launched with relative path on unix
  Problem:    When running gps on unix systems with a relative path, e.g.
              ./gps/bin/gps
              GPS will fail to load some resources (e.g. icons).
  Workaround  Launch GPS with no path, or an absolute path.

- J209-021: GPS is slow when replacing many occurences from an editor
  Problem:    When a lot of occurences have to be replaced through a "replace
              all" from an editor, GPS may take a lot of time to perform the
              operation.
  Workaround: Do the replace operation when the editor is closed.

- IC01-004: Issues with project switching
  Problem:    When switching from a project A to a project B within GPS (for
              instance through the menu Project->Open...), GPS might be unable
              to load completely the new project B if it contains a scenario
              variable that has the same name as a variable in project A, but
              the value of that variable in project A is not a valid value in
              the context of project B.
  Workaround: Instead of switching within GPS, close GPS and re-open it on
              project B.

- IB06-021: No xref when Source_Dirs contains unresolved links
  Problem:    If you have used absolute paths in the name of source dirs for
              your project and these names include symbolic links, then GPS
              will not provide any cross-reference (no matter whether you
              use Fast Project Loading or not)
  Workaround: Use relative dirs if possible in project files

- IB05-015: Gnatcheck plugin issues in remote mode
  Problem:    When using the remote mode, GPS tries to spawn gnatcheck on the
              remote server without using the server's paths for both the
              project file and the optional source files.
  Workaround: Use gnatcheck locally.

- IA21-005: Key Shortcuts editor dialog is now clearer
  Problem:    When you press Grab in the key shortcuts editor, you are left
              with a busy cursor with no obvious indication that GPS is
              waiting for input.
  Workaround: Press the new shortcut you wish to assign.

- IA13-032: Source navigation in C/C++ in long paths
  Problem:    Under Windows, the C/C++ source navigation in GPS might not
              work when the project is located in a long path (around 100
              characters) and/or in a path that contains upper-case
              characters.
  Workaround: Move the project in a shorter path with lower-case characters.

- IA07-021: Unexpected scrolling in debugger data window
  Problem:    If you double-click in a box in the data window to display
              another box, an unexpected scrolling can occur.
  Workaround: If needed, scroll back to the location you want to see.

- I612-002: Name Parameters and dotted notation
  Problem:    When a primitive operation is called using the new Ada05
              dotted notation, the refactoring Name Parameter repeats the
              first parameter name (even though it is in fact given
              before the ".").
  Workaround: Change to standard call, do the renaming, and then back to
              the dotted notation.

- GA10-023: Completion problems with UTF-8
  Problem:    On certain cases, the smart complete action may not work on
              identifiers containing complex UTF-8 characters.
  Workaround: Manually fix the code.

