summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2012-11-26 19:10:32 -0800
committerGlenn Morris <rgm@gnu.org>2012-11-26 19:10:32 -0800
commit5c9cf0a3f9817220ed0f907637951f5cdf1a9614 (patch)
tree05e4de196ed9935479f73f9db5d249684c7d19b4 /lisp/emacs-lisp
parent848a2dd19d1b030303de1b568edf9e33281e4440 (diff)
parent369f945d0b71738812f237123dbe24938d65999e (diff)
downloademacs-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.el7
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)))))