Release notes for EiffelStudio 7.2

Graphical environment

What's new

  • Added support for handling Unicode file names, environment variables, command line arguments and exception messages to your applications while preserving backward compatibility for existing code.

Improvements

  • Usability improvements in the Eiffel Information System:
    • Find elements in deeper levels of referenced libraries
    • Try to locate links even if no system or cluster is specified
    • Better error messages
  • Allowed refactoring tool to rename a feature or a class by reusing an existing name.
  • Added support of class text containing Unicode characters when prettifying code.

Changes

  • To support Unicode file names a new class PATH was added, and most libraries using a string to represent a file name have been updated to also take a PATH instance as argument.

Bug fixes

  • Fixed a crash during debugging that would cause an exception in {ES_OBJECTS_TOOL_PANEL}.real_update.
  • Fixed a crash while trying to import preferences and no project was loaded yet.

Compiler

  • Click here for the compiler release notes.

Libraries

EiffelBase

  • Added new PATH class to represent a Unicode path. In addition it offers many features to compose or decompose a path in multiple components.
  • STRING:
    • Migrated many queries only found in STRING_8 or STRING_32 into parent class READABLE_STRING_GENERAL, for example: has, item, index_of, last_index_of, ...
    • Added prepend_substring and append_substring for efficient insertion of substrings.
    • Replaced commands tail and head (which have been obsolete since 2001) with queries creating a copy of the current string with characters removed at the beginning or at the end.
    • Added caseless comparison of Unicode strings.
  • Added new REPEATABLE class.
  • Added is_first and is_last queries to iterators.
  • Fixed bug#18272 where {MANAGED_POINTER}.copy did not properly set count and thus yielded a postcondition violation when duplicating an instance.
  • Added new ARGUMENTS_32 class to handle Unicode arguments.
  • Added new UTF_CONVERTER class to handle various Unicode encoding conversions.
  • Changed definition of {DEBUG_OUTPUT}.debug_output to be READABLE_STRING_GENERAL, so that Unicode characters in the string representation of an object can be displayed in the EiffelStudio debugger.
  • Fixed an issue with `incorrect_mismatch' when it was applied to a HASH_TABLE whose keys are expanded but do not have a default value: the retrieved HASH_TABLE had one more item than the original one. It should fix eweasel test#table013.

EiffelStore

  • Added support for Unicode SQL queries.
  • Added support for immutable strings.
  • Fixed an issue where passing a DECIMAL as an argument of a procedure did not set the scale (thus storing 1.00 when 100.00 was expected).
  • Added ability to perform a sequence of database select/update/delete as a transaction.
  • Fixed some limitations on the length of columns, errors and warnings.

EiffelVision2

WEL

  • Added support for Unicode file names.
  • Added support for properly handling UTF-16 surrogate pairs.
  • Fixed a bug in WEL_FONT for the computation of the size of a string that could cause string access on an invalid index; and removed unused calculations.
  • Fixed a bug in WEL_GDIP_METAFILE that would cause a C compilation error when compiled using GCC.

Click here to check out what was new in other versions