Difference between revisions of "EiffelStudio 18.01 Releases"

m (Improvements: Listed a test in the note on supporting Unicode white spaces.)
m (Bug fixes: Added a note on fixing test#valid294.)
Line 28: Line 28:
 
*EiffelStudio: Changed sorting of error messages by position to use ordering by number values rather than by their textual representation.
 
*EiffelStudio: Changed sorting of error messages by position to use ordering by number values rather than by their textual representation.
 
*EiffelStudio: test#codeanalysis026 - avoided spurious code analyzer message CA050 when a local is used only to initialize Result, but the local type is different from the type of Result: if the types are different (modulo attachment marks), the issue is not reported.
 
*EiffelStudio: test#codeanalysis026 - avoided spurious code analyzer message CA050 when a local is used only to initialize Result, but the local type is different from the type of Result: if the types are different (modulo attachment marks), the issue is not reported.
 +
*compiler: test#valid294 - Fixed bugs when the name of an existing entity could be used in a nested scope for an inline separate local, an object test local, an iteration cursor, an inline agent argument or an inline agent local.
  
 
===User changes===
 
===User changes===

Revision as of 04:35, 28 August 2017

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 17.11.x Releases

Beta download: https://ftp.eiffel.com/pub/beta/17.11/

17.11.x.x

New features

  • EiffelStudio: Added commands (available in the IDE as menu entries and toolbar buttons) to launch code analysis on a class in the current editor window, on a previously analyzed item, on a parent cluster of a selected item, on a currently selected target. The results of the analysis go to the error list similar to compilation results.
  • compiler: Supported typed manifest arrays of the form {ARRAY [FOO]} <<bar, qux>> that allow for explicit specification on the array type (see more at eiffel.org).
  • compiler: Changed how a type of a manifest array is computed when no explicit type is specified, it no longer depends on the type of the target of a reattachment where the array is used as a source (see more at eiffel.org).

Improvements

  • EiffelStudio: Used colored background in error list to distinguish between different kinds of messages: error, warning, hint, success. The color can be set in the preferences.
  • EiffelStudio: Moved error code in the error list to a dedicated column.
  • EiffelStudio: Supported filtering of error messages by free text.
  • library (Base): Updated CHARACTER_PROPERTIES to use Unicode 10.0.0 instead of 6.2.0.
  • compiler: test#bench021 - Optimized code generation for old expressions when they are known to not raise an exception.
  • compiler: test#unicode007 - Supported Unicode white space characters in source code as token delimiters. This might be useful when copying code from the internet where some servers/browsers replace ASCII white space and tab characters with no-break spaces.

Feature removed

Bug fixes

  • compiler: test#exec091 - Fixed code generation and run-time to make sure class invariant checks on expanded objects are done only after creation procedure is executed and only once.
  • compiler: test#exec370 - Fixed a bug that might cause a crash of a program because of incorrect code generation for conditional expressions involving values of reference and expanded types (e.g., if foo then "bar" else 5 end).
  • library (Base): test#lib046 - Fixed an bug when argument 0 (program name) returned by ARGUMENTS_32 started with a white space.
  • EiffelStudio: Changed sorting of error messages by position to use ordering by number values rather than by their textual representation.
  • EiffelStudio: test#codeanalysis026 - avoided spurious code analyzer message CA050 when a local is used only to initialize Result, but the local type is different from the type of Result: if the types are different (modulo attachment marks), the issue is not reported.
  • compiler: test#valid294 - Fixed bugs when the name of an existing entity could be used in a nested scope for an inline separate local, an object test local, an iteration cursor, an inline agent argument or an inline agent local.

User changes

  • compiler: Changed an algorithm to compute a type of a conditional expression, now it does not depend on the order of expressions used in the branches, and always exists, i.e. there is no VWCE error anymore (more details are available at eiffel.org).
  • compiler: Added a warning reported when a manifest array type is computed using a target type of the reattachment the array is involved in as a source. The warning can be disabled in the project settings during the first year after the release, cannot be disabled afterwards, and becomes an error after 1.5 year after the release.
  • EiffelStudio: Disallowed application of automatic fixes to modified classes (changed either by external tools or in the editor). The project needs to be recompiled to apply the fixes. Application of several fixes to the same class is possible in one go.

Developer changes