commit 976e0b79933e162070ef3d2973fb0c899f8bdf54
Author: Enrico Forestieri <[email protected]>
Date:   Thu Dec 6 10:30:58 2018 +0100

    Amend bd21aa9
    
    Check whether a line is actually blank rather than whether
    we are at the beginning of a line.
---
 src/Changes.cpp |    2 +-
 src/texstream.h |    7 ++++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/Changes.cpp b/src/Changes.cpp
index 5f8e3b2..6e3bf0f 100644
--- a/src/Changes.cpp
+++ b/src/Changes.cpp
@@ -428,7 +428,7 @@ int Changes::latexMarkChange(otexstream & os, BufferParams 
const & bparams,
        // signature needed by \lyxsout to correctly strike out display math
        if (change.type == Change::DELETED && runparams.inDisplayMath
            && !dvipost) {
-               if (os.lastChar() == '\n')
+               if (os.blankLine())
                        str += from_ascii("\\\\\\noindent\n");
                else
                        str += from_ascii("\\\\\\\\\n");
diff --git a/src/texstream.h b/src/texstream.h
index 2cfcd16..a14f84b 100644
--- a/src/texstream.h
+++ b/src/texstream.h
@@ -82,7 +82,7 @@ public:
        explicit otexstream(odocstream & os)
                : otexrowstream(os), canbreakline_(false),
                  protectspace_(false), terminate_command_(false),
-                 parbreak_(true), lastchar_(0) {}
+                 parbreak_(true), blankline_(true), lastchar_(0) {}
        ///
        void put(char_type const & c);
        ///
@@ -103,6 +103,7 @@ public:
        void lastChar(char_type const & c)
        {
                parbreak_ = (!canbreakline_ && c == '\n');
+               blankline_ = ((!canbreakline_ && c == ' ') || c == '\n');
                canbreakline_ = (c != '\n');
                lastchar_ = c;
        }
@@ -110,6 +111,8 @@ public:
        char_type lastChar() const { return lastchar_; }
        ///
        bool afterParbreak() const { return parbreak_; }
+       ///
+       bool blankLine() const { return blankline_; }
 private:
        ///
        bool canbreakline_;
@@ -120,6 +123,8 @@ private:
        ///
        bool parbreak_;
        ///
+       bool blankline_;
+       ///
        char_type lastchar_;
 };
 

Reply via email to