From: Alex <agrambot@gmail.com>
To: 24885@debbugs.gnu.org
Subject: bug#24885: 26.0.50; edebug-eval-defun fails on a cl-destructuring-bind with cons cell
Date: Sat, 05 Nov 2016 12:49:52 -0600 [thread overview]
Message-ID: <87zildsqwf.fsf@gmail.com> (raw)
Attempting to C-u C-M-x the following function produces an error:
(defun test ()
(cl-destructuring-bind (a . b) (cons 1 2)
(+ a b)))
Backtrace:
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((b (190 . 192) . 193) "Dotted spec required.")
edebug-match-specs((b (190 . 192) . 193) ([&optional ["&optional" &rest &or (cl-macro-arg &optional def-form cl-macro-arg) arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ([&or (symbolp cl-macro-arg) arg] &optional def-form cl-macro-arg) arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or (symbolp &optional def-form) symbolp]] [&optional "&environment" arg]) edebug-match-specs)
edebug-match-specs((b (190 . 192) . 193) ([&rest cl-macro-arg] [&optional ["&optional" &rest &or (cl-macro-arg &optional def-form cl-macro-arg) arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ([&or (symbolp cl-macro-arg) arg] &optional def-form cl-macro-arg) arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or (symbolp &optional def-form) symbolp]] [&optional "&environment" arg]) edebug-match-specs)
edebug-match-specs((b (190 . 192) . 193) ([&optional "&environment" arg] [&rest cl-macro-arg] [&optional ["&optional" &rest &or (cl-macro-arg &optional def-form cl-macro-arg) arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ([&or (symbolp cl-macro-arg) arg] &optional def-form cl-macro-arg) arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or (symbolp &optional def-form) symbolp]] [&optional "&environment" arg]) edebug-match-specs)
edebug-match-sublist((b (190 . 192) . 193) ([&optional "&environment" arg] [&rest cl-macro-arg] [&optional ["&optional" &rest &or (cl-macro-arg &optional def-form cl-macro-arg) arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ([&or (symbolp cl-macro-arg) arg] &optional def-form cl-macro-arg) arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or (symbolp &optional def-form) symbolp]] [&optional "&environment" arg]))
edebug-match-list((((a . b) (cons 1 2) (+ a b)) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) ([&optional "&environment" arg] [&rest cl-macro-arg] [&optional ["&optional" &rest &or (cl-macro-arg &optional def-form cl-macro-arg) arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ([&or (symbolp cl-macro-arg) arg] &optional def-form cl-macro-arg) arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or (symbolp &optional def-form) symbolp]] [&optional "&environment" arg]))
edebug-match-one-spec((((a . b) (cons 1 2) (+ a b)) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) ([&optional "&environment" arg] [&rest cl-macro-arg] [&optional ["&optional" &rest &or (cl-macro-arg &optional def-form cl-macro-arg) arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ([&or (symbolp cl-macro-arg) arg] &optional def-form cl-macro-arg) arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or (symbolp &optional def-form) symbolp]] [&optional "&environment" arg]))
edebug-match-specs((((a . b) (cons 1 2) (+ a b)) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) (([&optional "&environment" arg] [&rest cl-macro-arg] [&optional ["&optional" &rest &or (cl-macro-arg &optional def-form cl-macro-arg) arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ([&or ... arg] &optional def-form cl-macro-arg) arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or (symbolp &optional def-form) symbolp]] [&optional "&environment" arg])) edebug-match-specs)
edebug-match((((a . b) (cons 1 2) (+ a b)) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) (([&optional "&environment" arg] [&rest cl-macro-arg] [&optional ["&optional" &rest &or (cl-macro-arg &optional def-form cl-macro-arg) arg]] [&optional [[&or "&rest" "&body"] cl-macro-arg]] [&optional ["&key" [&rest [&or ([&or ... arg] &optional def-form cl-macro-arg) arg]] &optional "&allow-other-keys"]] [&optional ["&aux" &rest &or (symbolp &optional def-form) symbolp]] [&optional "&environment" arg])))
edebug-match-symbol((((a . b) (cons 1 2) (+ a b)) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) cl-macro-list)
edebug-match-one-spec((((a . b) (cons 1 2) (+ a b)) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) cl-macro-list)
edebug-match-specs((((a . b) (cons 1 2) (+ a b)) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) (cl-macro-list def-form cl-declarations def-body) edebug-match-specs)
edebug-match-specs((((a . b) (cons 1 2) (+ a b)) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) ("cl-destructuring-bind" cl-macro-list def-form cl-declarations def-body) edebug-match-specs)
edebug-match((((a . b) (cons 1 2) (+ a b)) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) ("cl-destructuring-bind" cl-macro-list def-form cl-declarations def-body))
edebug-make-form-wrapper((((a . b) (cons 1 2) (+ a b)) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) 163 216 ("cl-destructuring-bind" cl-macro-list def-form cl-declarations def-body))
edebug-defining-form((((a . b) (cons 1 2) (+ a b)) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) 163 217 ("cl-destructuring-bind" cl-macro-list def-form cl-declarations def-body))
edebug-form((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218))
edebug-match-form((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218))
edebug-match-symbol((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) form)
edebug-match-one-spec((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) form)
edebug-match-specs((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) (form) edebug-&rest-wrapper)
edebug-&optional-wrapper((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) (form) edebug-&rest-wrapper)
edebug-&rest-wrapper((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) (form) edebug-&rest-wrapper)
edebug-match-&rest((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) (form))
edebug-match-specs((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) (&rest form) edebug-match-specs)
edebug-match((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) (&rest form))
edebug-match-def-body((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218))
edebug-match-symbol((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) def-body)
edebug-match-one-spec((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) def-body)
edebug-match-specs((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) (def-body) edebug-match-specs)
edebug-match-specs((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) ([&optional ("interactive" interactive)] def-body) edebug-match-specs)
edebug-match-specs((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) ([&optional ("declare" &rest sexp)] [&optional ("interactive" interactive)] def-body) edebug-match-specs)
edebug-match-specs((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) ([&optional stringp] [&optional ("declare" &rest sexp)] [&optional ("interactive" interactive)] def-body) edebug-match-specs)
edebug-match-specs((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) (lambda-list [&optional stringp] [&optional ("declare" &rest sexp)] [&optional ("interactive" interactive)] def-body) edebug-match-specs)
edebug-match-specs((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) (name lambda-list [&optional stringp] [&optional ("declare" &rest sexp)] [&optional ("interactive" interactive)] def-body) edebug-match-specs)
edebug-match-specs((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) ("defun" name lambda-list [&optional stringp] [&optional ("declare" &rest sexp)] [&optional ("interactive" interactive)] def-body) edebug-match-specs)
edebug-match-sublist((((cl-destructuring-bind (a . b) (cons 1 2) (+ a b))) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218) ("defun" name lambda-list [&optional stringp] [&optional ("declare" &rest sexp)] [&optional ("interactive" interactive)] def-body))
edebug-match-list((((defun test nil (cl-destructuring-bind (a . b) (cons 1 2) (+ a b)))) (146 (147 . 152) (153 . 157) (158 . 160) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218)) ("defun" name lambda-list [&optional stringp] [&optional ("declare" &rest sexp)] [&optional ("interactive" interactive)] def-body))
edebug-match-one-spec((((defun test nil (cl-destructuring-bind (a . b) (cons 1 2) (+ a b)))) (146 (147 . 152) (153 . 157) (158 . 160) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218)) ("defun" name lambda-list [&optional stringp] [&optional ("declare" &rest sexp)] [&optional ("interactive" interactive)] def-body))
edebug-match-specs((((defun test nil (cl-destructuring-bind (a . b) (cons 1 2) (+ a b)))) (146 (147 . 152) (153 . 157) (158 . 160) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218)) (("defun" name lambda-list [&optional stringp] [&optional ("declare" &rest sexp)] [&optional ("interactive" interactive)] def-body)) edebug-match-specs)
edebug-match((((defun test nil (cl-destructuring-bind (a . b) (cons 1 2) (+ a b)))) (146 (147 . 152) (153 . 157) (158 . 160) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218)) (("defun" name lambda-list [&optional stringp] [&optional ("declare" &rest sexp)] [&optional ("interactive" interactive)] def-body)))
edebug-make-form-wrapper((((defun test nil (cl-destructuring-bind (a . b) (cons 1 2) (+ a b)))) (146 (147 . 152) (153 . 157) (158 . 160) (163 (164 . 185) (186 (187 . 188) (190 . 192) . 193) (194 (195 . 199) (200 . 201) (202 . 203) . 204) (209 (210 . 211) (212 . 213) (214 . 215) . 216) . 217) . 218)) 146 217 (("defun" name lambda-list [&optional stringp] [&optional ("declare" &rest sexp)] [&optional ("interactive" interactive)] def-body)))
edebug-read-and-maybe-wrap-form1()
edebug-read-and-maybe-wrap-form()
edebug-read-top-level-form()
edebug-eval-defun((4))
apply(edebug-eval-defun (4))
eval-defun((4))
funcall-interactively(eval-defun (4))
call-interactively(eval-defun nil nil)
command-execute(eval-defun)
In GNU Emacs 26.0.50.3 (x86_64-pc-linux-gnu, GTK+ Version 3.22.2)
of 2016-11-04 built on lylat
Repository revision: 44c34c2ed30007fbcb4d33f3c2b390cc17a5b520
Windowing system distributor 'The X.Org Foundation', version 11.0.11804000
System Description: Debian GNU/Linux testing (stretch)
reply other threads:[~2016-11-05 18:49 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87zildsqwf.fsf@gmail.com \
--to=agrambot@gmail.com \
--cc=24885@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.