Check whether a line is actually blank rather than whether
we are at the beginning of a line.
This commit is contained in:
Enrico Forestieri 2018-12-06 10:30:58 +01:00
parent cd94180492
commit 976e0b7993
2 changed files with 7 additions and 2 deletions

View File

@ -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");

View File

@ -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_;
};