Reccommended for 21.1
Thanks to Stephen Turnbull for pointing this out.
cl-macs.el contains this horrible kludge:
;;; This kludge allows macros which use cl-transform-function-property
;;; to be called at compile-time.
(require
(progn
(or (fboundp 'defalias) (fset 'defalias 'fset))
(or (fboundp 'cl-transform-function-property)
(defalias 'cl-transform-function-property
(function (lambda (n p f)
(list 'put (list 'quote n) (list 'quote p)
(list 'function (cons 'lambda f)))))))
(car (or features (setq features (list 'cl-kludge))))))
The intent of the (require (car features)) is, as near as I can tell,
to require something that's already loaded - just to sneak those
fset's and defaliases's into the require. However, as has been
recently noted, this wreaks havoc when binary packages are built on a
Mule-enabled XEmacs which just happens to have (car features) equal to
'mule. Then packages (such as pcl-cvs) which require 'cl wind up
dragging an unwanted 'mule into the picture.
Furthermore, if features is somehow nil (don't see how this can be,
even in bare temacs it is set) this winds up requiring 'cl-kludge,
which is not provided anywhere.
I believe it is perfectly safe to simply use 'xemacs as the require
target - it is always present in `features' - since it set in temacs.
ChangeLog for lisp:
2000-06-27 Charles G Waldman <cgw(a)alum.mit.edu>
* cl-macs.el: fix cl-transform-function-property kludge
so that it does not require a random feature.
Index: cl-macs.el
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/lisp/cl-macs.el,v
retrieving revision 1.6
diff -u -r1.6 cl-macs.el
--- cl-macs.el 1999/09/04 00:38:39 1.6
+++ cl-macs.el 2000/06/27 19:38:13
@@ -81,7 +81,7 @@
(function (lambda (n p f)
(list 'put (list 'quote n) (list 'quote p)
(list 'function (cons 'lambda f)))))))
- (car (or features (setq features (list 'cl-kludge))))))
+ 'xemacs))
;;; Initialization.
Show replies by date