GNU bug report logs - #15814
24.3.50; Signal error on malformed bindings in `cl-symbol-macrolet' (patch)

Previous Next

Package: emacs;

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

From: Nathan Trapuzzano <nbtrap <at> nbtrap.com>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: 15814-done <at> debbugs.gnu.org
Subject: bug#15814: 24.3.50; Signal error on malformed bindings in `cl-symbol-macrolet' (patch)
Date: Fri, 08 Nov 2013 21:06:34 -0500
[Message part 1 (text/plain, inline)]
Stefan Monnier <monnier <at> IRO.UMontreal.CA> writes:

>> We can make cconv work while preserving the malformed bindings, but when
>> the compiler prints the warnings, there's a good chance that the
>> malformed binding that gets printed will not look like the binding as it
>> appears in the source, since cconv might transform the VALUE part.
>> Therefore I think it's preferable to use byte-compile-log-warning in
>> cconv.
>
> OK, fair enough,

[cconv.el.patch (text/x-diff, inline)]
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: nbtrap <at> nbtrap.com-20131109010452-m4od51q5sllj5llv
# target_branch: file:///home/nathan/opt/etc/bzr-repos/emacs/trunk/
# testament_sha1: a475ad3ca1826fb0b56abf8dfb460185dd5fd144
# timestamp: 2013-11-08 20:28:15 -0500
# base_revision_id: dgutov <at> yandex.ru-20131108112252-g8bofo4jray5k45v
# 
# Begin patch
=== modified file 'lisp/ChangeLog'
--- lisp/ChangeLog	2013-11-08 11:22:52 +0000
+++ lisp/ChangeLog	2013-11-09 01:04:52 +0000
@@ -1,3 +1,8 @@
+2013-11-09  Nathan Trapuzzano  <nbtrap <at> nbtrap.com>
+
+	* emacs-lisp/cconv.el (cconv-convert): Print warning instead of
+	throwing error over malrofmed let/let*.
+
 2013-11-08  Dmitry Gutov  <dgutov <at> yandex.ru>
 
 	* progmodes/ruby-mode.el (ruby-smie--indent-to-stmt): Use

=== modified file 'lisp/emacs-lisp/cconv.el'
--- lisp/emacs-lisp/cconv.el	2013-11-04 19:48:07 +0000
+++ lisp/emacs-lisp/cconv.el	2013-11-08 16:50:27 +0000
@@ -291,9 +291,9 @@
          (let* ((value nil)
 		(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))
+                       (when (cddr binder)
+                         (byte-compile-log-warning
+                          (format "Malformed `%S' binding: %S" letsym binder)))
 		       (setq value (cadr binder))
 		       (car binder)))
 		(new-val

# Begin bundle
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
IpwoSAzypyIA

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.