Subject: Re: bug#23632: 25.1.50; Gratuitous undo boundary in latex-insert-block

From: Stefan Monnier <[email-masked]>
Date: Fri, 03 Jun 2016 23:05:24 -0400

>>> Simple let binding would not give quite the same functionality, because
>>> of the last part -- I also add a boundary to buffers with a greater
>>> recursive depth; with a let binding, I think these would be unbound for
>>> commands that lower the recursion depth.
>> Ah, you mean that the value of undo-auto--undoably-changed-buffers needs
>> to be propagated "out" when we leave the let-binding.
> I *think* so -- I'm not entirely sure. It might make no difference.

It makes a difference, since otherwise we may forget that some changes
were made in a buffer and fail to push a boundary for them.  Not super
terribly serious, admittedly.

> I use this variable in several different places in two different places
> though

Not sure what you mean by "use", and there's clearly some typo about
"places" which makes the meaning even more murky.

> -- once when we capture the undoable changes (which happens
> often) and once on at the end of each command.

Right.  I see no need for any changes there.

> I'd have to do this let binding in the command loop?

We'd need this right when we enter a recursive-edit (minibuffer or not),
so maybe doing it when we enter the command loop would work.

> My current solution seems simpler, even if it does feel like I have
> created "recursion-level" local variables.

My impression that a let-binding plus a call to
undo-auto--ensure-boundary will be simpler than your patch.  But it's
hard to be sure until it's actually implemented.

        Stefan