GNU bug report logs -
#12977
defmacro* does not process declare options
Previous Next
Reported by: Juanma Barranquero <lekktu <at> gmail.com>
Date: Sat, 24 Nov 2012 03:43:01 UTC
Severity: normal
Found in version 24.2.50
Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 12977 in the body.
You can then email your comments to 12977 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#12977
; Package
emacs
.
(Sat, 24 Nov 2012 03:43:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Juanma Barranquero <lekktu <at> gmail.com>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sat, 24 Nov 2012 03:43:03 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Package: emacs
Version: 24.2.50
This is a regression in 24.3
emacs -Q
and evaluate
(let (sp1 sp2)
(require 'cl)
(setf (symbol-plist 'whereas) nil)
(makunbound 'whereas)
(defmacro* whereas ((var test) &rest body)
(declare (indent 1))
`(let ((,var ,test)) (when ,var ,@body)))
(setq sp1 (symbol-plist 'whereas))
(defmacro whereas (var test &rest body)
(declare (indent 1))
`(let ((var ,test)) (when ,var ,@body)))
(setq sp2 (symbol-plist 'whereas))
(list sp1 sp2))
24.2 => ((lisp-indent-function 1) (lisp-indent-function 1))
24.2.50 => (nil (lisp-indent-function 1))
Juanma
Reply sent
to
Stefan Monnier <monnier <at> IRO.UMontreal.CA>
:
You have taken responsibility.
(Sat, 24 Nov 2012 21:39:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Juanma Barranquero <lekktu <at> gmail.com>
:
bug acknowledged by developer.
(Sat, 24 Nov 2012 21:39:04 GMT)
Full text and
rfc822 format available.
Message #10 received at 12977-done <at> debbugs.gnu.org (full text, mbox):
> (defmacro* whereas ((var test) &rest body)
> (declare (indent 1))
[...]
> 24.2.50 => (nil (lisp-indent-function 1))
Indeed, thanks, should be fixed now on the emacs-24 branch (see patch
below).
Stefan
=== modified file 'lisp/emacs-lisp/cl-macs.el'
--- lisp/emacs-lisp/cl-macs.el 2012-11-15 21:01:25 +0000
+++ lisp/emacs-lisp/cl-macs.el 2012-11-24 21:30:26 +0000
@@ -216,12 +216,17 @@
(defvar cl--bind-inits) (defvar cl--bind-lets) (defvar cl--bind-forms)
(defun cl--transform-lambda (form bind-block)
+ "Transform a function form FORM of name BIND-BLOCK.
+BIND-BLOCK is the name of the symbol to which the function will be bound,
+and which will be used for the name of the `cl-block' surrounding the
+function's body.
+FORM is of the form (ARGS . BODY)."
(let* ((args (car form)) (body (cdr form)) (orig-args args)
(cl--bind-block bind-block) (cl--bind-defs nil) (cl--bind-enquote nil)
(cl--bind-inits nil) (cl--bind-lets nil) (cl--bind-forms nil)
(header nil) (simple-args nil))
(while (or (stringp (car body))
- (memq (car-safe (car body)) '(interactive cl-declare)))
+ (memq (car-safe (car body)) '(interactive declare cl-declare)))
(push (pop body) header))
(setq args (if (listp args) (cl-copy-list args) (list '&rest args)))
(let ((p (last args))) (if (cdr p) (setcdr p (list '&rest (cdr p)))))
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 23 Dec 2012 12:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 12 years and 185 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.