diff options
author | Nathan Trapuzzano <nbtrap@nbtrap.com> | 2013-11-04 14:48:07 -0500 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-11-04 14:48:07 -0500 |
commit | 306e7308ba76ce1e1d1300aade7c79418b60ef4a (patch) | |
tree | ec97bbc2f0805168b8b9a2047d5c25293ae32bc3 /lisp/emacs-lisp | |
parent | 7f851ea43b45f0e56689b8cca72b0ef3e084bb49 (diff) | |
download | emacs-306e7308ba76ce1e1d1300aade7c79418b60ef4a.tar.gz emacs-306e7308ba76ce1e1d1300aade7c79418b60ef4a.tar.bz2 emacs-306e7308ba76ce1e1d1300aade7c79418b60ef4a.zip |
* lisp/emacs-lisp/cconv.el (cconv-convert): Check form of let binding.
Fixes: debbugs:15786
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/cconv.el | 15 |
1 files changed, 9 insertions, 6 deletions
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." (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 |