GNU bug report logs -
#42424
27.0.90; replace-match: point is NOT left at the end of replacement
Previous Next
Reported by: Ren Victor <victorhge <at> gmail.com>
Date: Sun, 19 Jul 2020 05:53:02 UTC
Severity: normal
Tags: patch
Found in version 27.0.90
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Eli Zaretskii <eliz <at> gnu.org> writes:
>> Uhm... is that comment wrong? Aren't we moving point to the end of the
>> inserted replacement?
>
> Yes, it should say "end", not "start".
Fixed now.
> Personally, I wonder what was expected here. If the modification
> hooks modify the replaced text behind our back, how can the Lisp
> program which does that expect to have point where it belongs? Am I
> missing something?
No, the semantics are pretty unclear, and it's not obvious whether we
can guarantee anything here. But the bug reporter notes:
> Other types of modification (insert or delete) do not have this issue.
> `point' is adjusted before running modification hooks.
So I think the suggestion is to move point to the end of the replacement
before running the modification hooks, i.e., move the point logic to
replace_range. But I'm not actually sure where the modification hooks
are being run from...
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
This bug report was last modified 1 year and 120 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.