Release 21e · cmucl / cmucl · GitLab
source link: https://gitlab.common-lisp.net/cmucl/cmucl/-/releases/21e
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
CMUCL 21e
The CMUCL project is pleased to announce the release of CMUCL 21e. This is a major release which contains numerous enhancements and bug fixes from the 21d 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
-
Changes
- Update to ASDF 3.3.6
- The default external format is
:utf-8
instead of:iso8859-1
.
-
ANSI compliance fixes:
-
Bug fixes:
-
#97Fixes stepping through the source forms in the debugger. This has been broken for quite some time, but it works now.
-
-
Gitlab tickets:
-
#68gcc8.1.1 can't build lisp. Change optimization from-O2
to-O1
. -
#72CMU user manual now part of cmucl-site. -
#73Update clx from upstream clx. -
#77Added tests for sqrt for exceptional values. -
#79Autoload ASDF when callingREQUIRE
the first time. User's no longer have to explicitly load ASDF anymore. -
#80Use ASDF to load contribs. cmu-contribs still exists but does nothing. The contrib names are the same, except it's best to use a keyword instead of a string. So,:contrib-demos
instead of"contrib-demos"
. -
#81Added contribs from Eric Marsden. -
#82Replace bc with expr in GNUMakefile. -
#86Building with gcc 8 and later works when using -O2 optimization. -
#90Some static symbols have been removed. This probably makes the fasl files incompatible with older versions. -
#91Loop destructuring no longer incorrectly signals an error. -
#95Disassembler syntax of x86 je and movzx is incorrect. -
#97Define and use ud2 instruction instead of int3. Fixes single-stepping. -
#98fstpd is not an Intel instruction; disassemble asfstp dword ptr [addr]
. -
#100ldb prints out Unicode base-chars correctly instead of just the low 8 bits. -
#103RANDOM-MT19937-UPDATE assembly routine still exists. -
#104Single-stepping broken (fixed via #97). -
#107Replace u_int8_t with uint8_t. -
#108Update ASDF. -
#112CLX can't connect to X server via inet sockets. -
#113REQUIRE on contribs can pull in the wrong things via ASDF. -
#120SOFTWARE-VERSION
is implemented in C. -
#121Wrong column index in FILL-POINTER-OUTPUT-STREAM -
#122gcc 11 can't build cmucl -
#124directory with:wild-inferiors
doesn't descend subdirectories -
#125Linuxunix-stat
returning incorrect values -
#127Linux unix-getpwuid segfaults when given non-existent uid. -
#128QUIT
accepts an exit code. -
#130Move file-author to C. -
#132Ansi testRENAME-FILE.1
no longer fails. -
#134Handle the case of(expt complex complex-rational)
. -
#136ensure-directories-exist
should return the given pathspec. -
#139
*default-external-format*
defaults to:utf-8
; add alias for:locale
external format. -
#140External format for streams that are notfile-stream
's. -
#141Disallow locales that are pathnames to a localedef file. -
#142(random 0)
signals incorrect error. -
#143LISTEN
doesn't signal error when given more than one arg -
#147stream-line-column
method missing forfundamental-character-output-stream
. -
#149Call setlocale(3C) on startup. -
#150Add aliases for external format cp949 and euckr. -
#151Change*default-external-format*
to:utf-8
. -
#152Add new external format,:locale
as an alias to the codeset from LANG and friends. -
#!53Terminals default to an encoding of:locale
. -
#155Wrap help strings neatly. -
#157(directory "foo/**/")
only returns directories now. - #158 Darwin uses utf-8, but we don't support all the rules for pathnames.
-
#162*filename-encoding*
defaults to:null
to mean no encoding. -
#163Add command-line option-version
and--version
to get lisp version. -
#165Avoid inserting NIL into simpleLOOP
fromFORMAT
. -
#166Fix incorrect type declaration for exponent frominteger-decode-float
. -
#167Low bound fordecode-float-exponent
type was off by one. -
#168Don't use negated forms for jmp instructions when possible. -
#169Add pprinter fordefine-vop
andsc-case
. -
#172Declarepathname-match-p
as returningnil
orpathname
. -
#173Add pprinter fordefine-assembly-routine
. -
#176SHORT-SITE-NAME
andLONG-SITE-NAME
returnNIL
. -
#177Add pprinter fordeftransform
anddefoptimizer
. -
#192Print radix marker in disassemblies and adjust note column to be larger for x86. -
#193TreatNIL
and:UNSPECIFIC
as equivalent when comparing pathnames withequal
.
-
-
Other changes:
-
Improvements to the PCL implementation of CLOS:
-
Changes to building procedure:
This release is not binary compatible with code compiled using CMUCL 21d; you will need to recompile FASL files.
See http://www.cmucl.org or https://gitlab.common-lisp.net/cmucl/cmucl for more information, See https://gitlab.common-lisp.net/cmucl/cmucl/wikis/GettingCmucl for obtaining CMUCL, including sources and binaries..
We hope you enjoy using this release of CMUCL!
Tag message
Release 21e
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK