commit 8202e4e571b90b3b87918437d6346bbf1cbfc6aa Author: Enrico Forestieri <for...@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 -- lyx-cvs mailing list lyx-cvs@lists.lyx.org http://lists.lyx.org/mailman/listinfo/lyx-cvs