Subject: RE: [External] : Re: bug#24510: 25.1; Info: searching for ` does not find what looks like `

From: Drew Adams <[email-masked]>
Date: Tue, 3 May 2022 19:23:42 +0000

> >> I thought that by default Isearch always should be literal,
> >> so the user could search only for plain ', and not to match
> >> its fancy variants.
> >
> > No, I want the default Isearch to fold `' with the fancy variants in
> > these modes.  :-)
> 
> So the users will have no way to search for ' literally?

No; see my other msgs in the thread about this.
Users _absolutely_ need the ability to search
for ` and ', as well as to search for ` and left
curly, and ' and right curly.

This is the problem.  We need to give them ways
to do everything, easily, and we need to provide
reasonable default behavior.  I agreed with you
that by default Isearch in Info and Help should
_not_ fold such confusables.  But users need to
know that they can easily do that (e.g. a key).

And we should I think come up with reasonable
ways to help with some feedback when Emacs can
guess that maybe the user meant to get folded
behavior but didn't, e.g., looked for ` and
didn't find any occurrences.  Such feedback
from guessing needs to be optional - it must
not be in-your-face and annoy.

> Or maybe better to add a new Isearch mode that char-folds only `'

I suggested having an Isearch _key_ (a toggle),
not a mode, for just that, as opposed to the
more drastic full char-folding.  And I suggested
having an option to configure the confusables
to fold.

> and enable it only in Help buffers?

No, I think that any such behavior should be
configurable, e.g. by an option that lists the
modes or buffer-name regexps, to define where
to apply it.
___

There are lots of possibilities for trying
to deal with all of this, and I don't have a
perfect solution (there isn't any, I
suspect).  It's worth brainstorming etc.
___

Even if we didn't have the catastrophe of the
imposition everywhere of curly quotes, we'd
have this problem (only __much__ less so) of
optionally folding confusables.  It merits
some reflection and discussion - better on
emacs-devel than here, I think.