* 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).
(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))
(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
)))