Commit 3534d8ff authored by Benno Schulenberg's avatar Benno Schulenberg
Browse files

replacing: compensate cursor position only for replacements /before/ it

When a replacement happens right at where the cursor sits, the position
of the cursor should not be adjusted, because the real cursor position
is between the current character and the preceding one: the place where
the cursor is shown is in fact right /after/ the insertion point.

This fixes https://savannah.gnu.org/bugs/?50134,
and fixes https://savannah.gnu.org/bugs/?50135.
Showing with 1 addition and 1 deletion
+1 -1
......@@ -710,7 +710,7 @@ ssize_t do_replace_loop(const char *needle, bool whole_word_only,
if (!old_mark_set || right_side_up) {
#endif
if (openfile->current == real_current &&
openfile->current_x <= *real_current_x) {
openfile->current_x < *real_current_x) {
if (*real_current_x < openfile->current_x + match_len)
*real_current_x = openfile->current_x + match_len;
*real_current_x += length_change;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment