commit 714b731e398b89aaea403dab9929648534e7adc7
Author: Jean-Marc Lasgouttes <[email protected]>
Date: Fri Dec 21 15:36:55 2018 +0100
Make DEPM respect current cursor position.
Spaces are now conserved when they surround current cursor. Examples:
abc | def
becomes
abc | def
after DEPM and
abc |
is kept as it is.
Fixes ticket #11412.
(cherry picked from commit dff0c5729e6eec4c799f60171e4d0a377327ab10)
---
src/Text2.cpp | 7 +++++--
status.23x | 2 ++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/Text2.cpp b/src/Text2.cpp
index e0f5963..d6f5a83 100644
--- a/src/Text2.cpp
+++ b/src/Text2.cpp
@@ -850,7 +850,7 @@ bool Text::deleteEmptyParagraphMechanism(Cursor & cur,
&& old.pos() == cur[depth].pos();
// If the chars around the old cursor were spaces, delete some of
- // them , but only if the cursor has really moved.
+ // them, but only if the cursor has really moved.
if (!same_par_pos) {
// find range of spaces around cursors
int from = old.pos();
@@ -868,6 +868,9 @@ bool Text::deleteEmptyParagraphMechanism(Cursor & cur,
if (from != to && from > 0 && to < oldpar.size())
++from;
+ if (same_par && cur.pos() > from && cur.pos() < to)
+ ++from;
+
// Remove spaces and adapt cursor.
if (from < to) {
oldpar.eraseChars(from, to,
cur.buffer()->params().track_changes);
@@ -884,7 +887,7 @@ bool Text::deleteEmptyParagraphMechanism(Cursor & cur,
}
}
- // only do our magic if we changed paragraph
+ // only do our other magic if we changed paragraph
if (same_par)
return false;
diff --git a/status.23x b/status.23x
index 9680d6f..386df1a 100644
--- a/status.23x
+++ b/status.23x
@@ -39,6 +39,8 @@ What's new
- Insert new graphics inset on the correct cursor position.
+- Fix regression where spaces are disappearing when editing text (bug 11412).
+
* DOCUMENTATION AND LOCALIZATION