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.


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


  • 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 )



  • 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.


  • Fixed crashes when using join or terminated from THREAD_CONTROL .


  • 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.



  • 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