EiffelStudio 6.4 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 6.4.x Releases
6.4.x
Placeholder for new stuff since last intermediate release.
New features
- compiler: for enhanced backward compatibility with 6.3, estudio and ec/ecb have a new command line option `-compat' to launch EiffelStudio or the command line compiler with compilation settings compatible with those of 6.3.
Improvements
Feature removed
Bug fixes
- compiler: Fixed eweasel test#attach042 and test#attach043 where type of agent was incorrect when target was of type `like Current' or when the routine had no open arguments, in both cases the compiler generated detachable types when attached were expected.
User changes
Developer changes
6.4.7.6833 (January 26th 2008)
New features
Improvements
- wel: now void-safe
- lex: now void-safe
- encoding: now void-safe
- process: now void-safe
- time: added void-safe sample
Feature removed
Bug fixes
- studio: Fixed bug#15253 where editor is missing from docking layout.
- compiler: Fixed bug#15266 where we incorrectly merged the code value for {IO_EXCEPTION} and {RUNTIME_IO_EXCEPTION} thus breaking existing code not based on Eiffel exception object.
User changes
Developer changes
6.4.7.6747 (January 19th 2009)
New features
Improvements
- base: Updated the IMMUTABLE_STRING classes to have an efficient string extraction query `shared_substring' which will let you create a substring of an existing immutable string without actually duplicating the data.
- studio: Added option in the new library dialog to show only void-safe libraries, for void-safe projects.
Feature removed
Bug fixes
- compiler: Fixed a bug with pre/post actions which were always executed regardless of the specified condition.
- runtime: Fixed eweasel test#store020 where our recoverable store mechanism could not retrieve an object if it was generic and using a formal as actual generic parameter in a generic derivation using an expanded type. This is because in 6.2, we decided not to perform the instantiation of the attribute as it was not working properly when generic derivation is a generic expanded type. For the time being, if there is a mismatch where expected type is a FORMAL_TYPE, we try to instantiate it in the current processed type and if there is a match then we know it is ok, otherwise we reject the code. This also fixes bug#15256.
- runtime: Fixed eweasel test#store019 where using the SED facilities to store/retrieve attributes which are attached would fail.
User changes
Developer changes
6.4.7.6645 (January 12th 2008)
New features
- studio: Added compile_all, syntax_updater and Eiffel image embedder tool to the EiffelStudio delivery. They are located under $ISE_EIFFEL/tools/spec/$ISE_PLATFORM/bin.
Improvements
Feature removed
Bug fixes
- compiler: Fixed bug#15235 where some C compilers do not like that we generate a C array of size 0.
- compiler: Fixed correctly location reporting of error classes, using the location where the code is written which differs from the current class being analyzed.
- compiler: Fixed bug#15139 by checking when parts of a multi-branch conditional instruction even when the inspect expression does not type check (see test#valid228).
- compiler: Fixed test#attach039 by using written class when evaluating precursor features as the current feature may be inherited.
- compiler: Fixed bug#15144 by checking that a self-initializing attribute is not processed recursively (see test#term169).
- compiler: Fixed bug#15129 by using a mixed routine-attribute table for attributes that may be self-initializing (see test#final072).
- studio: Fixed issue bug#15222 to respected existing note clause tags and values.
- finish_freezing: Fixed typo reported in bug#15239.
- net: Move definition of FD_SETSIZE before using the Windows header files so that we can really listen on 256 descriptors (breaking change introduced in the IPv6 version which is now the official).
User changes
Developer changes
6.4.7.6592 (January 5th 2009)
New features
Improvements
- studio: Automatic class licenser now preserves all other note clause terms when replacing a license in the class text.
Feature removed
Bug fixes
- studio: Fixed reporting of feature errors to report the correct class name when referring to parent class errors.
User changes
- net: The IPv6 version of the EiffelNet library is now the official one. The old one has been moved in the obsolete cluster.
- compiler: The compiler now accepts
attribute
andnote
as keyword by default. - argument parser: The argument parser library introduces some breaking changes in deferred feature signatures due to the conversion to Void-Safe.
Developer changes
6.4.7.6402 (December 27th 2008)
New features
Improvements
- compiler: speed up degree 6 by not looking at the content of all .e files to figure out the associated class name. We now assume on the first pass that the file name is the class name. On EiffelStudio, if none of the file were buffered, we went from about 1 minute spent to just less than 3 seconds. The improvement should be even more when classes are on a remote drive.
Feature removed
Bug fixes
- compiler: Fixed missing detection of VRFT errors in cases like "
a: TUPLE [a: TUPLE [out: INTEGER]]
". Fixes eweasel test#exec293. - compiler: Fixed catcall checker crashing when enabled. Fixes eweasel test#term166.
- runtime: Fixed eweasel test#exec293 where accessing labels of a Void tuple would not cause a call on Void target exception.
User changes
- compiler: now the compiler does not produce the class progress output in batch mode. If you want the old behavior, you have to use -verbose option.
Developer changes
6.4.7.6313 (December 22nd 2008)
New features
- base: Added `same_keys' to HASH_TABLE. You can redefine this feature to use a different comparison criterion for the keys.
Improvements
- compiler: Improved implementation of ~ and expanded comparison to use `is_equal' directly rather than using `equal'.
Feature removed
Bug fixes
- compiler: Fixed eweasel test#exec292 where type of inherited formals where incorrectly interpreted in descendants.
- base: Fixed a bug that would not recognize a class name A_SOMETHING as a valid identifier for INTERNAL.
- studio: New library dialog now correctly sorts the contents base on the library name and not the path.
- studio: Fixed bug#15173: EiffelStudio crash when selecting library
- runtime: Fixed eweasel test#runtime010 where certain allocation patterns could cause a major slow down during a garbage collection cycle.
User changes
- base: We do not use
is_equal
in EiffelBase, but instead the ~ operator. This could break some of your code, especially with HASH_TABLE.
Developer changes
6.4.76164 (December 15th 2008)
New features
- studio: In-grid-item selection in Error List tool.
- editor: Customizing some editor attributes, fonts, line height and etc., per instance.
Improvements
Feature removed
Bug fixes
- studio: Fixed bug#14237 where some manipulations on the UI could corrupt the EiffelStudio docking layout.
- studio: Fixed bug#12453 where VYCQ error would print the feature name in blue rather than in green.
- studio: Added a protection for bug#15116 where we could still try to access `content' while EiffelStudio has already destroyed the panel.
- compiler: Fixed eweasel test#multicon050 where compiler did not handle renaming of a routine with an alias into a routine without one as it still thought the alias was available.
- compiler: Added printing of referenced configuration file in which there is a conflict. This fixes bug#15099.
- compiler: Fixed an incorrect VUTA(2) error being reported when compiling a static access call in void-safe mode. This fixes eweasel test#valid223.
- compiler: Fixed an incrementality corruption (bug#15061 and eweasel test#incr296) which would occur a feature has an invalid signature for one failed compilation before it is fixed again.
- compiler: Fixed bug#15027 where if you have a class which was originally only in an override cluster and then keep it in the override cluster but also now in a normal cluster, then we would not remove the compiled information from the override cluster which would cause in a later compilation the class to be forcibly removed from the system even though it is still in use.
User changes
- base: it is now using the new alias syntax for operators instead of obsolete syntax based on `infix/prefix' keywords. As a result some of your code may not compile.