]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix bug #40766, an error in edebug spec handling
authorAlan Mackenzie <acm@muc.de>
Fri, 24 Apr 2020 15:51:43 +0000 (15:51 +0000)
committerAlan Mackenzie <acm@muc.de>
Fri, 24 Apr 2020 15:51:43 +0000 (15:51 +0000)
Also remove some debris.

* lisp/emacs-lisp/edebug.el (edebug-spec): Move the entry for edebug-spec-list
to before that for vector in the &or form.  This assures that in a dotted list
of vectors, that list gets handled correctly by edebug-spec-list rather than
wrongly by (vector ...).
(def-edebug-spec &key): Remove, since it is ill formed and superfluous.

lisp/emacs-lisp/edebug.el

index bb7817f242c5888c9ebec01f27604b3f438d6627..a376067443aa80e2264471f0eb9634876add8e4a 100644 (file)
@@ -1833,9 +1833,6 @@ contains a circular object."
   ;; This means nothing matched, so it is OK.
   nil) ;; So, return nothing
 
-
-(def-edebug-spec &key edebug-match-&key)
-
 (defun edebug-match-&key (cursor specs)
   ;; Following specs must look like (<name> <spec>) ...
   ;; where <name> is the name of a keyword, and spec is its spec.
@@ -2115,10 +2112,10 @@ into `edebug--cl-macrolet-defs' which is checked in `edebug-list-form-args'."
 
 (def-edebug-spec edebug-spec
   (&or
+   edebug-spec-list
    (vector &rest edebug-spec)          ; matches a vector
    ("vector" &rest edebug-spec)                ; matches a vector spec
    ("quote" symbolp)
-   edebug-spec-list
    stringp
    [edebug-lambda-list-keywordp &rest edebug-spec]
    [keywordp gate edebug-spec]