[LyX/master] Disable direct insertion of multiple spaces in mathed text
Enrico Forestieri
forenr at lyx.org
Thu Feb 4 20:20:05 UTC 2021
commit 8202e4e571b90b3b87918437d6346bbf1cbfc6aa
Author: Enrico Forestieri <forenr at lyx.org>
Date: Thu Feb 4 21:20:45 2021 +0100
Disable direct insertion of multiple spaces in mathed text
Fixes #1311
---
src/mathed/InsetMathNest.cpp | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/src/mathed/InsetMathNest.cpp b/src/mathed/InsetMathNest.cpp
index 2f4df74..b999474 100644
--- a/src/mathed/InsetMathNest.cpp
+++ b/src/mathed/InsetMathNest.cpp
@@ -1819,7 +1819,13 @@ bool InsetMathNest::interpretChar(Cursor & cur, char_type const c)
// but suppress direct insertion of two spaces in a row
// the still allows typing '<space>a<space>' and deleting the 'a', but
// it is better than nothing...
- if (cur.pos() == 0 || cur.prevAtom()->getChar() != ' ') {
+ pos_type const pos = cur.pos();
+ pos_type const lastpos = cur.lastpos();
+ if ((pos == 0 && lastpos == 0)
+ || (pos == 0 && cur.nextAtom()->getChar() != ' ')
+ || (pos == lastpos && cur.prevAtom()->getChar() != ' ')
+ || (pos > 0 && cur.prevAtom()->getChar() != ' '
+ && cur.nextAtom()->getChar() != ' ')) {
cur.insert(c);
// FIXME: we have to enable full redraw here because of the
// visual box corners that define the inset. If we know for
More information about the lyx-cvs
mailing list