aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Mackenzie2020-04-24 15:51:43 +0000
committerAlan Mackenzie2020-04-24 15:51:43 +0000
commit85fb94273375fe793ced4404ade6392e38b4c381 (patch)
treedd0ce27d52366651dae8725891b56bd32e8c53ce
parent367b55980f9c0c927dce2ba93ab6f626cec6b1fc (diff)
downloademacs-85fb94273375fe793ced4404ade6392e38b4c381.tar.gz
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.
-rw-r--r--lisp/emacs-lisp/edebug.el5
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."
1833 ;; This means nothing matched, so it is OK. 1833 ;; This means nothing matched, so it is OK.
1834 nil) ;; So, return nothing 1834 nil) ;; So, return nothing
1835 1835
1836
1837(def-edebug-spec &key edebug-match-&key)
1838
1839(defun edebug-match-&key (cursor specs) 1836(defun edebug-match-&key (cursor specs)
1840 ;; Following specs must look like (<name> <spec>) ... 1837 ;; Following specs must look like (<name> <spec>) ...
1841 ;; where <name> is the name of a keyword, and spec is its spec. 1838 ;; 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'."
2115 2112
2116(def-edebug-spec edebug-spec 2113(def-edebug-spec edebug-spec
2117 (&or 2114 (&or
2115 edebug-spec-list
2118 (vector &rest edebug-spec) ; matches a vector 2116 (vector &rest edebug-spec) ; matches a vector
2119 ("vector" &rest edebug-spec) ; matches a vector spec 2117 ("vector" &rest edebug-spec) ; matches a vector spec
2120 ("quote" symbolp) 2118 ("quote" symbolp)
2121 edebug-spec-list
2122 stringp 2119 stringp
2123 [edebug-lambda-list-keywordp &rest edebug-spec] 2120 [edebug-lambda-list-keywordp &rest edebug-spec]
2124 [keywordp gate edebug-spec] 2121 [keywordp gate edebug-spec]