Subject: bug#46469: 27.1; `isearch-del-char' should move point further back

From: Eli Zaretskii <[email-masked]>
Date: Sat, 13 Feb 2021 10:59:24 +0200

> From: Augusto Stoffel <[email-masked]>
> Cc: [email-masked]
> Date: Sat, 13 Feb 2021 08:32:42 +0100
> 
> On Sat, 13 Feb 2021 at 09:04, Eli Zaretskii <[email-masked]> wrote:
> 
> > For isearch-del-char, I think what you see is the intended behavior:
> > that command doesn't undo the effect of the last character you type at
> > the I-search prompt, it just removes the last character of the search
> > string.  So it isn't supposed to move point back to where the search
> > started.  What you wanted to happen is what isearch-delete-char does.
> >
> > OK?
> 
> No, isearch-delete-char is a misnamed command.

I could agree with that, but it's a tangent.

> It undoes the last isearch command, which is typically inserting a
> character OR going to the next/previous match.  If you type ‘C-s y
> C-s DEL’ in emacs -q, the search string is still y.

That's true; you need to type DEL twice to actually remove the last
character.  But that's how that command was supposed to work, and it
does make sense to me, at least.

> I frankly think DEL should be isearch-del-char by default.  I never got
> used to isearch-delete-char in many years before finding out about
> isearch-del-char.  But that's besides the point.
> 
> As to why the patched version of isearch-delete-char is the "expected"
> or more useful one: this is to a degree a matter of taste, but I can
> give my reasons if you are still not convinced.

If we are talking about personal preferences, then I suggest to make
your desired behavior an opt-in one by introducing a defcustom.  We
cannot change the behavior of isearch-del-char unconditionally if the
existing behavior is not a bug, but just something some users may not
like.

Thanks.