bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#24885: 26.0.50; edebug-eval-defun fails on a cl-destructuring-bind w


From: Alex
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

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 via email to

[Prev in Thread] Current Thread [Next in Thread]