| Commit | Line | Data |
|---|---|---|
| d4dc2cd1 RT |
1 | ========================== C M U C L 20 d ============================= |
| 2 | ||
| d4dc2cd1 RT |
3 | The CMUCL project is pleased to announce the release of CMUCL 20d. |
| 4 | This is a major release which contains numerous enhancements and | |
| 5 | bug fixes from the 20c release. | |
| 6 | ||
| 7 | CMUCL is a free, high performance implementation of the Common Lisp | |
| 8 | programming language which runs on most major Unix platforms. It | |
| 9 | mainly conforms to the ANSI Common Lisp standard. CMUCL provides a | |
| 10 | sophisticated native code compiler; a powerful foreign function | |
| 11 | interface; an implementation of CLOS, the Common Lisp Object System, | |
| 12 | which includes multi-methods and a meta-object protocol; a source-level | |
| 13 | debugger and code profiler; and an Emacs-like editor implemented in | |
| 14 | Common Lisp. CMUCL is maintained by a team of volunteers collaborating | |
| 15 | over the Internet, and is mostly in the public domain. | |
| 16 | ||
| 17 | New in this release: | |
| 18 | ||
| 19 | * Known issues: | |
| 20 | ||
| 21 | * Feature enhancements | |
| b08f245d RT |
22 | * Added a new contrib, "contrib-packed-sse2" to allow packed |
| 23 | operations ala SSE2. Support for some packed sse2 operations | |
| 24 | like multiply, divide, and shuffle for both packed singles and | |
| ceba057c | 25 | doubles. All operations are done on top of (complex |
| b08f245d RT |
26 | double-float) numbers. Utility functions are provided to set |
| 27 | and access these packed numbers. | |
| 58af4a63 | 28 | * Added external format for EUC-KR. |
| b08f245d | 29 | |
| d4dc2cd1 | 30 | * Changes |
| b6f29d0e | 31 | * ASDF2 updated to version 2.24. |
| 17c9b814 RT |
32 | * Behavior of STRING-TO-OCTETS has changed. This is an |
| 33 | incompatible change from the previous version but should be more | |
| 34 | useful when a buffer is given which is not large enough to hold | |
| 35 | all the octets for the given string. See docstring for more | |
| 36 | details. | |
| 944c67fb | 37 | * The PowerPC port of CMUCL on Darwin (Mac OS X) has been revived |
| b68a4feb RT |
38 | and is roughly up-to-date. It will run on OSX 10.4 and 10.5. |
| 39 | However, only the Unicode build is supported. | |
| 537cc9bb | 40 | * Updated to Unicode 6.1.0. |
| 4c7f35da RT |
41 | * Many additional aliases for external formats added that match |
| 42 | the glibc iconv aliases. | |
| c4ee759a RT |
43 | * Implement faster LOGCOUNT function on x86, if :SSE3 feature is |
| 44 | available. (Only applies to new uses of LOGCOUNT. The core | |
| 45 | uses the default version.) | |
| 46 | * On x86, SET-FLOATING-POINT-MODES clears any current and accrued | |
| 47 | exceptions that match exceptions in :TRAPS. Previously, | |
| 48 | enabling a trap when the current exception also listed that trap | |
| 49 | caused the exception to be immediately signaled. This no longer | |
| 50 | happens and now matches how ppc and sparc behave. | |
| a3e696a8 | 51 | * OSX Lion and XCode 4 can now compile cmucl without problems. |
| 0609ed42 | 52 | * OSX 10.4 is no longer supported. |
| 7ce792af RT |
53 | * Micro optimizations for floats: 2*x -> x+x and x/2^n -> |
| 54 | (2^(n))*x. | |
| 8d75583b RT |
55 | * Add VM::WITH-CYCLE-COUNTER to return the number of cycles elapsed |
| 56 | when executing the body, as measured by the CPU cycle/tick counter. | |
| 7ce792af | 57 | |
| d4dc2cd1 | 58 | * ANSI compliance fixes: |
| 83969ea4 RT |
59 | * CMUCL was not printing pathnames like (make-pathname :directory |
| 60 | '(:absolute "tmp" "" "/")) correctly. This is now printed using | |
| 61 | #P(...). | |
| d4dc2cd1 RT |
62 | |
| 63 | * Bugfixes: | |
| 576ae2a5 RT |
64 | * DECODE-FLOAT was not correctly declared and could not be |
| 65 | compiled to handle double-double-floats. | |
| 83969ea4 RT |
66 | * The source distribution now includes the scripts from the bin |
| 67 | directory, which was previously missing. | |
| 68 | * The stack needs to be 16-byte aligned on Darwin. | |
| ceba057c | 69 | * LDB no longer prints prompts forever when EOF is reached. |
| 1995dd49 | 70 | * LISP:UNICODE-COMPLETE now longer signals an error if the prefix |
| ceba057c | 71 | isn't a prefix of the name of any Unicode character. Nil is |
| 1995dd49 | 72 | returned instead. |
| b08f245d RT |
73 | * Some VOP costs were incorrect which prevented the fast complex |
| 74 | double-float multiplier from being used when sse3 is available. | |
| 236396d8 RT |
75 | * External format for UTF-32 was generating an error when |
| 76 | converting octets to a string. | |
| 99d39125 RT |
77 | * The UTF-16-BE and UTF-16-LE external formats were returning the |
| 78 | incorrect number of octets when surrogates pairs were decoded. | |
| 79 | This confuses the stream buffering code. | |
| 994726e6 RT |
80 | * Fix typo in ISO8859-2 external format that caused it not to work |
| 81 | correctly. This type potentially also caused failures for all other | |
| 82 | external formats that were based on ISO8859-2. | |
| 583fcce3 RT |
83 | * COMPILE-FILE should not signal an error when given a list for |
| 84 | :EXTERNAL-FORMAT. Lists are needed to specify a composing | |
| 85 | external format like :DOS or :MAC. | |
| afd3451a RT |
86 | * EXPORT and friends should not EVAL the form when compiling. |
| 87 | This was probably a leftover from the time when CMUCL did not | |
| 88 | have DEFPACKAGE. (See ticket:60.) | |
| 0653c413 RT |
89 | * The debugger was not always opening the file in the correct |
| 90 | external format. It defaulted to using | |
| 91 | *DEFAULT-EXTERNAL-FORMAT* instead of the format used when | |
| 92 | compiling the file. | |
| 7ce792af RT |
93 | * Minor build issue in CLM debugger interface due to USE-PACKAGE |
| 94 | no longer having special compiler treatment. | |
| f621914f RT |
95 | * READ-CYCLE-COUNTER no longer destroys any live values in the EBX |
| 96 | and ECX registers. | |
| d4dc2cd1 RT |
97 | |
| 98 | * Trac Tickets: | |
| 3073cc1f RT |
99 | * #50: Print/read error with make-pathname. |
| 100 | * #53: UTF-8 in core. | |
| 944c67fb | 101 | * #52: UNICODE-COMPLETE-NAME misses a completion. |
| ca2a2a43 | 102 | * #55: blocked signals. |
| f3db74d4 | 103 | * #58: UTF-16 buffering problem. |
| afd3451a | 104 | * #60: compile-file and export problem |
| 40b532c5 | 105 | * #61: Darwin+clang doesn't produce a working lisp |
| d4dc2cd1 RT |
106 | |
| 107 | * Other changes: | |
| 83969ea4 | 108 | * The layout of the cmucl directories has been changed. |
| 1995dd49 RT |
109 | * Add -R option to build.sh to force recompiling the C |
| 110 | runtime. (Default it to compile only what is changed.) | |
| ebb2b74c RT |
111 | * Add -R option to build-all.sh to force recompiling the C |
| 112 | runtime. | |
| d4dc2cd1 RT |
113 | |
| 114 | * Improvements to the PCL implementation of CLOS: | |
| 115 | ||
| 116 | * Changes to building procedure: | |
| 117 | ||
| 118 | This release is not binary compatible with code compiled using CMUCL | |
| 119 | 20c; you will need to recompile FASL files. | |
| 120 | ||
| ceba057c RT |
121 | See <URL:http://www.cmucl.org> or |
| 122 | <URL:http://trac.common-lisp.net/cmucl> for download information, | |
| d4dc2cd1 RT |
123 | guidelines on reporting bugs, and mailing list details. |
| 124 | ||
| 125 | ||
| 126 | We hope you enjoy using this release of CMUCL! |