Subject: Re: bug#13480: 24.3.50; `C-w' from Isearch should translate newlines to spaces

From: Dani Moncayo <[email-masked]>
Date: Sat, 19 Jan 2013 13:11:15 +0100

>> 1. Store in one variable the "raw" (untouched) search string, as
>> supplied by the user.
>
> Such variable that holds the raw search string already exists.
> It is `isearch-string'.

Currently that's not true.  For example, after invoking
`isearch-yank-string', `isearch-string' ends up holding the translated
version of the raw search string, which is not available anymore.

>> 2. Store in another variable (or define a function to get) the
>> "canonical" search string, based on the raw search string and the
>> "laxities" enabled at that moment for the search algorithm (related to
>> whitespace, case-sensitivity, accents, etc).
>> 3. Display the canonical search string in the echo area and use it
>> also in the search algorithm.
>
> Such variable used to display the search string in the echo area already exists.
> It is `isearch-message'.
>
> So we could use `isearch-message' to display the translated search string
> but not to translate it in `isearch-string'.

Not sure what you mean.  If you are going to use `isearch-string' to
store the raw search string, obviously that variable should not be
overwritten with the translated version.

So you need another variable for the translated version, but I don't
think `isearch-message' is a good name, because the intent is not
(only) to be a mere message for the user, but to serve as input for
the search algorithm.  Therefore I'd look for a name which better
reflects that intent.  For example `isearch-string-canonical' or
`isearch-string-normalized' or something like that (see
http://en.wikipedia.org/wiki/Canonicalization for inspiration).

-- 
Dani Moncayo