Subject: bug#22295: viper-mode undo bug introduced between Nov 10 and Nov 14

From: [email-masked] (Phillip Lord)
Date: Mon, 16 May 2016 13:41:17 +0100

Jim Meyering <[email-masked]> writes:

>> Sorry for slow response -- was travelling.
>>
>> Yep, viper is doing strange things to undo -- it adds a symbol ('viper)
>> to the undo list, then removes it later, amalgamating everything upto
>> 'viper.
>>
>> I've got a complete test case (below in case anyone is interested --
>> I'll make a proper unit test of it on master eventually).
>
> Thank you for working on this. My fingers seem to have developed a
> serious dependence on viper-mode over the last two decades.
> I don't want to retrain them :-)

It's okay. I don't want Eli forwarding bug reports once emacs-25 comes
out!

I have pushed a first attempt at a fix to branch fix/viper-undo.
Clearly, it's not finished yet, but I'd like to get your feedback as to
whether it works; it should fix the example given, but I haven't used
viper at all, so if it breaks other things I won't know.

I haven't managed to work out exactly why the error is happening --
probably though because the timing of the undo-boundary is somewhat
different, though. With this fix, viper just disables automatic boundary
addition and adds it's own as necessary, which seems cleaner.

Phil