Version
Release notes for EiffelStudio 5.5
Graphical environment
Improvements
- Added full configuration of colors used in editor
- Added docking facilities for various tools. It permits the re-ordering of tools within the interface, including making them "float" externally (See EiffelBuild documentation on docking mechanism for more details) .
- Ability to see when a class is deferred in the context tool formatters. It is shown by adding the `*' character at the end of the class name.
Changes
- One cannot add a .NET assembly from the GAC anymore, instead you have to specify the path to the assembly in the assembly references list.
Bug fixes
- Fixed a crash when performing feature completion on classes with errors.
- On Windows, prevented the EiffelStudio window to go to the back of all windows when you click Ok on the dialog box which appears when a syntax error occurs while compiling a project.
Debugger
- Enabled conditional breakpoint and expression evaluation for .NET
- Improved expression evaluation abilities (full range of Eiffel expressions are now supported).
- Improved object viewer window (word wrapping for large text, ability to see the whole content in one click without having to enter the lower and upper index of a range).
EiffelBuild
- Click here for the EiffelBuild release notes.
Compiler
- Click here for the compiler release notes.
Libraries
CECIL
- Added ability to query type of a generic class where an actual generic parameter is expanded although its base class is not. It suffices to prefix the class name with "expanded ". Reciprocally, you can use the reference version of an expanded class by prefixing with "reference ".
EiffelBase
- Removed
consistent andsetup fromANY - Removed
Void fromANY asVoid
is now a keyword. - Added
for_all ,do_all ,do_if andthere_exists toARRAY . As a consequence descendants ofARRAY which also inherit fromLINEAR have to select the proper version of those routines as they also appear inLINEAR . - Fixed
dynamic_type_from_string fromINTERNAL under .NET which was not working if you were using the .NET naming convention or if you specified a namespace. - Added
generic_count ,generic_count_with_type inINTERNAL to find out how many generic parameter a type has. - Added
generic_dynamic_type_with_type inINTERNAL to find out the type of the i-th generic parameter of a given type. - Added
memory_map andmemory_count_map to give you a precise accounting of all living objects in the running system. It will help you find out any potential memory leak because objects are still referenced where they should not. - Improved performance of
FILE objects creation by not allocating thelast_string internal buffer until it is needed. - On Windows, removed side effects of
put fromEXECUTION_ENVIRONMENT . Before it was setting also some registry keys, now it only set the environment variable for the running process and its children when launched. - Allowed zero sized
MANAGED_POINTER . AllowedMANAGED_POINTER to share a pointer rather than doing a full memory copy at creation time. - Fixed issue with agents where GC did not collect passed arguments to
call oritem fromROUTINE /FUNCTION . Thus arguments stayed alive until the next call tocall oritem .
EiffelNet
- Added
close_socket inSOCKET which only close the socket for the current process. It will not close it for all processes which are using this socket (e.g. obtained after a fork on Unix platform).
EiffelTime
- Fixed incorrect display of the short year format when using the following code:
l_date: DATE_TIME
...
create l_date.make_now
print (l_date.formatted_out ("[0]mm/[0]dd/yy"))
EiffelThread
- Added a new C routine
eif_thread_fork for Unix based system for users who would like to use a forking mechanism in a multithreaded system, as the default version offork will most likely causes some deadlock.
EiffelVision2
WEL
- Added various missing constants in
WEL_*_CONSTANTS classes. - Added creation procedure
make_permanent inWEL_DLL so that the loaded DLL is loaded until the very end of program's execution. NowWEL_RICH_EDIT_DLL andWEL_COMMON_CONTROLS_DLL are using this new creation procedure. It fixes the issue where a program usingWEL_RICH_EDIT would crash when exiting. - Fixed a possible C compilation error when using
WEL_RICH_EDIT due to a bug in the Microsoft Platform SDK header file for RichEdit. - Fixed
WEL_SCROLL_BAR to return a valid position when position is more than 65535. - Added
string_size_extended inWEL_FONT to better know where to draw a string using a specified font on screen, - Added
height_in_points ,height_in_pixels ,height_in_twips , andlog_font inWEL_CHARACTER_FORMAT . Madeheight andset_height obsolete. - Changed implementation of
WEL_REGISTRY_KEY_VALUE in order to fixset_dword_value which was writing incorrect data to the registry keys. Enhanced the typing of values, thus making the non-typed routines obsolete. - Made
default_key_value obsolete inWEL_REGISTRY . - Properly defined
is_equal andcopy inWEL_STRUCTURE , possibly causing some compilation errors while analyzing the inheritance structure of your classes. - Changed signature of non exported routine
cwin_destroy_window fromWEL_WINDOW to now return a value. - Fixed issues when using WEL in a multithreaded application. It would crash if a non WEL thread was trying to destroy a WEL window.
Back to 5.x
cached: 10/09/2024 3:47:40.000 PM