| Online Eiffel Documentation

EiffelStudio

# Release notes for EiffelStudio 5.2

## Graphical environment

- Added a status bar, which gives a lot of information, such as the state of the compilation or the name of the current project.
- Clicking feature clauses in the feature tree now centers the editor on the selected feature clause.
- More specific icons in the feature and cluster trees, so that identifying deferred classes and the nature of features is now straightforward.
- Up to 10 external commands can now be defined and called from the Tools menu.
- The new Quick compile command lets you recompile only the classes that have been edited in EiffelStudio, skipping the sometimes tedious degree 6, that looks for modified classes.
- Control picking now has a configurable effect.
- More improvements in usability and bug fixes.

## Compiler

- Click here for more details on compiler improvements and full Eiffel support on .NET

## Debugger

- Right-clicking on one of the run buttons will pop up a dialog enabling you to choose the command line argument (it is a shortcut for `Project Settings'-> Debug tab).
- Expressions can now be dynamically evaluated in the debugger. (info)
- Conditional breakpoints. (info)
- Classes can now define debug_output , a feature inherited from DEBUG_OUTPUT , whose string result is automatically displayed in the debugger for all objects of that type. (info)
- Possible stack overflows can now be detected in the debugger before they occur. (info)

## Libraries

### EiffelBase

- Improved speed of search operations in ARRAYED_LIST and HASH_TABLE .
- Reduced number of exported features in TUPLE .
- Updated INTERNAL and TUPLE to accept INTEGER_XX based queries/commands.
- STRING changes:
  - Fixed is_integer to return False for strings of the form "(-|+)[a-zA-Z]+[0-9]*)"
  - Improved speed of to_lower and to_upper .
  - Updated for ELKS 2001 conformance:
    - Changed signature of out and replace_substring to use STRING instead of `like Current'.
    - Added keep_tail , keep_head , remove_tail , remove_head and make head and tail obsolete.
    - Added string , same_string , has_substring , fill_with , insert_string , insert_character , as_lower , as_upper .
    - Modified make_from_string so that no sharing of internal string is done.
    - Made remake , replace_character and insert obsolete.

### EiffelThread

- Fixed crashes when using join or terminated from THREAD_CONTROL .

### EiffelTime

- Rewritten so that no additional C libraries is needed. Therefore you have to update your project configuration files to reflect this change, i.e. removing the include directory and the object file of the old EiffelTime library.

### EiffelVision2

- Click here to see list of update and modification to Eiffel Vision2.

### WEL

- Changed type of non-exported feature internal_data of WEL_WINDOW from INTEGER to POINTER .
- Fixed a GDI memory leak when creating/releasing instances of descendant of WEL_CONTROL .

## Patch releases

### Version 5.2.1402:

- Put Windows and Unix version to the same version number.
- Fixed EiffelWeb documentation and example.
- Fixed minor issues found with EiffelVision2 on Unix and Windows which were affecting EiffelBuild.
- Fixed incorrect configuration file specification for EiffelVision2 examples and wizards on Unix platforms where application could be linked dynamically with `libpng' but should not.
- Fixed EiffelStore handle for Oracle so that it works fine when compiled with the Borland C compiler.
- Fixed incorrect version number in VERSION file on Unix platforms.

### Version 5.2.1313:

- Fixed resource leak on Windows 98 and Windows Me.
- Fixed incorrect implementation of area and substring for STRING in dotnet mode.
- Fixed issue with setting of arguments. After restarting EiffelStudio the command line argument contains an extra `]' character.
- Fixed issue with working directories where only the first one ever set was used even if new ones have been set afterwards.
- Fixed issue in IL code generation where having a class that inherits from a non-Eiffel .NET class. And the class has the following features:

      a: ARRAY [like f]
      f: STRING is
      	do
      	end

  Then you could neither load nor execute the generated code.

- Fixed issue with incorrect C code generation of inspect instruction based on character values above 128.
- Fixed bug in copy from STRING where following code was violating valid_count invariant from STRING :

      local
      	s, t: STRING
      do
      	create s.make (9)
      	create t.make (10)
      	t.append ("1234567890")
      	s.copy (t)
      end

- Fixed incorrect C file naming when generating a .NET system that uses a C++ external (it should be .cpp, not just .c).
- Enabled support for Borland C compiler in .NET.
- Fixed issue where generating documentation for all/library cluster would stop during generation without completing.
- Fixed crash in diagram tool when moving label on client/supplier link between two classes.

### Version 5.2.1123:

- Fixed issue when inheriting a .NET class that has some static constants defined.

### Version 5.2.1122:

- Fixed issue when opening the about dialog of EiffelStudio.
- Enabled EiffelStudio for all users on a machine, not just for the one installing EiffelStudio.

### Version 5.2.1118:

- First initial release of EiffelStudio 5.2

Click here to check out what was new in other versions