Subject: Re: bug#22479: 25.0.50; isearch and query-replace histories do not remember if we were looking for symbols

From: Stephen Berman <[email-masked]>
Date: Thu, 28 Jan 2016 09:10:33 +0100

On Wed, 27 Jan 2016 14:27:53 -0800 Dima Kogan <[email-masked]> wrote:

> Hi. It is possible to look for a symbol, and for this information to be
> lost when repeating a search. For instance, say I have this buffer:
>
> =======
> a b c
> ab bc
> =======
>
> 1. I put the point on the first 'a'
>
> 2. M-s . (search for symbol at point). This find a symbol 'a', so the
>    'a' in 'ab' doesn't match
>
> 3. C-g (quit the search)
>
> 4. C-s C-s (repeat previous search). Here emacs remembers we looked for
>    'a', but not that it was a symbol, so it finds the 'a' in 'ab' even
>    though it should not

I can't reproduce this with -Q in emacs-25 (revision 5293d1b); doing
step 4 displays the message "[No previous search string]".  But if prior
to step 1 I do `C-s b RET C-a' and then continue with your recipe, doing
step 4 makes "b" the search string.  So I guess you had searched for "a"
before doing `M-s .'.

>
> A similar sequence is possible with query-replace:
>
> 1. Point on 'a'
>
> 2. M-s .
>
> 3. C-M-%, 'asdf' to replace the symbol 'a' with 'asdf'
>
> 4. C-g (quit before replacing anything)
>
> 5. C-M-% (repeat last replacement. The symbol-ness of 'a' was forgotten)

This I can reproduce with -Q.

Steve Berman