Subject: bug#21365: Edebug always stops when execution enters an instrumented function

From: Alan Mackenzie <[email-masked]>
Date: 20 Sep 2015 22:31:47 -0000

Hello, Paul.

In article <[email-masked]> you wrote:
> [-- text/plain, encoding 7bit, charset: UTF-8, 20 lines --]

> This more of a feature request: make edebug stop when entering such a
> function _optionally_.

> Usecase: I want to debug certain function, but only when it takes specific
> execution route. I instrument the function, set a breakpoint where I want
> to debug it. But in addition to the breakpoint, edebug also pauses each
> time the function is entered and I see no way to disable it.

> In some cases this is a mere annoyance, in others it makes debugging
> impossible. For example, currently I want to debug 'auto-revert-handler'
> which somehow reverts buffer where both Auto Revert and Auto Revert Tail
> modes are disabled. However, I can never make Edebug stop on

>     (message "Reverting buffer `%s'." (buffer-name)))

> line (though I see it _is_ executed, if only from the *Messages* buffer).
> It always stops at the beginning of the function instead.

Yes, I sometimes feel this annoyance too.

Looking at the source code in edebug.el, it seems this problem was sensed
by Eric Raymond, and he was working on it in May 1992.  (!!!!)  The
function `edebug-set-initial-mode' was commented out by edebug's original
author Daniel LaLiberte on 24th March 1994.  21 years later, the reasons
for this commenting out have probably been lost.  (Takes hat off to git
blame.)

I don't see any overwhelming reasons why ESR's idea and code couldn't be
resurrected.

> Paul

-- 
Alan Mackenzie (Nuremberg, Germany).