These are the changes that have been made to SmallEiffelPlus since
it was derived from SmallEiffel version -0.76. The original
SmallEiffel version -0.76 (and newer beta versions if any)
can be obtained from
- A bug fix for a renaming problem which occurs when two
classes with a common ancestor are inherited and their
features are renamed. SmallEiffel version -0.76 has a bug
that appears when two classes (B and C) are derived from a
common parent (A), and then another class (D) is derived
from B and C with the features being renamed in D.
The renaming does not work correctly and calls that should
go to one of the middle classes (B or C) will go to the
other class. (Note: this is not an official
bug fix from the SmallEiffel people at Loria).
- Mini-debugger. A simple debugger which is invoked when an
assertion clause fails in the program. Instead of terminating
the program, it goes to a "debug>" prompt and you can display
the values of an object or continue execution of the program.
- Three features were added to the STRING class: 'insert_string',
'replace_string' and 'remove_string'.
- A STRING_POOL class was added in 'lib_std' and 'general.e'
which manages a common pool of strings, which can be shared
among all classes.
- TEXT_FILE_READ and TEXT_FILE_WRITE classes were added to
- A special version of the STRING class has been added in the
'lib_debug' directory. It has an immutable feature which can
be used to make the string immutable, such that an assertion
failure will occur if the string is in an immutable state and a
modification is attempted.
- The compiler was modified to allow a conditional library
path when the -debug_check command line flag is set.
NOTE:The root directory name is 'SmallEiffelPlus' and the
compiler has been modified to use 'SmallEiffelPlus' for
it's environment variable name. However, the command
names ('compile', 'compile_to_c', etc.) have not been
changed. Therefore, if you have both SmallEiffel and
SmallEiffelPlus on your system, you will need to manipulate
your PATH environment variable to select which one
you want to use.