mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 23:32:42 +01:00
Author:manus
Date:2011-11-28T08:38:36.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1020 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -2,13 +2,36 @@
|
||||
[[Property:link_title|7.0]]
|
||||
[[Property:weight|13]]
|
||||
[[Property:uuid|0211321e-969d-04a4-66ee-2a6069836845]]
|
||||
|
||||
{{UnderConstruction}}
|
||||
|
||||
|
||||
==What's new==
|
||||
* 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 <e>{EXCEPTIONS}.die</e>. As a result it became possible to declare a creation procedure that does not initialize attached attributes properly (because the corresponding effective classes are not available yet), for example:
|
||||
<e>
|
||||
make (...)
|
||||
do
|
||||
... -- Some attributes are not initialized.
|
||||
die (1) -- Compiler does not report VEVI errors.
|
||||
end
|
||||
</e>
|
||||
:or
|
||||
<e>
|
||||
make (...)
|
||||
do
|
||||
... -- Some attributes are not initialized.
|
||||
check implemented: False then end -- Compiler does not report VEVI errors.
|
||||
end
|
||||
</e>
|
||||
|
||||
==Improvements==
|
||||
* Enforced full class checking for void-safe classes.
|
||||
* Disallowed void-safety mismatch when a descendant or a client have stricter void-safety setting than the corresponding ancestor or supplier.
|
||||
* Taken into account changes of class options when performing recompilation.
|
||||
* Changed processing of "stable" features to follow the recent modifications to the standard.
|
||||
* Avoided reporting errors related to variable initialization when the right-hand part of assignment to this variable causes an error.
|
||||
* Promoted keywords <e>across</e> and <e>some</e> from provisional syntax to the standard one.
|
||||
* Made class <e>BIT_REF</e> optional as soon as a <e>BIT</e> type is not used in a system (to be ready to drop support for <e>BIT</e> types in the next releases).
|
||||
* Replaced keyword completion for <e>indexing</e> with keyword completion for <e>note</e>.
|
||||
|
||||
==Changes==
|
||||
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
[[Property:link_title|7.0]]
|
||||
[[Property:weight|13]]
|
||||
[[Property:uuid|302c6dc1-3ed0-cc25-0ec8-851ead074caf]]
|
||||
{{UnderConstruction}}
|
||||
|
||||
==Graphical environment==
|
||||
|
||||
===What's new===
|
||||
@@ -15,11 +13,18 @@
|
||||
===Improvements===
|
||||
* Better integration to the latest Linux Desktop environments: Unity from Ubuntu and KDE 4.0.
|
||||
* SCOOP speed improvements.
|
||||
* Added support for .NET 4.0 runtime.
|
||||
|
||||
===Changes===
|
||||
* BIT type is now obsolete.
|
||||
* Location of precompiled libraries has been mode to a user specific directory that can be referenced via the $ISE_PRECOMP variable in your project configurations. This addresses some permission issues depending on how and under which user EiffelStudio was installed.
|
||||
|
||||
===Bug fixes===
|
||||
* Various bug fixes.
|
||||
* Fixed a display issue of Unicode characters when reporting an error. (bug#17661).
|
||||
* Fixed a pick and drop issue where it could be confused (e.g. select ARRAY in editor, switch to clickable format, try to pick various elements, it would always pick BOOLEAN instead) (bug#17666)
|
||||
* Fixed issue with pick and drop of a feature from an override class whose position is further away than the original class would not scroll to this feature (bug#17406).
|
||||
* Fixed some issues of window positioning when using EiffelStudio with multiple monitors.
|
||||
* Fixed a case where you could have 2 editor panes open on the same class.
|
||||
|
||||
==Compiler==
|
||||
* Click [[Major changes between ISE Eiffel 6.8 and ISE Eiffel 7.0|here]] for the compiler release notes.
|
||||
@@ -33,8 +38,16 @@
|
||||
==Libraries==
|
||||
|
||||
===EiffelBase===
|
||||
* Prevented creation of instances of PROCEDURE, FUNCTION, and PREDICATE using a creation instruction. An agent has to be created via the agent expression provided at the language level.
|
||||
* Fixed a potential reporting of version mismatch when there is a mismatch but actually no version changes.
|
||||
* Added TABLE_ITERATOR and TABLE_ITERATION_CURSOR to provide a common way for TABLE like datastructure to iterate over using the new across loop.
|
||||
* Improved speed of `replace_substring_all' when replacing a smaller string by a larger one.
|
||||
* Added support for string searches of a STRING_32 string (previously it was limited to STRING_8).
|
||||
* Fixed {IMMUTABLE_STRING_XX}.shared_substring which would not be properly processed by many string operations (e.g. item, item_code, code, ...)
|
||||
* Changed the behavior of {STRING_XX}.twin to create a new string where the capacity is set to the count of the twined strings and not to its capacity. In scenarios where a large buffer is used but a frequent twin is used it has a big impact on speed and memory usage.
|
||||
* Fixed an issue with {FILE}.read_to_string which would not change the hash_code of the string given as argument.
|
||||
* Improved speed of HASH_TABLE lookups.
|
||||
* Added {POINTER}.is_default_pointer
|
||||
|
||||
===EiffelVision2===
|
||||
* [[Revisions and Bug Fixes|Click here for EiffelVision2 release notes.]]
|
||||
|
||||
Reference in New Issue
Block a user