aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Trapuzzano2013-11-04 14:48:07 -0500
committerStefan Monnier2013-11-04 14:48:07 -0500
commit306e7308ba76ce1e1d1300aade7c79418b60ef4a (patch)
treeec97bbc2f0805168b8b9a2047d5c25293ae32bc3
parent7f851ea43b45f0e56689b8cca72b0ef3e084bb49 (diff)
downloademacs-306e7308ba76ce1e1d1300aade7c79418b60ef4a.tar.gz
emacs-306e7308ba76ce1e1d1300aade7c79418b60ef4a.zip
* lisp/emacs-lisp/cconv.el (cconv-convert): Check form of let binding.
Fixes: debbugs:15786
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/emacs-lisp/cconv.el15
2 files changed, 14 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index d3760e4c626..02513660ff0 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12013-11-04 Nathan Trapuzzano <nbtrap@nbtrap.com> (tiny change)
2
3 * emacs-lisp/cconv.el (cconv-convert): Check form of let binding
4 (bug#15786).
5
12013-11-04 Stefan Monnier <monnier@iro.umontreal.ca> 62013-11-04 Stefan Monnier <monnier@iro.umontreal.ca>
2 7
3 * emacs-lisp/helpers.el: Move from helpers.el. Use lexical-binding. 8 * emacs-lisp/helpers.el: Move from helpers.el. Use lexical-binding.
diff --git a/lisp/emacs-lisp/cconv.el b/lisp/emacs-lisp/cconv.el
index f24e503fd6d..2a236b35e56 100644
--- a/lisp/emacs-lisp/cconv.el
+++ b/lisp/emacs-lisp/cconv.el
@@ -289,12 +289,15 @@ places where they originally did not directly appear."
289 289
290 (dolist (binder binders) 290 (dolist (binder binders)
291 (let* ((value nil) 291 (let* ((value nil)
292 (var (if (not (consp binder)) 292 (var (if (not (consp binder))
293 (prog1 binder (setq binder (list binder))) 293 (prog1 binder (setq binder (list binder)))
294 (setq value (cadr binder)) 294 (cl-assert (null (cdr (cdr binder))) nil
295 (car binder))) 295 "malformed let binding: `%s'"
296 (new-val 296 (prin1-to-string binder))
297 (cond 297 (setq value (cadr binder))
298 (car binder)))
299 (new-val
300 (cond
298 ;; Check if var is a candidate for lambda lifting. 301 ;; Check if var is a candidate for lambda lifting.
299 ((and (member (cons binder form) cconv-lambda-candidates) 302 ((and (member (cons binder form) cconv-lambda-candidates)
300 (progn 303 (progn