diff options
author | Alan Mackenzie <acm@muc.de> | 2020-04-24 15:51:43 +0000 |
---|---|---|
committer | Alan Mackenzie <acm@muc.de> | 2020-04-24 15:51:43 +0000 |
commit | 85fb94273375fe793ced4404ade6392e38b4c381 (patch) | |
tree | dd0ce27d52366651dae8725891b56bd32e8c53ce /lisp/emacs-lisp | |
parent | 367b55980f9c0c927dce2ba93ab6f626cec6b1fc (diff) | |
download | emacs-85fb94273375fe793ced4404ade6392e38b4c381.tar.gz emacs-85fb94273375fe793ced4404ade6392e38b4c381.tar.bz2 emacs-85fb94273375fe793ced4404ade6392e38b4c381.zip |
Fix bug #40766, an error in edebug spec handling
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.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/edebug.el | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index bb7817f242c..a376067443a 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -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] |