GNU bug report logs -
#15814
24.3.50; Signal error on malformed bindings in `cl-symbol-macrolet' (patch)
Previous Next
Reported by: Nathan Trapuzzano <nbtrap <at> nbtrap.com>
Date: Tue, 5 Nov 2013 20:42:01 UTC
Severity: minor
Tags: patch
Found in version 24.3.50
Done: Stefan Monnier <monnier <at> iro.umontreal.ca>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> --- a/lisp/emacs-lisp/cl-macs.el
> +++ b/lisp/emacs-lisp/cl-macs.el
> @@ -1988,6 +1988,8 @@ by EXPANSION, and (setq NAME ...) will act like (setf EXPANSION ...).
> (cl-symbol-macrolet ,(cdr bindings) ,@body)))
> ((null bindings) (macroexp-progn body))
> (t
> + (cl-assert (and (cdar bindings) (null (cl-cddar bindings))) nil
> + "Malformed `cl-symbol-macrolet' binding: %S" (car bindings))
> (let ((previous-macroexpand (symbol-function 'macroexpand)))
> (unwind-protect
> (progn
Good idea. Could you try and use macroexp--warn-and-return instead, so
we get a file&line location when byte-compiling?
BTW, the same holds for the "let" sanity checks you added to cconv
(which should probably be moved to macroexp, now that I think about it,
so we can remove them from bytecomp.el).
Stefan
This bug report was last modified 11 years and 273 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.