Difference between revisions of "EiffelStudio 7.1 Releases"
(→User changes) |
(7.1 Release) |
||
(17 intermediate revisions by 2 users not shown) | |||
Line 3: | Line 3: | ||
= EiffelStudio 7.1.x Releases= | = EiffelStudio 7.1.x Releases= | ||
− | ==7.1. | + | ==7.1.8.8986 (26 June 2012)== |
===New features=== | ===New features=== | ||
===Improvements=== | ===Improvements=== | ||
Line 9: | Line 9: | ||
* 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: 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. | * vision2: Improved the default size of the dropdown list of a combobox so that all the text can be visible. | ||
− | * compiler: test#valid275 | + | * compiler: test#valid275 - Reduced the number of cases when <code>VWEQ</code> warning is reported, in particular by limiting it to the immediate code only. |
− | * compiler: test#tilde002 | + | * 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 <code>VWAB</code> 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 <e>{ARRAY}.force</e> 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 <code>VD88</code> 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=== | ===Feature removed=== | ||
Line 16: | Line 20: | ||
===Bug fixes=== | ===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 <e>CHARACTER_32</e> 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#17987 (test#incr421) - Applied application options to library classes during recompilation when required. | ||
* compiler: bug#18045 (test#vwmq001) - Added detection and error report of <code>VWMQ</code> violation for manifest string constants with type qualifiers other <e>STRING_8</e> and <e>STRING_32</e>. | * compiler: bug#18045 (test#vwmq001) - Added detection and error report of <code>VWMQ</code> violation for manifest string constants with type qualifiers other <e>STRING_8</e> and <e>STRING_32</e>. | ||
* compiler: bug#18047 (test#valid274) - Avoided duplication of <code>VFAC(1)</code> error report. | * compiler: bug#18047 (test#valid274) - Avoided duplication of <code>VFAC(1)</code> error report. | ||
* compiler: bug#18067 (test#attach096) - Reported <code>VEVI</code> error if an unqualified agent is created when not all the attributes are properly set. | * compiler: bug#18067 (test#attach096) - Reported <code>VEVI</code> error if an unqualified agent is created when not all the attributes are properly set. | ||
− | * compiler: test#replication008 | + | * 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 | + | * compiler: test#replication009 - Avoided a crash when processing inherited preconditions of a replicated feature. |
− | * compiler: test#exec338 | + | * 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 <e>'%R'</e> when parsing a verbatim string with an empty first line. | ||
+ | * base: bug#18153 (test#string001) - Corrected the implementation of <e>{STRING_32}.left_adjust</e> 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=== | ===User changes=== | ||
* compiler: review#7289252 (test#replication009) - Enabled system freeze for precompiled library when all classes are requested to be compiled. | * compiler: review#7289252 (test#replication009) - Enabled system freeze for precompiled library when all classes are requested to be compiled. | ||
* {{Red|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.}} | * {{Red|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 <e>?=</e> 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=== | ===Developer changes=== |
Latest revision as of 10:35, 25 June 2012
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
7.1.8.8986 (26 June 2012)
New features
Improvements
- 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 otherSTRING_8
andSTRING_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.