release-20e.txt 5.4 KB
Newer Older
Raymond Toy's avatar
Raymond Toy committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
========================== C M U C L  20 e =============================

[In Progress]

The CMUCL project is pleased to announce the release of CMUCL 20e.
This is a major release which contains numerous enhancements and
bug fixes from the 20c release.

CMUCL is a free, high performance implementation of the Common Lisp
programming language which runs on most major Unix platforms. It
mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
sophisticated native code compiler; a powerful foreign function
interface; an implementation of CLOS, the Common Lisp Object System,
which includes multi-methods and a meta-object protocol; a source-level
debugger and code profiler; and an Emacs-like editor implemented in
Common Lisp. CMUCL is maintained by a team of volunteers collaborating
over the Internet, and is mostly in the public domain.

New in this release:

  * Known issues:

  * Feature enhancements
24
25
    * The disassembler (on x86) prints correctly for any value of
      *print-base*.
Raymond Toy's avatar
Raymond Toy committed
26
27
 
  * Changes
Raymond Toy's avatar
Raymond Toy committed
28
    * ASDF2 updated to version 3.0.2.
Raymond Toy's avatar
Raymond Toy committed
29
30
    * DEFINE-COMPILER-MACRO now has source-location information for
      the macro definition.
Raymond Toy's avatar
Raymond Toy committed
31
32
33
34
35
    * :ALIEN-CALLBACK added to *FEATURES* for platforms that support
      alien callbacks.
    * The sparc port can be built using gcc once again.
    * The old Cheney stop-and-copy GC supported on sparc once again.
      However, there are no plans on supplying sparc binaries with
36
37
      this GC.
    * For x86, optimize TRUNCATE when the second arg is a compile-time
Raymond Toy's avatar
Raymond Toy committed
38
39
      constant and use a multiplication instead of a division.  (Sparc
      and ppc already had this optimization)
Raymond Toy's avatar
Raymond Toy committed
40
41
42
43
    * The following *FEATURES* have been removed:
      * :COMMON (not used)
      * :CONSERVATIVE-FLOAT-TYPE (Always default to this in type
        derivation.)
Raymond Toy's avatar
Raymond Toy committed
44
45
      * :I486 and :PENTIUM (Always assume we're running on at least a
        Pentium.)
Raymond Toy's avatar
Update.    
Raymond Toy committed
46
    * Update unicode to support Unicode 6.2.
47
    * Add MP:PROCESS-JOIN, as given in ticket #77.
Raymond Toy's avatar
Update.    
Raymond Toy committed
48
49
50
    * Added UNICODE package to hold Unicode-related functions.
      Currently contains Unicode extended versions of STRING-UPCASE,
      STRING-DOWNCASE, and STRING-CAPITALIZE.
Raymond Toy's avatar
Raymond Toy committed
51
52
    * Optimizations in the x86 backend to speed up some operations and
      reduce register restrictions.
Raymond Toy's avatar
Update.    
Raymond Toy committed
53

Raymond Toy's avatar
Raymond Toy committed
54
  * ANSI compliance fixes:
55
56
    * Attempts to modify the standard readtable or the standard pprint
      dispatch table will now signal a continuable error.
Raymond Toy's avatar
Update.    
Raymond Toy committed
57
58
    * Remove the Unicode extensions from string-upcase and friends.
      This functionality is moved to the new UNICODE package.
Raymond Toy's avatar
Raymond Toy committed
59
60
61
    * DISASSEMBLE is conforming now; there are no options to
      DISASSEMBLE.  However, you can use DISASSEM:DISASSEMBLE if more
      options are needed.
Raymond Toy's avatar
Raymond Toy committed
62
63

  * Bugfixes:
Raymond Toy's avatar
Raymond Toy committed
64
    * REPLACE and friends on strings were limited to strings less than
