GNU bug report logs - #29919
26.0.90; Incorrect Edebug spec for cl-macrolet

Previous Next

Package: emacs;

Reported by: Gemini Lasswell <gazally <at> runbox.com>

Date: Sun, 31 Dec 2017 21:37:02 UTC

Severity: normal

Tags: fixed

Merged with 30348

Found in versions 26.0.90, 26.0.91

Fixed in version 27.1

Done: Gemini Lasswell <gazally <at> runbox.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Gemini Lasswell <gazally <at> runbox.com>
To: 29919 <at> debbugs.gnu.org
Subject: bug#29919: 26.0.90; Incorrect Edebug spec for cl-macrolet
Date: Sun, 31 Dec 2017 13:36:17 -0800
Edebug gives an error when trying to instrument a function which uses
cl-macrolet to define a macro with an argument list containing &rest.

To reproduce, enter the following into *scratch*:

(defun bug (x)
  (cl-macrolet ((wrap (func &rest args)
		      `(progn
			 (message "%s" ',args)
			 (funcall #',func ,@args))))
    (wrap + 1 x)))

Then C-u C-M-x.

Result: edebug-syntax-error: Invalid read syntax: "Failed matching"

Looks to me like the problem is that the Edebug spec is using (&rest arg)
when it should be using cl-macro-list, assuming that cl-macrolet
supports full CL argument lists.




This bug report was last modified 6 years and 353 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.