]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Add back `declare' in
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 24 Nov 2012 21:34:28 +0000 (16:34 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 24 Nov 2012 21:34:28 +0000 (16:34 -0500)
the constructs to keep outside of the `cl-block'.

Fixes: debbugs:12977
lisp/ChangeLog
lisp/emacs-lisp/cl-macs.el

index 04aa1dc0216c32072b4502cbaccca267681b2edc..7a92aea69f7f9601dfb47e5015463610721998ae 100644 (file)
@@ -1,3 +1,8 @@
+2012-11-24  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/cl-macs.el (cl--transform-lambda): Add back `declare' in
+       the constructs to keep outside of the `cl-block' (bug#12977).
+
 2012-11-24  Chong Yidong  <cyd@gnu.org>
 
        * mouse.el (mouse-drag-line): Even if the line is not draggable,
index c0b6be44d7b5e37230513aad7858820e9e4b94d6..011049ad247dcdc448b5bbdfe3d249b3ba7e7720 100644 (file)
@@ -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)))))