Mercurial > hg > xemacs-beta
diff lisp/cl-extra.el @ 5470:0af042a0c116
Merge with trunk.
author | Mats Lidell <matsl@xemacs.org> |
---|---|
date | Mon, 07 Feb 2011 21:22:17 +0100 |
parents | a9094f28f9a9 38e24b8be4ea |
children | 248176c74e6b |
line wrap: on
line diff
--- a/lisp/cl-extra.el Sat Jan 22 00:59:20 2011 +0100 +++ b/lisp/cl-extra.el Mon Feb 07 21:22:17 2011 +0100 @@ -656,8 +656,11 @@ '((quote --cl-rest--))))))) (list (car form) (list* 'lambda (cadadr form) body)))) (let ((found (assq (cadr form) env))) - ;; XEmacs: cadr/caddr operate on nil without errors - (if (eq (cadr (caddr found)) 'cl-labels-args) + ;; XEmacs: cadr/caddr operate on nil without errors. But the + ;; macro definition may be compiled, in which case there's + ;; nothing for us to do. + (if (and (listp (cdr found)) + (eq (cadr (caddr found)) 'cl-labels-args)) (cl-macroexpand-all (cadr (caddr (cadddr found))) env) form)))) ((memq (car form) '(defun defmacro))