Subject: bug#49592: 28.0.50; lisp-current-defun-name and non-standard defuns

From: Lars Ingebrigtsen <[email-masked]>
Date: Wed, 24 Aug 2022 12:23:36 +0200

Michael Heerdegen <[email-masked]> writes:

> Is that because of `make-obsolete-variable's (indent defun) spec?  (And
> is that even appropriate?)
>
> Did you see examples where the edebug spec based mechanism you added
> failed?  Or maybe only this part:
>
>   (and (eq (get symbol 'lisp-indent-function) 'defun)
>        (get 'defun 'edebug-form-spec))
>
> was inappropriate?

The problem wasn't just with this function -- it turns out that we have
quite a few things that are used as top-level defining constructs that
aren't marked in any special way.  The old heuristics (i.e., "just use
the second bit in the form") handle these correctly.

But that means that I have no ideas for a practical way to fix the issue
this was supposed to fix -- i.e., top-level

(progn
  ;; 
  (foo-bar)
  ...)

and such.