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

Reply via email to