Package: emacs;
Reported by: Geoff Gole <geoffgole <at> gmail.com>
Date: Sun, 13 Jun 2010 18:06:01 UTC
Severity: normal
Tags: confirmed, patch
Merged with 6566, 15587, 24885
Found in versions 23.1.50, 23.2, 26.0.50
Done: Gemini Lasswell <gazally <at> runbox.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: help-debbugs <at> gnu.org (GNU bug Tracking System) To: Leo <sdl.web <at> gmail.com> Subject: bug#6566: closed (Re: bug#6415: [PATCH] fix edebug instrumentation of dotted pairs in macros) Date: Sun, 26 Nov 2017 23:03:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report #6415: 23.2; error: (invalid-read-syntax "Dotted spec required.") which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 6566 <at> debbugs.gnu.org. -- 6415: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6415 GNU Bug Tracking System Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Gemini Lasswell <gazally <at> runbox.com> To: Stefan Monnier <monnier <at> iro.umontreal.ca> Cc: 6415-done <at> debbugs.gnu.org, Steve Yegge <stevey <at> google.com> Subject: Re: bug#6415: [PATCH] fix edebug instrumentation of dotted pairs in macros Date: Sun, 26 Nov 2017 15:02:27 -0800Gemini Lasswell <gazally <at> runbox.com> writes: > Here's a new patch for this bug, based on the ideas in Steve's patch. I've pushed this patch to emacs-26.
[Message part 3 (message/rfc822, inline)]
From: Leo <sdl.web <at> gmail.com> To: bug-gnu-emacs <at> gnu.org Subject: 23.2; error: (invalid-read-syntax "Dotted spec required.") Date: Mon, 05 Jul 2010 13:52:17 +0100To reproduce: C-u C-M-x to edebug the following example function (defun test () (destructuring-bind (beg . end) '(1 . 2))) Should see a backtrace as attached to the end of this report. In GNU Emacs 23.2.9 of 2010-06-26 on Victoria.local Debugger entered--Lisp error: (invalid-read-syntax "Dotted spec required.") signal(invalid-read-syntax ("Dotted spec required.")) edebug-syntax-error("Dotted spec required.") apply(edebug-syntax-error "Dotted spec required.") edebug-no-match((end (44 . 48) . 49) "Dotted spec required.") edebug-match-specs((end (44 . 48) . 49) ([&optional ["&optional" &rest &or ... arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ... arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or ... symbolp]] [&optional "&environment" arg]) edebug-match-specs) edebug-match-specs((end (44 . 48) . 49) ([&rest cl-macro-arg] [&optional ["&optional" &rest &or ... arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ... arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or ... symbolp]] [&optional "&environment" arg]) edebug-match-specs) edebug-match-specs((end (44 . 48) . 49) ([&optional "&environment" arg] [&rest cl-macro-arg] [&optional ["&optional" &rest &or ... arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ... arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or ... symbolp]] [&optional "&environment" arg]) edebug-match-specs) edebug-match-sublist((end (44 . 48) . 49) ([&optional "&environment" arg] [&rest cl-macro-arg] [&optional ["&optional" &rest &or ... arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ... arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or ... symbolp]] [&optional "&environment" arg])) edebug-match-list((((beg . end) (quote ...)) (38 (39 . 42) (44 . 48) . 49) (56 (56 . 57) (57 ... ... . 64) . 64) . 65) ([&optional "&environment" arg] [&rest cl-macro-arg] [&optional ["&optional" &rest &or ... arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ... arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or ... symbolp]] [&optional "&environment" arg])) edebug-match-one-spec((((beg . end) (quote ...)) (38 (39 . 42) (44 . 48) . 49) (56 (56 . 57) (57 ... ... . 64) . 64) . 65) ([&optional "&environment" arg] [&rest cl-macro-arg] [&optional ["&optional" &rest &or ... arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ... arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or ... symbolp]] [&optional "&environment" arg])) edebug-match-specs((((beg . end) (quote ...)) (38 (39 . 42) (44 . 48) . 49) (56 (56 . 57) (57 ... ... . 64) . 64) . 65) (([&optional "&environment" arg] [&rest cl-macro-arg] [&optional ["&optional" &rest &or ... arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ... arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or ... symbolp]] [&optional "&environment" arg])) edebug-match-specs) edebug-match((((beg . end) (quote ...)) (38 (39 . 42) (44 . 48) . 49) (56 (56 . 57) (57 ... ... . 64) . 64) . 65) (([&optional "&environment" arg] [&rest cl-macro-arg] [&optional ["&optional" &rest &or ... arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ... arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or ... symbolp]] [&optional "&environment" arg]))) edebug-match-symbol((((beg . end) (quote ...)) (38 (39 . 42) (44 . 48) . 49) (56 (56 . 57) (57 ... ... . 64) . 64) . 65) cl-macro-list) edebug-match-one-spec((((beg . end) (quote ...)) (38 (39 . 42) (44 . 48) . 49) (56 (56 . 57) (57 ... ... . 64) . 64) . 65) cl-macro-list) edebug-match-specs((((beg . end) (quote ...)) (38 (39 . 42) (44 . 48) . 49) (56 (56 . 57) (57 ... ... . 64) . 64) . 65) (cl-macro-list def-form cl-declarations def-body) edebug-match-specs) edebug-match-specs((((beg . end) (quote ...)) (38 (39 . 42) (44 . 48) . 49) (56 (56 . 57) (57 ... ... . 64) . 64) . 65) ("destructuring-bind" cl-macro-list def-form cl-declarations def-body) edebug-match-specs) edebug-match((((beg . end) (quote ...)) (38 (39 . 42) (44 . 48) . 49) (56 (56 . 57) (57 ... ... . 64) . 64) . 65) ("destructuring-bind" cl-macro-list def-form cl-declarations def-body)) edebug-make-form-wrapper((((beg . end) (quote ...)) (38 (39 . 42) (44 . 48) . 49) (56 (56 . 57) (57 ... ... . 64) . 64) . 65) 18 64 ("destructuring-bind" cl-macro-list def-form cl-declarations def-body)) edebug-defining-form((((beg . end) (quote ...)) (38 (39 . 42) (44 . 48) . 49) (56 (56 . 57) (57 ... ... . 64) . 64) . 65) 18 65 ("destructuring-bind" cl-macro-list def-form cl-declarations def-body)) edebug-form((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66)) edebug-match-form((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66)) edebug-match-symbol((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) form) edebug-match-one-spec((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) form) edebug-match-specs((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) (form) edebug-&rest-wrapper) byte-code("\304 \n#.\305\207" [cursor specs remainder-handler result edebug-match-specs nil] 4) edebug-&optional-wrapper((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) (form) edebug-&rest-wrapper) edebug-&rest-wrapper((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) (form) edebug-&rest-wrapper) edebug-match-&rest((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) (form)) edebug-match-specs((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) (&rest form) edebug-match-specs) edebug-match((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) (&rest form)) edebug-match-def-body((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66)) edebug-match-symbol((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) def-body) edebug-match-one-spec((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) def-body) edebug-match-specs((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) (def-body) edebug-match-specs) edebug-match-specs((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) ([&optional ("interactive" interactive)] def-body) edebug-match-specs) edebug-match-specs((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) ([&optional stringp] [&optional ("interactive" interactive)] def-body) edebug-match-specs) edebug-match-specs((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) (lambda-list [&optional stringp] [&optional ("interactive" interactive)] def-body) edebug-match-specs) edebug-match-specs((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) (name lambda-list [&optional stringp] [&optional ("interactive" interactive)] def-body) edebug-match-specs) edebug-match-specs((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) ("defun" name lambda-list [&optional stringp] [&optional ("interactive" interactive)] def-body) edebug-match-specs) edebug-match-sublist((((destructuring-bind ... ...)) (18 (19 . 37) (38 ... ... . 49) (56 ... ... . 64) . 65) . 66) ("defun" name lambda-list [&optional stringp] [&optional ("interactive" interactive)] def-body)) edebug-match-list((((defun test nil ...)) (1 (2 . 7) (8 . 12) (13 . 15) (18 ... ... ... . 65) . 66)) ("defun" name lambda-list [&optional stringp] [&optional ("interactive" interactive)] def-body)) edebug-match-one-spec((((defun test nil ...)) (1 (2 . 7) (8 . 12) (13 . 15) (18 ... ... ... . 65) . 66)) ("defun" name lambda-list [&optional stringp] [&optional ("interactive" interactive)] def-body)) edebug-match-specs((((defun test nil ...)) (1 (2 . 7) (8 . 12) (13 . 15) (18 ... ... ... . 65) . 66)) (("defun" name lambda-list [&optional stringp] [&optional ...] def-body)) edebug-match-specs) edebug-match((((defun test nil ...)) (1 (2 . 7) (8 . 12) (13 . 15) (18 ... ... ... . 65) . 66)) (("defun" name lambda-list [&optional stringp] [&optional ...] def-body))) edebug-make-form-wrapper((((defun test nil ...)) (1 (2 . 7) (8 . 12) (13 . 15) (18 ... ... ... . 65) . 66)) 1 65 (("defun" name lambda-list [&optional stringp] [&optional ...] def-body))) edebug-read-and-maybe-wrap-form1() byte-code("\301 .\302\207" [result edebug-read-and-maybe-wrap-form1 nil] 1) edebug-read-and-maybe-wrap-form() edebug-read-top-level-form() eval-defun((4)) call-interactively(eval-defun nil nil)
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.