Author:manus

Date:2013-11-29T06:13:44.000000Z


git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1238 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
manus
2013-11-29 06:13:44 +00:00
parent 82736823da
commit 005ebfa780
2 changed files with 35 additions and 4 deletions

View File

@@ -7,13 +7,15 @@
* Supported new rules to handle actual arguments in a feature call that wrap last arguments into a tuple when: * Supported new rules to handle actual arguments in a feature call that wrap last arguments into a tuple when:
** the number of actual arguments exceeds the number of formal arguments ** the number of actual arguments exceeds the number of formal arguments
** the number of actual arguments is equal to the number of formal arguments, but the last actual argument is not type-compatible with the last formal argument unless wrapped in a tuple. ** the number of actual arguments is equal to the number of formal arguments, but the last actual argument is not type-compatible with the last formal argument unless wrapped in a tuple.
: This is mostly useful to make calls on agent objects avoiding explicit manifest tuple notation. For example, <e>my_agent.call ([123, "abc", value])</e> can be written as <e>my_agent.call (123, "abc", value)</e>, or, when combined with parenthesis alias, as <e>my_agent (123, "abc", value)</e>. :: This is mostly useful to make calls on agent objects avoiding explicit manifest tuple notation. For example, <e>my_agent.call ([123, "abc", value])</e> can be written as <e>my_agent.call (123, "abc", value)</e>, or, when combined with parenthesis alias, as <e>my_agent (123, "abc", value)</e>.
* Supported conditional expressions that allow using different expressions to compute a value depending on some condition: <e>if x < y and x < z then x elseif y < z then y else z end</e>. * Supported conditional expressions that allow using different expressions to compute a value depending on some condition: <e>if x < y and x < z then x elseif y < z then y else z end</e>.
* ECF redirection support to provide a way to create redirection from a .ECF to another. * ECF redirection support to provide a way to create redirection from a .ECF to another.
* Added VD89 warnings to highlight library dependency cycles.
==Improvements== ==Improvements==
* Added support for Sun C compiler on Linux for RHEL, OL and Ubuntu 8.04. Other Linux distributions are not supported. * Added support for Sun C compiler on Linux for RHEL, OL and Ubuntu 8.04. Other Linux distributions are not supported.
* Speed up SCOOP by an average of 35% up to 500% on some benchmarks. * Speed up SCOOP by an average of 35% up to 500% on some benchmarks:
** Added various optimizations to reduce massive latency over call logging and waiting due to overhead from operating system synchronization primitives and scoop call cleanup. Improved lock passing client supplier synchronization speed by a factor of 60 due to removing latency from condition variable use.
==Changes== ==Changes==
@@ -31,6 +33,8 @@
===SCOOP issues=== ===SCOOP issues===
* Fixed a crash when a separate detachable argument is Void (test#scoop035), * Fixed a crash when a separate detachable argument is Void (test#scoop035),
* Fixed lock passing creation of separate processor from non root processors.
* Fixed uncontrolled detection to iterate parent request chains. Prior to this a new chain would be created even though the processor was controlled in a parent routine, leading to inevitable deadlock.
===Runtime/code generation issues=== ===Runtime/code generation issues===

View File

@@ -7,14 +7,19 @@
===What's new=== ===What's new===
* Eiffel Information System links and other type of links are now clickable in the editor. * Eiffel Information System links and other type of links are now clickable in the editor.
* Editor shows both the Unix style or Windows style for new lines. * Editor shows both the Unix style or Windows style for new lines.
* Added wrapper for the ZeroMQ messaging library.
* Added ABEL, an object persistent layer on top of in-memory or relational databases.
* Added support for Sun C compiler on Linux for RHEL, OL and Ubuntu 8.04. Other Linux distributions are not supported.
===Improvements=== ===Improvements===
* Improved debug tooltip for nested feature call evaluation. * Improved debug tooltip for nested feature call evaluation.
* Improved completion window/tooltip positioning with respect to monitor coordinates and multiple displays. * Improved completion window/tooltip positioning with respect to monitor coordinates and multiple displays.
* Improved command line behavior of running tests to automatically perform the necessary compilation steps to test compiled system. * Improved command line behavior of running tests to automatically perform the necessary compilation steps to test compiled system.
* Completion and pick and drops will now work more reliably reliably after many edits. * Completion and pick and drops will now work more reliably reliably after many edits.
* Added void-safe version of Gobo, only arguments, test, tools and XML are not yet void-safe.
===Changes=== ===Changes===
* When a Unicode character as an ASCII equivalent we will not silently convert it to the ASCII equivalent.
===Bug fixes=== ===Bug fixes===
* Fixed "Evaluator Died" error when running tests in AutoTest when using certain combinations of root class and creation procedure. * Fixed "Evaluator Died" error when running tests in AutoTest when using certain combinations of root class and creation procedure.
@@ -29,6 +34,7 @@
* Click [[Major changes between ISE Eiffel 7.3 and ISE Eiffel 13.11|here]] for the compiler release notes. * Click [[Major changes between ISE Eiffel 7.3 and ISE Eiffel 13.11|here]] for the compiler release notes.
==Debugger== ==Debugger==
N/A
==EiffelBuild== ==EiffelBuild==
* Click [[EiffelBuild Version History|here]] for the EiffelBuild release notes. * Click [[EiffelBuild Version History|here]] for the EiffelBuild release notes.
@@ -36,14 +42,35 @@
==Libraries== ==Libraries==
===EiffelBase=== ===EiffelBase===
===EiffelStore=== * Added parenthesis aliases for <e>PROCEDURE.call</e> and <e>FUNCTION.item</e> so that the calls to agents <e>foo.call (1, 2, 3)</e> and <e>x := bar.item ("qux")</e> can be replaced with <e>foo (1, 2, 3)</e> and <e>x := bar ("qux")</e>.
* Made <e>TUPLE</e> an iterable structure.
* Added <e>{TUPLE}.plus</e> which will concatenate 2 tuples.
* Fixed typo in <e>{TUPLE}.is_uniform_character_32</e>
* Added features <e>{TYPE}.is_conforming_to</e> and <e>{TYPE}.is_strictly_conforming_to</e> as implementations of the comparison queries from <e>PART_COMPARABLE</e> to support partial order on type objects (rev#92913).
* Added functions <e>{TUPLE}.new_tuple_from_special</e> and <e>{TUPLE}.new_tuple_from_tuple</e> to create a tuple of a specified type filled with given values (rev#92917).
* Added features <e>{ROUTINE}.flexible_call</e> and <e>{FUNCTION}.flexible_item</e> that accept argument tuples whose type should not exactly match the type of the routine as soon as the types of arguments match (rev#92918).
* Marked <e>{ROUTINE}.empty_operands</e> as obsolete to be ready for removal in the future as non-void-safe (rev#92918).
* In <e>HASH_TABLE</e>, in the event of a mismatch, it is possible that the value of `control' was invalid (see bug#18670) so we reset it to 0.
* Introspection changes in <e>OBJECT_GRAPH_TRAVERSABLE</e>:
**Rewrote <e>traverse</e> to fix an issue with objects with expanded fields where we would not recurse into them. Added support for <e>SPECIAL</e> of expanded as well. We still have restrictions for <e>TUPLE</e> with expanded for which a copy be done.
** Added new callbacks <e>on_processing_object_action</e> and <e>on_processing_reference_action</e> each time a new object is traversed, that help building a graph of objects.
** Added <e>has_failed</e> to find if the traversal succeeded or not.
** Added the ability to trigger or not an exception when a copy of an expanded object is done when we do not want any. Also we let user choose if exceptions will be raised to callers.
===EiffelVision2=== ===EiffelVision2===
* [[Revisions and Bug Fixes|Click here for EiffelVision2 release notes.]] * [[Revisions and Bug Fixes|Click here for EiffelVision2 release notes.]]
===Eiffel Editor === ===Eiffel Editor ===
* Stop translating %R%N into %N on input, we now keep the original text to ensure positioning information can be easily converted by code reading text files. * Stop translating %R%N into %N on input, we now keep the original text to ensure positioning information can be easily converted by code reading text files.
* Draw a symbol for new lines when formatting marks are displayed: "¯" is used for Unix style new line and "¬" is used for Windows style new line.
===WEL=== ===Web Browser===
* Added <e>is_browser_usable</e> to know if the browser library is available.
* Simplified compilation of unix side of the library to load the webkit shared library at runtime without requiring it at compile time.
===XML===
* Fixed XML cases where we have <foo att/> or <foo att> ... take into account the attribute `att' but report missing value for attribute `att'.
* Add report_unsupported_bom_value routine to report unsupported BOM value error.
[[EiffelStudio release notes|Click here to check out what was new in other versions]] [[EiffelStudio release notes|Click here to check out what was new in other versions]]