Fix Edebug specs for 'cl-defmethod' and 'defmethod'

* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
to make Edebug generate a new symbol for each method (Bug#24753) and
to support a string following :extra (Bug#23995).
* lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
make Edebug generate a new symbol for each method (Bug#24753).
This commit is contained in:
Gemini Lasswell 2017-05-02 10:19:12 +03:00 committed by Eli Zaretskii
parent b7c5af2bbd
commit d895f6c12f
2 changed files with 6 additions and 5 deletions

View file

@ -413,10 +413,11 @@ The set of acceptable TYPEs (also called \"specializers\") is defined
(declare (doc-string 3) (indent 2)
(debug
(&define ; this means we are defining something
[&or name ("setf" :name setf name)]
[&or symbolp ("setf" symbolp)]
;; ^^ This is the methods symbol
[ &optional keywordp ] ; this is key :before etc
list ; arguments
[ &optional keywordp ; this is key :before etc
&optional stringp ] ; :extra can be followed by a string
listp ; arguments
[ &optional stringp ] ; documentation string
def-body))) ; part to be debugged
(let ((qualifiers nil))

View file

@ -105,10 +105,10 @@ Summary:
(declare (doc-string 3) (obsolete cl-defmethod "25.1")
(debug
(&define ; this means we are defining something
[&or name ("setf" :name setf name)]
[&or symbolp ("setf" symbolp)]
;; ^^ This is the methods symbol
[ &optional symbolp ] ; this is key :before etc
list ; arguments
listp ; arguments
[ &optional stringp ] ; documentation string
def-body ; part to be debugged
)))