- 18.01 (released) ...
Release notes for EiffelStudio 5.5
- Graphical environment
- 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.
- 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.
- 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.
- 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).
- Click here for the EiffelBuild release notes.
- Click here for the compiler release notes.
- 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 ".
consistentand setupfrom ANY
Voidis now a keyword.
for_all, do_all, do_ifand there_existsto ARRAY. As a consequence descendants of ARRAYwhich also inherit from LINEARhave to select the proper version of those routines as they also appear in LINEAR.
dynamic_type_from_stringfrom INTERNALunder .NET which was not working if you were using the .NET naming convention or if you specified a namespace.
generic_count, generic_count_with_typein INTERNALto find out how many generic parameter a type has.
generic_dynamic_type_with_typein INTERNALto find out the type of the i-th generic parameter of a given type.
memory_mapand memory_count_mapto 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
FILEobjects creation by not allocating the last_stringinternal buffer until it is needed.
- On Windows, removed side effects of
putfrom EXECUTION_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. Allowed MANAGED_POINTERto 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
callor itemfrom ROUTINE/ FUNCTION. Thus arguments stayed alive until the next call to callor item.
close_socketin SOCKETwhich 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).
- Fixed incorrect display of the short year format when using the following code:
print (l_date.formatted_out ("mm/dd/yy"))
- Added a new C routine
eif_thread_forkfor Unix based system for users who would like to use a forking mechanism in a multithreaded system, as the default version of forkwill most likely causes some deadlock.
- Added various missing constants in
- Added creation procedure
make_permanentin WEL_DLLso that the loaded DLL is loaded until the very end of program's execution. Now WEL_RICH_EDIT_DLLand WEL_COMMON_CONTROLS_DLLare using this new creation procedure. It fixes the issue where a program using WEL_RICH_EDITwould crash when exiting.
- Fixed a possible C compilation error when using
WEL_RICH_EDITdue to a bug in the Microsoft Platform SDK header file for RichEdit.
WEL_SCROLL_BARto return a valid position when position is more than 65535.
string_size_extendedin WEL_FONTto better know where to draw a string using a specified font on screen,
height_in_points, height_in_pixels, height_in_twips, and log_fontin WEL_CHARACTER_FORMAT. Made heightand set_heightobsolete.
- Changed implementation of
WEL_REGISTRY_KEY_VALUEin order to fix set_dword_valuewhich was writing incorrect data to the registry keys. Enhanced the typing of values, thus making the non-typed routines obsolete.
default_key_valueobsolete in WEL_REGISTRY.
- Properly defined
is_equaland copyin WEL_STRUCTURE, possibly causing some compilation errors while analyzing the inheritance structure of your classes.
- Changed signature of non exported routine
cwin_destroy_windowfrom WEL_WINDOWto 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.