Mercurial > hg > xemacs-beta
changeset 5614:281bf2b87915
Call #'cl-macroexpand-all in #'cl-transform-function-property
2011-12-21 Aidan Kehoe <kehoea@parhasard.net>
* cl-macs.el (cl-transform-function-property):
Call #'cl-macroexpand-all when doing this, avoiding unpleasantness
with defsetf and lexical variables.
* cl-macs.el (assert):
The previous change meant #'remove-if isn't necessarily available
yet; use the :key argument with #'remove* instead.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Wed, 21 Dec 2011 16:54:30 +0000 |
parents | a944c124b2d3 |
children | 5f4f92a31875 |
files | lisp/ChangeLog lisp/cl-macs.el |
diffstat | 2 files changed, 15 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Tue Dec 13 20:42:30 2011 +0000 +++ b/lisp/ChangeLog Wed Dec 21 16:54:30 2011 +0000 @@ -1,3 +1,12 @@ +2011-12-21 Aidan Kehoe <kehoea@parhasard.net> + + * cl-macs.el (cl-transform-function-property): + Call #'cl-macroexpand-all when doing this, avoiding unpleasantness + with defsetf and lexical variables. + * cl-macs.el (assert): + The previous change meant #'remove-if isn't necessarily available + yet; use the :key argument with #'remove* instead. + 2011-12-10 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-cmds.el (posix-charset-to-coding-system-hash):
--- a/lisp/cl-macs.el Tue Dec 13 20:42:30 2011 +0000 +++ b/lisp/cl-macs.el Wed Dec 21 16:54:30 2011 +0000 @@ -292,7 +292,9 @@ symbol-or-lambda))) (defun cl-transform-function-property (func prop form) - `(put ',func ',prop #'(lambda ,@(cdr (cl-transform-lambda form func))))) + (cl-macroexpand-all + `(put ',func ',prop #'(lambda ,@(cdr (cl-transform-lambda form func)))) + byte-compile-macro-environment)) (defconst lambda-list-keywords '(&optional &rest &key &allow-other-keys &aux &whole &body &environment)) @@ -3054,7 +3056,9 @@ omitted, a default message listing FORM itself is used." (and (or (not (cl-compiling-file)) (< cl-optimize-speed 3) (= cl-optimize-safety 3)) - (let ((sargs (and show-args (remove-if #'cl-const-expr-p (cdr form))))) + (let ((sargs (and show-args + ;; #'remove-if isn't necessarily available yet. + (remove* t (cdr form) :key #'cl-const-expr-p)))) (list 'progn (list 'or form (if string