- Numerous fixes.
-* Changes since 12.7.1
+* 13.5.1 changes since 12.7.1
+
+** Visible changes:
+
+ - ECL now reports #+UNIX for all compatible systems, including *BSD ones.
+
+** Compiler fixes:
+
+ - Minor readability improvements in the C code.
+
+ - MULTIPLE-VALUE-BIND compiles using MULTIPLE-VALUE-SETQ and now both are
+ better optimized, generating simpler C code.
+
+ - The type checking routine for LOGAND was producing spurious warnings.
+
+ - (LDB (BYTE ...) ...) no longer conses a BYTE object.
+
+ - Added optimizations for MASK-FIELD, DPB, DEPOSIT-FIELD, LDB-TEST and LDB.
+
+ - CONSTANT-VALUE-P and friends now use the (compiler) environment.
+
+ - No optional type check generated for constant values.
+
+ - Declare the temporary variables in DEFMACRO/DESTRUCTURING-BIND as IGNORABLE
+
+ - ECL now accepts WHILE/IF before FOR/AS, a construct that is not ANSI
+ An example: (LOOP FOR I IN LIST WHILE (SOME-TEST I) FOR X = (F I) ... )
+
+** Common Lisp fixes:
+
+ - CONSTANTP now performs a bit more work, macroexpanding forms.
+
+ - ENSURE-DIRECTORIES-EXIST ignores the host and device from the original
+ pathname when creating the directories.
+
+ - In FORMAT, printing of floating point numbers could lead to an infinite loop.
+
+ - ROUND, FLOOR, CEILING and TRUNCATE have been reorganized and work faster with
+ rational numbers.
+
+ - (CONCATENATE 'SIMPLE-BASE-STRING ...) returned an ordinary string.
+
+ - MAKE-ARRAY did not terminate strings with #\Null (needed internally by the C
+ code).
+
+ - (SETF DOCUMENTATION) did not operate on functions because the function object
+ documentation had precedence over the annotation.
+
+ - Added the whole Unicode character database to the C library. This means ECL
+ can now interpret all Unicode character names properly, and print them as
+ well. ECL now also recognizes all ASCII control-character abbreviations
+
+ - Print integers using upcase letters for radix > 10
+
+ - New functions RATIOP, {SINGLE,SHORT,DOUBLE,LONG}-FLOAT-P help avoid consing
+ in TYPEP
+
+ - HASH-TABLE-COUNT did not work with weak hashes: it did not update the count
+ of live cells (Note, however, that this function is by definition not
+ reliable, just a hint, since a garbage collection may happen while the count
+ is being computed)
+
+ - ECL no longer uses :READ-ONLY declarations in the SETF expansions because
+ there is code out there that modifies the values variables.
+
+ - PROGV can now 'unbind' variables when the list of variables is longer than
+ the list of values.
+
+** CLOS:
+
+ - Added built in classes FIXNUM and BIGNUM.
+
+ - Eliminated code for accessing slots that was no longer used. Removed also
+ redundant code.
+
+ - Updating a class (due to a change in metaclass) now forces updating its
+ children
+
+ - UPDATE-INSTANCE-FOR-REDEFINED-CLASS received an alist instead of a
+ propertly-list as last argument
+
+ - PRINT-OBJECT did not have a working default for built in classes.
+
+** Extensions:
+
+ - SYSTEM must use the POSIX shell, which usually lives in /bin/sh.
+
+ - CLX now uses recursive locks.
+
+ - ASDF upgraded to version 2.32, including the ASDF-BUNDLE facility, which
+ supersedes ECL's own implementation of precompiled libraries.
+
+ - MAKE-INSTANCE, SHARED-INITIALIZE, REINITIALIZE-INSTANCE now work on
+ structures as well.
+
+* 12.7.1 changes
Some highlights of this release are: