comparison 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
comparison
equal deleted inserted replaced
5469:2a8a04f73c15 5470:0af042a0c116
654 (list 'list '(quote quote) x))) 654 (list 'list '(quote quote) x)))
655 cl-closure-vars) 655 cl-closure-vars)
656 '((quote --cl-rest--))))))) 656 '((quote --cl-rest--)))))))
657 (list (car form) (list* 'lambda (cadadr form) body)))) 657 (list (car form) (list* 'lambda (cadadr form) body))))
658 (let ((found (assq (cadr form) env))) 658 (let ((found (assq (cadr form) env)))
659 ;; XEmacs: cadr/caddr operate on nil without errors 659 ;; XEmacs: cadr/caddr operate on nil without errors. But the
660 (if (eq (cadr (caddr found)) 'cl-labels-args) 660 ;; macro definition may be compiled, in which case there's
661 ;; nothing for us to do.
662 (if (and (listp (cdr found))
663 (eq (cadr (caddr found)) 'cl-labels-args))
661 (cl-macroexpand-all (cadr (caddr (cadddr found))) env) 664 (cl-macroexpand-all (cadr (caddr (cadddr found))) env)
662 form)))) 665 form))))
663 ((memq (car form) '(defun defmacro)) 666 ((memq (car form) '(defun defmacro))
664 (list* (car form) (nth 1 form) (cl-macroexpand-body (cddr form) env))) 667 (list* (car form) (nth 1 form) (cl-macroexpand-body (cddr form) env)))
665 ((and (eq (car form) 'progn) (not (cddr form))) 668 ((and (eq (car form) 'progn) (not (cddr form)))