Raymond Toy's avatar
Raymond Toy committed
65
66
      the maximum possible size. This has been fixed so strings of any
      supported length can be handled.  (See ticket #66 and #68.)
67
68
    * A serious error in FILE-POSITION on streams using an encoding
      other than latin1 has been fixed.  See ticket #74.
Raymond Toy's avatar
Raymond Toy committed
69
70
    * Fix startup crashes on some Debian Linux versions.  This was
      caused by the release string not having a patch version.
Raymond Toy's avatar
Raymond Toy committed
71
72
    * FILE-POSITION no longer returns incorrect values.  See ticket
      #79.
Raymond Toy's avatar
Raymond Toy committed
73
    * Fix error in (format t "~ve" 21 5d-324).  (See ticket #80).
Raymond Toy's avatar
Raymond Toy committed
74
    * String reverse is much faster (upto 20 times).
75
76
    * REVERSE and NREVERSE on strings will reverse surrogate pairs.
      (Previously, surrogate pairs weren't reversed.)
Raymond Toy's avatar
Raymond Toy committed
77
78
79
80
81
    * Correct some mistakes in optimizing code where variables are
      declared as FLOAT.  Some optimizations were missed because FLOAT
      is represented internally as a UNION type, confusing the type
      derivation code.
    * Clean up and optimize x86 move VOPS and length/list VOP.
Raymond Toy's avatar
Raymond Toy committed
82
83
84
85
86
    * DISASSEM:DISASSEMBLE takes new keyword args, base, case, radix
      to specify values for *print-base*, *print-case*, and
      *print-radix* for disassembly.  The defaults are 16, :downcase,
      and *print-radix*, respectively.  This is a change from previous
      versions which used a base of 10 and a case of :upcase.
Raymond Toy's avatar
Raymond Toy committed
87

88

Raymond Toy's avatar
Raymond Toy committed
89
  * Trac Tickets:
Raymond Toy's avatar
Update.    
Raymond Toy committed
90
    * Ticket #52 reopened.
Raymond Toy's avatar
Raymond Toy committed
91
92
93
    * Ticket #66 fixed.
    * Ticket #67 fixed.
    * Ticket #68 fixed.
Raymond Toy's avatar
Raymond Toy committed
94
    * Ticket #69 fixed.
Raymond Toy's avatar
Raymond Toy committed
95
96
    * Ticket #70 fixed.
    * Ticket #65 fixed.
Raymond Toy's avatar
Raymond Toy committed
97
98
    * Ticket #71 fixed.
    * Ticket #72 fixed.
Raymond Toy's avatar
Raymond Toy committed
99
    * Ticket #73 fixed.
100
    * Ticket #74 fixed.
Raymond Toy's avatar
Update.    
Raymond Toy committed
101
    * Ticket #76 fixed.
Raymond Toy's avatar
Raymond Toy committed
102
    * Ticket #79 fixed.
103
    * Ticket #77 fixed.
Raymond Toy's avatar
Raymond Toy committed
104
    * Ticket #80 fixed.
Raymond Toy's avatar
Update.    
Raymond Toy committed
105
106
    * Ticket #81 fixed.
    * Ticket #83 fixed.
107
    * Ticket #82 fixed.
Raymond Toy's avatar
Raymond Toy committed
108
109

  * Other changes:
Raymond Toy's avatar
Update.    
Raymond Toy committed
110
111
    * -8 option for build-all.sh is deprecated since we don't
      officially support 8-bit builds anymore.
Raymond Toy's avatar
Raymond Toy committed
112
113
    * Some small updates to the User Manual and CMU Internals
      documents to generate pdf files by default.
Raymond Toy's avatar
Raymond Toy committed
114
115
116
117

  * Improvements to the PCL implementation of CLOS:

  * Changes to building procedure:
Raymond Toy's avatar
Update.    
Raymond Toy committed
118
119
120
    * In make-dist.sh, the version is now optional.  If not given, a
      version is derived from the git hash returned by "git
      describe". 
Raymond Toy's avatar
Raymond Toy committed
121
122
123
    * build.sh -u used to disable building of asdf and friends.  This
      is incorrect.  Asdf is always built now (during the last stage).

Raymond Toy's avatar
Raymond Toy committed
124
125
126
127
128
129
130
131
132
133

This release is not binary compatible with code compiled using CMUCL
20d; you will need to recompile FASL files. 

See <URL:http://www.cmucl.org> or
<URL:http://trac.common-lisp.net/cmucl> for download information,
guidelines on reporting bugs, and mailing list details.


We hope you enjoy using this release of CMUCL!