From 79ef98205db490a427d8423be136bba54ecd7738 Mon Sep 17 00:00:00 2001 From: Enrico Forestieri Date: Sat, 6 Nov 2010 02:53:29 +0000 Subject: [PATCH] Fix bug #7019 (Math labels should not be escaped on saving) git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36156 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/mathed/InsetMathGrid.cpp | 5 +++-- src/mathed/InsetMathGrid.h | 3 ++- src/mathed/InsetMathHull.cpp | 14 +++++++++----- src/mathed/InsetMathHull.h | 3 ++- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/mathed/InsetMathGrid.cpp b/src/mathed/InsetMathGrid.cpp index 2c950e5453..ada03bb8e5 100644 --- a/src/mathed/InsetMathGrid.cpp +++ b/src/mathed/InsetMathGrid.cpp @@ -644,7 +644,8 @@ void InsetMathGrid::updateBuffer(ParIterator const & it, UpdateType utype) } -docstring InsetMathGrid::eolString(row_type row, bool fragile, bool last_eoln) const +docstring InsetMathGrid::eolString(row_type row, bool fragile, bool latex, + bool last_eoln) const { docstring eol; @@ -1061,7 +1062,7 @@ void InsetMathGrid::write(WriteStream & os, ModeSpecifier specifier(os, TEXT_MODE); os << eocString(col, lastcol); } - eol = eolString(row, os.fragile(), last_eoln); + eol = eolString(row, os.fragile(), os.latex(), last_eoln); os << eol; // append newline only if line wasn't completely empty // and the formula is not written on a single line diff --git a/src/mathed/InsetMathGrid.h b/src/mathed/InsetMathGrid.h index 0dff138b37..3b1b5a1c25 100644 --- a/src/mathed/InsetMathGrid.h +++ b/src/mathed/InsetMathGrid.h @@ -240,7 +240,8 @@ protected: /// returns y offset of cell compared to inset int cellYOffset(idx_type idx) const; /// returns proper 'end of line' code for LaTeX - virtual docstring eolString(row_type row, bool fragile, bool last_eoln) const; + virtual docstring eolString(row_type row, bool fragile, bool latex, + bool last_eoln) const; /// returns proper 'end of column' code for LaTeX virtual docstring eocString(col_type col, col_type lastcol) const; /// splits cells and shifts right part to the next cell diff --git a/src/mathed/InsetMathHull.cpp b/src/mathed/InsetMathHull.cpp index bd0b9c5f36..0ada0bc9f5 100644 --- a/src/mathed/InsetMathHull.cpp +++ b/src/mathed/InsetMathHull.cpp @@ -1120,19 +1120,23 @@ void InsetMathHull::mutate(HullType newtype) } -docstring InsetMathHull::eolString(row_type row, bool fragile, bool last_eoln) const +docstring InsetMathHull::eolString(row_type row, bool fragile, bool latex, + bool last_eoln) const { docstring res; if (numberedType()) { - if (label_[row] && numbered_[row]) - res += "\\label{" + - escape(label_[row]->getParam("name")) + '}'; + if (label_[row] && numbered_[row]) { + docstring const name = + latex ? escape(label_[row]->getParam("name")) + : label_[row]->getParam("name"); + res += "\\label{" + name + '}'; + } if (!numbered_[row] && (type_ != hullMultline)) res += "\\nonumber "; } // Never add \\ on the last empty line of eqnarray and friends last_eoln = false; - return res + InsetMathGrid::eolString(row, fragile, last_eoln); + return res + InsetMathGrid::eolString(row, fragile, latex, last_eoln); } diff --git a/src/mathed/InsetMathHull.h b/src/mathed/InsetMathHull.h index 6e2a1cd974..7f161f2235 100644 --- a/src/mathed/InsetMathHull.h +++ b/src/mathed/InsetMathHull.h @@ -167,7 +167,8 @@ protected: bool getStatus(Cursor & cur, FuncRequest const & cmd, FuncStatus & status) const; /// - docstring eolString(row_type row, bool fragile, bool last_eoln) const; + docstring eolString(row_type row, bool fragile, bool latex, + bool last_eoln) const; private: virtual Inset * clone() const; -- 2.39.5