Subject: bug#28958: 26.0.90; Edebug can't step into methods defined with cl-defgeneric

From: Gemini Lasswell <[email-masked]>
Date: Mon, 23 Oct 2017 12:04:21 -0700

Edebug can't find generic methods to step into when they are defined
with cl-defgeneric instead of cl-defmethod.

To reproduce, put the following code into *scratch* and eval-buffer
it:

(cl-defgeneric my-func (x)
  (:method ((x integer)) (message "%s is an integer" x))
  (:method ((x string)) (message "%s is a string" x))
  (message "%s is something else" x))

(defun use-my-func ()
  (my-func "hello")
  (my-func 3)
  (my-func 'foo))

Then navigate to the definition of use-my-func and:

C-u C-M-x
M-: (use-my-func) RET
i

Result: "Don’t know where ‘(my-func nil t)’ is defined"