EiffelStudio 7.0 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.0.x Releases

7.0.8.8046 (November 28th 2011, Final Release)

Bug fixes

  • vision2: Fixed some descendants of EV_GRID_LABEL_ITEM to properly take into account the vertical alignment and the horizontal alignment of the text for the various activation.
  • curl: Ensured that the C compilation is done for the cURL C clibrary.
  • compiler: Made custom conditions in ECF case-insensitive to be in line with the processing of custom variables.
  • compiler: bug#17952 (test#assert005) - Disabled inlining for features that are known to fail because they always raise an exception and it's easier to raise and to track it without inlining given that the exception overhead is high enough anyway.
  • compiler: bug#17897 (test#anchor063), bug#17901 (test#anchor064) - Changed context of inherited assertion evaluation to use the one of the inherited assertion so that the types are evaluated correctly (this in particular affects qualified anchored types that involve formal generics that are no longer present in a descendant class).

User changes

  • library: Marked class BIT_REF as obsolete (this also makes type BIT obsolete).
  • library: Excluded class BIT_REF from the default setup of EiffelBase. In order to use type BIT one has to define a variable "USE_BIT".

7.0.8.7451 (October 11th 2011)

New features

Improvements

  • compiler: Avoided reporting errors related to variable initialization when the right-hand part of assignment to this variable causes an error.
  • compiler: Promoted keywords across and some from provisional syntax to the standard one.
  • compiler: Made class BIT_REF optional as soon as a BIT type is not used in a system.
  • studio: Replaced keyword completion for indexing with keyword completion for note.

Feature removed

Bug fixes

  • compiler: bug#16974 (test#term187) - Fixed a bug that caused a compiler crash on a particular kind of formal generic constraints.
  • compiler: bug#17057 (test#term190) - Fixed processing of invalid formal generic constraints that could potentially lead to a crash.
  • compiler: test#attach094 - Considered the case of reverse assignment to a target of a non-detached formal generic type as VJRV(3) violation because actual generic may be attached and reverse assignment to an attached target is not allowed.
  • compiler: test#term205 - Fixed a crash that might happen for anchored types involving inherited features.

User changes

  • compiler: Changed default options: default syntax is set to standard, attached-by-default is set to true unless specified otherwise.
  • studio: Moved attached-by-default option to Advanced section.

Developer changes

7.0.8.7345 (September 28th 2011)

New features

  • compiler: Supported development of incomplete void-safe classes (so called "design mode") by avoiding reporting void-safety errors for unreachable code, e.g. for the code after a call to a feature that never returns normally, say, to {EXCEPTIONS}.die. So a creation procedure that does not initialize attached attributes properly (because the corresponding effective classes are not available yet), can look like
make (...)
	do
		... -- Some attributes are not initialized.
		die (1) -- Compiler does not report VEVI errors.
	end
or
make (...)
	do
		... -- Some attributes are not initialized.
		check implemented: False then end -- Compiler does not report VEVI errors.
	end

Improvements

  • compiler: Enforced full class checking for void-safe classes.
  • compiler: Supported detection and report for the configuration error VD88 of void-safety mismatch when a descendant or a client have stricter void-safety setting than the corresponding ancestor or supplier.
  • compiler: Taken into account changes of class options when performing recompilation.
  • compiler: Added a new validity error VBAC(3) for assigner calls when the target is a stable query.
  • compiler: Supported an option "stable" for any feature, not only for an attribute.
  • compiler: Changed conditions under which VFAC(3) is reported to follow the recent modifications to the standard.
  • compiler: Supported detection and report of an error when a recently approved assignment validity rule VBAR(2) is violated.

Feature removed

Bug fixes

  • compiler: bug#11675, bug#15010 - Included location information in VTCT error and VTCM warning reports.
  • compiler: bug#15178 (test#incr303) - Fixed bug that caused incorrect VTEC(2) report during incremental recompilation.
  • compiler: bug#16942 (test#anchor046), bug#17815 (test#anchor062) - Fixed a crash caused by a combination of a qualified anchored type and its dependency on a formal generic constraint.
  • compiler: bug#17731 (test#scoop013) - Fixed error in C code generation for separate feature calls when inlining is enabled.
  • compiler: bug#17736 (test#vffd802) - Avoided reporting VFFD(8) for process-relative once procedures.
  • compiler: bug#17740 (test#scoop016) - Fixed error in C code generation for separate calls to attributes with zero offset.
  • compiler: bug#17743 (test#scoop017) - Provided code generation for separate feature calls to constant attributes.
  • compiler: bug#17748 (test#scoop018) - Fixed errors in code generation and run-time for manipulating possibly boxed values that might cause an executable to crash.
  • compiler: bug#17764 (test#attach087) - Considered like Current as attached regardless of is_attached_by_default option.
  • compiler: bug#17765 (test#attach089) - Prohibited assignment of Void to a variable of a reference formal generic type that has no detachable mark.
  • compiler: bug#17766 (test#attach088) - Supported attachment marks on the type NONE, including implicit setting via attached-by-default option.
  • compiler: bug#17778 (test#attach062) - Corrected checks for attachment status of variables to include not only a body of a loop, but also its invariant, variant and exit condition when a variable may be detached in the loop body.
  • compiler: bug#17779 (test#attach091) - Corrected conditions for which VFAC(3) is reported to follow the forthcoming modifications to the standard. Supported detection and report of an error when VBAC(3) introduced in the forthcoming version is violated.
  • compiler: bug#17806 (test#attach090) - Taken into account attachment status of like Current when checking for conformance.
  • compiler: test#attach092 - Corrected processing of self-initializing attributes to follow the standard rules.
  • compiler: test#attach093 - Ensured the bodies of self-initialized attributes are not considered as setting other attributes because their evaluation is optional and depends on whether the attributes were accessed before or not.
  • compiler: test#scoop020 - Taken separateness status into account when checking for formal generic type equality and conformance as well as when substituting actual generics.
  • base: bug#17806 - Made {LINKED_STACK}.duplicate void-safe.
  • time: test#term195, test#eiffelstore001 - Made a postcondition in {INTERVAL}.intersection void-safe.
  • vision2: bug#17806 - Made {EV_TABLE}.duplicate and {EV_DYNAMIC_LIST}.new_chain void-safe.
  • vision2: bug#17824 - Avoided VUTA(2) validity rule violation in {EV_GRID_ROW_I}.update_parent_expanded_node_counts_recursively.
  • base: Fixed issue with various routines of READABLE_STRING_xx which would not generate the correct result when used on IMMUTABLE_STRING_xx created via `shared_substring' with a lower index other than 1.

User changes

  • argument_parser: Made feature {ARGUMENT_BASE_PARSER}.copyright deferred.
  • vision2: Relaxed precondition on `set_focus' to let you set the focus even if the widget is not displayed. Note that in this case the `set_focus' call will have no effect. This is necessary because testing Vision2 code in a window less environment could violate the precondition and it would be rather expensive to change all callers of `set_focus' to check this all the time.

Developer changes