Subject: bug#53331: 29.0.50; eval-defun doesn't respect edebug-all-defs

From: Michael Heerdegen <[email-masked]>
Date: Tue, 18 Jan 2022 00:48:13 +0100

The manual (info "(elisp) Edebug Options") tells:

 -- User Option: edebug-all-defs
     If this is non-‘nil’, normal evaluation of defining forms such as
     ‘defun’ and ‘defmacro’ instruments them for Edebug.  This applies
     to ‘eval-defun’, ‘eval-region’, ‘eval-buffer’, and
     ‘eval-current-buffer’.

For `eval-defun' this isn't the case: Any defun is not instrumented
after enabling `edebug-all-defs' and hitting C-M-x.

The current `eval-defun' code actually looks like an accident: The only
effect of an enabled `edebug-all-defs' is that C-M-x _with_ a prefix arg
also _doesn't_ instrument then.

Thanks,

Michael.

In GNU Emacs 29.0.50 (build 30, x86_64-pc-linux-gnu, GTK+ Version 3.24.24, cairo version 1.16.0)
 of 2022-01-18 built on drachen
Repository revision: 12c60373acc061cbe5261fd2b49170bb1fe0f0af
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux 11 (bullseye)