GNU bug report logs -
#58158
29.0.50; [overlay] Interval tree iteration considered harmful
Previous Next
Reported by: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Date: Thu, 29 Sep 2022 05:30:02 UTC
Severity: normal
Found in version 29.0.50
Fixed in version 30.1
Done: Gerd Möllmann <gerd.moellmann <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #128 received at 58158 <at> debbugs.gnu.org (full text, mbox):
On 07.10.2022 22:47, Eli Zaretskii wrote:
>> Date: Fri, 7 Oct 2022 01:36:17 +0300
>> Cc: 58158 <at> debbugs.gnu.org, monnier <at> iro.umontreal.ca
>> From: Dmitry Gutov <dgutov <at> yandex.ru>
>>
>> On 30.09.2022 09:11, Eli Zaretskii wrote:
>>> "M-x xref-query-replace-in-results RET"
>>
>> JFYI this command has the convenient binding 'r' in Xref output buffers.
>
> It also works only when invoked from the Xref buffer, right?
Yep.
But we also have commands like xref-find-references-and-replace and
dired-do-find-regexp-and-replace.
> Btw, what am I doing wrong below?
>
> emacs -Q
> C-x C-f src/character.h RET
> M-x visit-tags-table RET RET
> M-. char_string RET
> r whatever RET
>
> Unexpected result: "No suitable matches here". Huh? what did I miss?
We can't replace over "find definition" matches: they are more abstract
and don't contain the necessary information to perform the replacement
(such as the length of a match, for instance).
And such xrefs might navigate you to the beginning of the line, for
example, rather than to the beginning of the name.
But that makes sense, doesn't it? If replacing over "find definitions"
results worked fine, in the end you would get a codebase where all
declarations of a method 'foo' got renamed, but all callsites of it
remain unchanged. That couldn't have been your intention, could it?
The error message could use some improvement, I suppose, but I'm not
sure how to make it better.
This bug report was last modified 1 year and 311 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.