From e43bf58223b5b4207211521b417c2ebf7c6b2fa3 Mon Sep 17 00:00:00 2001 From: Enrico Forestieri Date: Fri, 9 Feb 2018 23:35:33 +0100 Subject: [PATCH] Avoid an infinite loop When pasting "\big" without any following delimiter, avoid processing the same token again and again. For unknown reasons, the delim docstring turns out to always be not empty: even when it simply contains a '0' (no delimiter follows), its length is 1. Fixes bug #11027. (cherry picked from commit 8e8b3f610495493f4f1bff3f4a0ff48f4eab4539) --- src/mathed/MathParser.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mathed/MathParser.cpp b/src/mathed/MathParser.cpp index 35062caefe..d7af40cb41 100644 --- a/src/mathed/MathParser.cpp +++ b/src/mathed/MathParser.cpp @@ -2000,7 +2000,10 @@ bool Parser::parse1(InsetMathGrid & grid, unsigned flags, new InsetMathBig(t.cs(), delim))); else { cell->push_back(createInsetMath(t.cs(), buf)); - putback(); + // For some reason delim.empty() + // is always false here + if (delim.at(0)) + putback(); } } -- 2.39.5