[7faa86]: src / CHANGELOG Maximize Restore History

Download this file

CHANGELOG    112 lines (77 with data), 4.2 kB

ECL 9.8.2:

* Bugs fixed:

 - The C inline expansion for sin, cos, and tan were wrong due to three
   recently introduced typos.

 - The C inline form of SQRT did not work when ECL was built with

 - When building FASL files, the output file name was not surrounded by
   double quotes, thus breaking when the file name had spaces (only

* Visible changes:

 - A new configuration flag, --enable-rpath, allows hardcoding in ECL the
   location of its shared library. This is not needed in Windows, it should
   work on all supported platforms and its purpose is to simplify the
   installation of ECL in nonstandard locations.

ECL 9.8.1:

* Important notes:

 - The GMP library had to be patched to build with latest versions of GCC.
   Since our patch only covers the main header and there might be some corners
   left, it is recommended to build ECL against a better maintained version of
   the library, such as MPIR or the versions supplied by your operating system.

 - ECL now builds properly on a large number of platforms, including Windows
   with and without Microsoft compilers. However, not always are all the
   configuration options available or well supported. The fault is not always
   ECL's, but also the libraries it depends on. Some of these problems are
   detailed below, some are to be found. As a guide, the minimally supported
   flags for each platform are those use for the automated testing process

* Ports:

 - The Windows/MSVC port now boots also when built without support for Unicode.

 - The Windows/mingw32 port builds without threads. For multithreading, the
   user will have to build version 7.2-alpha2 of the garbage collector
   manually and build ECL with it.

 - The NetBSD port builds with default values using the garbage collector
   in the pkgsrc distribution.

 - The Solaris port (Intel and Sparc) now builds with the given libraries (GMP
   and Boehm).

* Compiler:

 - The compiler now understands FFI types :[u]int{8,16,32,64}-t.

 - The FFI code emitted to convert from a lisp type to :uint or :unsigned-int
   rejected bignum inputs, even if they were in the range from 0 to UINT_MAX.
   Similar problem with :int

* Visible changes:

 - New functions ecl_make_[u]int(), ecl_make_[u]long(), ecl_to_[u]int(),
   ecl_to_[u]long(), ecl_to_bool(), ecl_make_bool(), convert between C types
   and cl_object.

 - The C structures ecl_array, ecl_vector, ecl_base_string and ecl_string have
   changed. Instead of using bitfields for hasfillp and adjustable we now
   use a single integer field, and handle the bits manually. See the

 - Four new command-line arguments, --encoding, --input-encoding,
   --output-encoding and --error-encoding, allow the user to change the 
   external formats of the default streams.

 - For places defined with the simple form of DEFSETF, SETF now produces
   a simpler expansion, without a surrounding LET* form.

 - The dynamic FFI is now implemented using libffi. This extends the portability
   and removes the previous, error prone implementation.

 - A new function, (SI:SAFE-EVAL form env &optional error-value), can be used
   to evaluate lisp forms in a safe way. If supplied three values, when an
   error happens, it returns ERROR-VALUE; otherwise it will invoke a debugger.

 - Two new functions, ecl_read_from_cstring(s) and
   ecl_read_from_cstring_safe(s,v) read an object from a C string (char *). The
   first one is unsafe and will enter a debugger when there is a syntax
   error. The second one will return V when an error happens.

 - Modules which are loaded with REQUIRE, but which belong to ECL, are now
   registered with ASDF and can be used in dependencies.

* Bugs fixed:

 - SI:GET-LIBRARY-PATHNAME did not work properly in Windows.

 - STEP did not work properly because the bytecompiler introduced an extra
   opcode after STEPCALL.

 - --enable-slow-config works again.

 - EXT:CHDIR got broken when using Unicode.

;;; Local Variables: ***
;;; mode:text ***
;;; fill-column:79 ***
;;; End: ***