From 7848d3c90c0837e8e8549db37bf4bc5cd7e7dad1 Mon Sep 17 00:00:00 2001 From: Jean-Marc Lasgouttes Date: Mon, 14 Jan 2019 16:37:10 +0100 Subject: [PATCH] Allow to type a space in front of another one This is a follow-up to 714b731e. This fixes the issue when the cursor is in front of a space abc| def and one inserts another space (to start a word). DEPM would eat one space and produce abc |def instead of abc | def Additionally, fix the same_par boolean, wheich did not take the cell index into account. Related to ticket #11412. --- src/Text2.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Text2.cpp b/src/Text2.cpp index cb394c2f0f..f505eadb92 100644 --- a/src/Text2.cpp +++ b/src/Text2.cpp @@ -819,8 +819,8 @@ bool Text::deleteEmptyParagraphMechanism(Cursor & cur, There are still some small problems that can lead to double spaces stored in the document file or space at the beginning of paragraphs(). This happens if you have - the cursor between to spaces and then save. Or if you - cut and paste and the selection have a space at the + the cursor between two spaces and then save. Or if you + cut and paste and the selection has a space at the beginning and then save right after the paste. (Lgb) */ @@ -840,7 +840,8 @@ bool Text::deleteEmptyParagraphMechanism(Cursor & cur, // Whether a common inset is found and whether the cursor is still in // the same paragraph (possibly nested). - bool const same_par = depth < cur.depth() && old.pit() == cur[depth].pit(); + bool const same_par = depth < cur.depth() && old.idx() == cur[depth].idx() + && old.pit() == cur[depth].pit(); bool const same_par_pos = depth == cur.depth() - 1 && same_par && old.pos() == cur[depth].pos(); @@ -863,7 +864,7 @@ bool Text::deleteEmptyParagraphMechanism(Cursor & cur, if (from != to && from > 0 && to < oldpar.size()) ++from; - if (same_par && cur.pos() > from && cur.pos() < to) + if (same_par && cur.pos() >= from && cur.pos() < to) ++from; // Remove spaces and adapt cursor. -- 2.39.2