EiffelStudio 7.1 Releases

Below are not the release notes of EiffelStudio. It is the change log of EiffelStudio intermediate releases and the most important changes are highlighted in green or in red (for breaking changes). The release notes of EiffelStudio can be found at the following URL. You can also download the latest revision here. Information about other version can be found under Category:Releases.

EiffelStudio 7.1.x Releases (26 June 2012)

New features


  • compiler: bug#17591, bug#17662 (test#pretty028) - Improved formatting of comments delimited with blank lines.
  • vision2: one can now provide a hint of the size of the dropdown list of the combobox. The hint is currently only effective on Windows.
  • vision2: Improved the default size of the dropdown list of a combobox so that all the text can be visible.
  • compiler: test#valid275 - Reduced the number of cases when VWEQ warning is reported, in particular by limiting it to the immediate code only.
  • compiler: test#tilde002 - Optimized code generation for the equality test that involves two values of different expanded types.
  • compiler: bug#15145 (test#exec296) - Supported detection and warning report with code VWAB for useless bodies of attributes that are never executed because the types of the attributes are self-initialized (expanded or detachable).
  • library: test#array009 - Relaxed a precondition of {ARRAY}.force that was too restrictive for elements of an attached type.
  • library, example: Removed assignment attempt from the most part of the source code because this instruction is now obsolete.
  • compiler: Relaxed the rule VD88 to report void-safety mismatch between client and supplier as a warning rather than an error when complete void safety is not requested.

Feature removed

  • compiler: test#vwmq001 - Disabled type qualifier in the manifest constant used to declare a constant attribute because the type is already specified in the feature header.

Bug fixes

  • compiler: bug#15147 (test#term168) - Fixed compiler crash caused by inline agents with the body in the form of an attribute.
  • compiler: bug#15450, bug#18098 (test#melt088) - Corrected error in melted byte code generation for constant attributes of type CHARACTER_32 that could lead to a wrong value at run-time.
  • compiler: bug#17590 - Added type conversion to avoid C compiler warnings in some SCOOP macros.
  • compiler: bug#17987 (test#incr421) - Applied application options to library classes during recompilation when required.
  • compiler: bug#18045 (test#vwmq001) - Added detection and error report of VWMQ violation for manifest string constants with type qualifiers other STRING_8 and STRING_32.
  • compiler: bug#18047 (test#valid274) - Avoided duplication of VFAC(1) error report.
  • compiler: bug#18067 (test#attach096) - Reported VEVI error if an unqualified agent is created when not all the attributes are properly set.
  • compiler: test#replication008 - Ensured that replication information is preserved when feature is undefined in a descendant class so that inherited assertions are generated correctly.
  • compiler: test#replication009 - Avoided a crash when processing inherited preconditions of a replicated feature.
  • compiler: test#exec338 - Fixed code generation for equality tests that involve different basic types resulted from formal generic parameter substitutions.
  • compiler: test#scoop024 - Fixed processing of multi-dot call chain that involves separate target, so that subsequent calls are generated as separate rather than normal ones even in the case when return type is not separate.
  • compiler: test#syntax045 - Fixed a bug that leaved '%R' when parsing a verbatim string with an empty first line.
  • base: bug#18153 (test#string001) - Corrected the implementation of {STRING_32}.left_adjust that did not work properly when the string contained only white spaces.
  • base: Fixed improper definition of `copy' in UNIX_FILE_INFO and BOOL_STRING which caused `twin' to not actually duplicate the object since the internal storage SPECIAL was shared between the old and new object obtained via `twin'.
  • compiler: test#dotnet113 - Corrected code generation for object tests when the target type is a basic one and the expression gives a boxed value of the primitive type.

User changes

  • compiler: review#7289252 (test#replication009) - Enabled system freeze for precompiled library when all classes are requested to be compiled.
  • thread: made the EiffelThread library compliant with SCOOP. This required adding a creation procedure `make' to the THREAD class to initialize some internal changes to avoid a thread object from being launched in various threads. If your code inherit from THREAD, you now have to call `make' otherwise you will either get a compilation error in void-safe mode, or a call on void-target in non-void-safe mode when trying to launch a thread.
  • compiler: Marked assignment attempt symbol ?= as obsolete for all syntax variants except for the obsolete one.
  • vision2: Made sure on Windows that pressing the return key in a text field or spin button does not change the caret position.

Developer changes