]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/cconv.el (cconv-convert): Check form of let binding.
authorNathan Trapuzzano <nbtrap@nbtrap.com>
Mon, 4 Nov 2013 19:48:07 +0000 (14:48 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 4 Nov 2013 19:48:07 +0000 (14:48 -0500)
Fixes: debbugs:15786
lisp/ChangeLog
lisp/emacs-lisp/cconv.el

index d3760e4c62667ed3de1aad75bf775402c9b66b3b..02513660ff0dec882ea416202b3a4065ba94bcf3 100644 (file)
@@ -1,3 +1,8 @@
+2013-11-04  Nathan Trapuzzano  <nbtrap@nbtrap.com>  (tiny change)
+
+       * emacs-lisp/cconv.el (cconv-convert): Check form of let binding
+       (bug#15786).
+
 2013-11-04  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * emacs-lisp/helpers.el: Move from helpers.el.  Use lexical-binding.
index f24e503fd6d80b5a1da370ed6aaa279b2ff140d9..2a236b35e5673b8e1a81434d878fe09f98c129b1 100644 (file)
@@ -289,12 +289,15 @@ places where they originally did not directly appear."
 
        (dolist (binder binders)
          (let* ((value nil)
-                (var (if (not (consp binder))
-                         (prog1 binder (setq binder (list binder)))
-                       (setq value (cadr binder))
-                       (car binder)))
-                (new-val
-                 (cond
+               (var (if (not (consp binder))
+                        (prog1 binder (setq binder (list binder)))
+                      (cl-assert (null (cdr (cdr binder))) nil
+                                 "malformed let binding: `%s'"
+                                  (prin1-to-string binder))
+                      (setq value (cadr binder))
+                      (car binder)))
+               (new-val
+                (cond
                   ;; Check if var is a candidate for lambda lifting.
                   ((and (member (cons binder form) cconv-lambda-candidates)
                         (progn