Aidan Kehoe writes:
user: Aidan Kehoe <kehoea(a)parhasard.net>
date: Sun Aug 16 20:55:49 2009 +0100
files: lisp/ChangeLog lisp/byte-optimize.el lisp/bytecomp.el lisp/cl-compat.el
lisp/cl-macs.el lisp/cl.el lisp/lisp-mode.el lisp/mouse.el lisp/obsolete.el man/ChangeLog
man/cl.texi src/ChangeLog src/bytecode.c src/callint.c src/device-x.c src/eval.c
src/event-msw.c src/event-stream.c src/glade.c src/glyphs-widget.c src/glyphs.c
src/gui-x.c src/gui.c src/inline.c src/lisp.h src/lread.c src/lrecord.h src/macros.c
src/menubar-gtk.c src/menubar-msw.c src/print.c src/symbols.c src/symeval.h
Support full Common Lisp multiple values in C.
Would somebody please remind me why we need to support this feature,
given that it requires strewing unlovely stuff (some of which even the
author needs to tag with "Ugh") throughout not only the core code but
the packages too, expose very tricky static functions to the global
scope, changes the semantics of the trickiest function in the whole
Lisp engine (throw was a function, now it's a special form), adds
instructions to the inner loop of the bytecode interpreter, and
complexifies the implementation of the byte code interpreter?
This seems to be a very large cost for something that is pretty much a
YAGNI in Emacs. Existing uses are served quite well by the cl.el
implementation (especially since a large number of them are just plain
broken but apparently work anyway).
XEmacs-Beta mailing list