From ded5f3176c17a4252c6b88ca72304a0e3c05af9e Mon Sep 17 00:00:00 2001 From: manus Date: Thu, 4 Dec 2008 22:11:53 +0000 Subject: [PATCH] Author:halw Date:2008-12-04T22:10:15.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@118 abb3cda0-5349-4a8f-a601-0c33ac3a8c38 --- .../release-notes-eiffelstudio-63.wiki | 15 +++++++++++++++ .../data-structures-use.wiki | 4 ++-- .../eiffelstore-implementation-layer.wiki | 4 ++-- .../data-object-coupling.wiki | 2 +- .../query-variables.wiki | 2 +- .../selection-access.wiki | 4 ++-- 6 files changed, 23 insertions(+), 8 deletions(-) diff --git a/documentation/current/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-6-release-notes/release-notes-eiffelstudio-63.wiki b/documentation/current/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-6-release-notes/release-notes-eiffelstudio-63.wiki index c27fdf25..4314cdec 100644 --- a/documentation/current/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-6-release-notes/release-notes-eiffelstudio-63.wiki +++ b/documentation/current/eiffelstudio/eiffelstudio-reference/eiffelstudio-release-notes/eiffelstudio-6-release-notes/release-notes-eiffelstudio-63.wiki @@ -6,6 +6,7 @@ ===What's new=== * Innovative testing tools let you automatically test your software, extract test cases from failed execution as well as manually creating your own test cases. +* Added brace matching in the editor. * Added ability to automatically license your Eiffel classes each time you save a class. * Added the '''argument_parser''' library which provides an easy way to manipulate command line arguments. * Added a new version of the EiffelNet library with IPv6 support. Because it has some breaking changes, the library is called '''net_ipv6''' and can be, in most cases, be used in place of the original EiffelNet library. @@ -13,11 +14,17 @@ ===Improvements=== * Improved the library choice dialog which can also be customized to include your own locations. * Added support for note keyword and the updated variant keyword location in a loop through the environment. +* You can remove errors from the Warning and Error list tool which is practical when fixing many errors at once. +* Improved the problem report submission dialog. +* Better messaging about the installed C/C++ compiler on Windows. ===Changes=== ===Bug fixes=== * Code completion works even if the is is missing. +* Fixed an installation issue of the enterprise/evaluation release of EiffelStudio on Windows Vista. +* Properly refreshes the Feature tool after a save or a compilation. +* Fixed browsing of .NET classes in EiffelStudio ==Compiler== * Click [[Major changes between ISE Eiffel 6.2 and ISE Eiffel 6.3|here]] for the compiler release notes. @@ -31,6 +38,14 @@ ==Libraries== ===EiffelBase=== +* EiffelBase has been rewritten to be Void safe. To use the void safe version, one has to use the '''base-safe.ecf''' configuration file of EiffelBase. Not all libraries are void safe, so the void safe version can only be used for code that does not depend on other libraries. +* Added sleep to EXECUTION_ENVIRONMENT and made sleep from THREAD_CONTROL obsolete. +* Added read_xxx_thread_aware in IO_MEDIUM so that reading a file is not blocking in a multithreaded context. +* Added the notion of read-only and immutable strings (respectively READABLE_STRING_8/32 and IMMUTABLE_STRING_8/32). Because READABLE_STRING_8 is deferred, some code using expression of the form '''STRING + SYSTEM_STRING''' in .NET mode will not compile anymore. Instead one has to do '''STRING + create {STRING}.make_from_cil (SYSTEM_STRING)'''. +* Added {READABLE_STRING_GENERAL}.same_string to compare any kind of strings together. +* Added ability to stop and start the Eiffel tracing mechanism from code using the new TRACING_SETTING class. +* Changed the default assigner for {TABLE}.item from put to force a new feature of TABLE. This allows the bracket operator on HASH_TABLE to work properly, that is to say hash_table [i] := j will indeed insert 'j' at key 'i' even if key 'i' is already present. Before it was silently doing nothing since it was using put. +* Fixed eweasel test#list012 which showed an invariant violation after twining a SORTED_TWO_WAY_LIST and then modifying the copy by adding an element. This introduces a breaking change in all descendants of SORTED_TWO_WAY_LIST. ===EiffelNet=== * EiffelNet can select on 256 ports at the same time diff --git a/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-generation-cluster/data-structures-use.wiki b/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-generation-cluster/data-structures-use.wiki index 4c5f76eb..8755b66d 100644 --- a/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-generation-cluster/data-structures-use.wiki +++ b/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-generation-cluster/data-structures-use.wiki @@ -38,7 +38,7 @@ You can then access or modify [[ref:libraries/store/reference/db_table_flatshort tablerow: DB_TABLE ... - display_attribute (code: INTEGER) is + display_attribute (code: INTEGER) -- Display attribute with `code'. do io.putstring (tablerow.table_description.attribute (code).out) @@ -74,7 +74,7 @@ Basic database metadata is also available: the DB_SPECIFIC_TABLES_ACCESS tables: DB_SPECIFIC_TABLES_ACCESS ... - new_object (code: INTEGER): DB_TABLE is + new_object (code: INTEGER): DB_TABLE -- New object of table with `code'. do Result := tables.obj (code) diff --git a/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-implementation-layer.wiki b/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-implementation-layer.wiki index c001175e..85a265c0 100644 --- a/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-implementation-layer.wiki +++ b/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-implementation-layer.wiki @@ -35,7 +35,7 @@ Every interface class inherits from the HANDLE_USE class and ca The creation procedure for a DB_CHANGE object is for instance: - make is + make -- Create an interface object to change active base. do implementation := handle.database.db_change @@ -68,7 +68,7 @@ The corresponding code looks like: session_status: DB_STATUS -- A session management object reference. ... - set_base is + set_base ... update_handle if session_status = Void then diff --git a/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-interface-layer/data-object-coupling.wiki b/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-interface-layer/data-object-coupling.wiki index e0db58a6..58901d60 100644 --- a/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-interface-layer/data-object-coupling.wiki +++ b/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-interface-layer/data-object-coupling.wiki @@ -34,7 +34,7 @@ Using the table information, [[ref:/libraries/store/reference/db_repository_flat ... feature -- Settings - set_id (an_id: INTEGER) is + set_id (an_id: INTEGER) -- Set an_id to id. do id := an_id diff --git a/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-interface-layer/query-variables.wiki b/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-interface-layer/query-variables.wiki index 06074243..cc80ad25 100644 --- a/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-interface-layer/query-variables.wiki +++ b/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-interface-layer/query-variables.wiki @@ -16,7 +16,7 @@ Template queries are parsed to replace each variable by its bound value. To crea Variables syntax is simple: the ':' special character followed by the variable name. selection: DB_SELECTION - Bind_var: STRING is "firstname" + Bind_var: STRING = "firstname" ... create selection.make selection.set_query ("Select * from CONTACTS where Firstname = ':" + Bind_var + "'") diff --git a/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-interface-layer/selection-access.wiki b/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-interface-layer/selection-access.wiki index ccdd4c71..9bbf083b 100644 --- a/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-interface-layer/selection-access.wiki +++ b/documentation/current/solutions/database-access/eiffelstore/eiffelstore-tutorial/eiffelstore-interface-layer/selection-access.wiki @@ -55,12 +55,12 @@ To use DB_RESULT, process in 2 steps: execute, found end ... - execute is + execute do i := i + 1 end ... - found: BOOLEAN is + found: BOOLEAN do Result := i >= Max_result end