Subject: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc

From: Juri Linkov <[email-masked]>
Date: Thu, 22 Nov 2018 00:31:45 +0200

>> > >From tmm I tried "C==>Cancel last input item DEL", but it does nothing.
>> > Do you see the same?
>> 
>> Yes.  This may be `with-isearch-suspended's doing (as used in
>> `isearch-tmm-menubar'): it pushes a new state of Isearch after running
>> its arg BODY, so we will have to compensate for that somehow.
>
> Should be fixed in the following change based on the latest master.
> In with-isearch-suspended, the state of Isearch is now only pushed if
> the new state is not `equal' to the state of Isearch we had before
> running the body (which should be in (car isearch-cmds), I think).

Thanks, I tested your new version and have a few suggestions:

1. There are two menu items with the same action word "Cancel":
"Cancel search"
"Cancel last input item"

This is confusing terminology.  I suggest to rename the latter to
"Undo last input item"

2. Hard-coding command symbols with '(memq this-command ...' is
not a good style.  Isearch provides a special feature to put the
property 'isearch-scroll' (a misnomer, unfortunately) for the purpose
to not hard-code command symbols.

3. Please add a comment to with-isearch-suspended stating that pushing
a new state is not necessary for cases that don't change search
parameters.  So that such commands that use with-isearch-suspended
don't need special code to restore an old value of isearch-cmds.