diff options
author | Glenn Morris <rgm@gnu.org> | 2012-11-26 19:10:32 -0800 |
---|---|---|
committer | Glenn Morris <rgm@gnu.org> | 2012-11-26 19:10:32 -0800 |
commit | 5c9cf0a3f9817220ed0f907637951f5cdf1a9614 (patch) | |
tree | 05e4de196ed9935479f73f9db5d249684c7d19b4 /lisp/emacs-lisp | |
parent | 848a2dd19d1b030303de1b568edf9e33281e4440 (diff) | |
parent | 369f945d0b71738812f237123dbe24938d65999e (diff) | |
download | emacs-5c9cf0a3f9817220ed0f907637951f5cdf1a9614.tar.gz emacs-5c9cf0a3f9817220ed0f907637951f5cdf1a9614.tar.bz2 emacs-5c9cf0a3f9817220ed0f907637951f5cdf1a9614.zip |
Merge from emacs-24; up to 2012-11-20T20:06:17Z!monnier@iro.umontreal.ca
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 918e992512c..a1f1cf36025 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -216,12 +216,17 @@ The name is made by appending a number to PREFIX, default \"G\"." (defvar cl--bind-inits) (defvar cl--bind-lets) (defvar cl--bind-forms) (defun cl--transform-lambda (form bind-block) + "Transform a function form FORM of name BIND-BLOCK. +BIND-BLOCK is the name of the symbol to which the function will be bound, +and which will be used for the name of the `cl-block' surrounding the +function's body. +FORM is of the form (ARGS . BODY)." (let* ((args (car form)) (body (cdr form)) (orig-args args) (cl--bind-block bind-block) (cl--bind-defs nil) (cl--bind-enquote nil) (cl--bind-inits nil) (cl--bind-lets nil) (cl--bind-forms nil) (header nil) (simple-args nil)) (while (or (stringp (car body)) - (memq (car-safe (car body)) '(interactive cl-declare))) + (memq (car-safe (car body)) '(interactive declare cl-declare))) (push (pop body) header)) (setq args (if (listp args) (cl-copy-list args) (list '&rest args))) (let ((p (last args))) (if (cdr p) (setcdr p (list '&rest (cdr p))))) |