• Gemini Lasswell's avatar
    Make edebug-step-in work on generic methods (Bug#22294) · e6f64df9
    Gemini Lasswell authored
    * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
    New function to implement the edebug-form-spec property of
    the symbol cl-generic-method-args.
    (edebug-instrument-function): If the function is a generic
    function, find and instrument all of its methods. Return a list
    instead of a single symbol.
    (edebug-instrument-callee): Now returns a list. Update docstring.
    (edebug-step-in): Handle the list returned by edebug-instrument-callee.
    * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
    cl-generic-method-args in its Edebug spec.
    * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
    cl-generic-method-args in its Edebug spec.
    * lisp/subr.el (method-files): New function.
    * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
    (subr-tests--method-files--nonexistent-methods): New tests.
    e6f64df9
subr-tests.el 14 KB