Fix bug #7019 (Math labels should not be escaped on saving)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_6_X@36164 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Enrico Forestieri 2010-11-06 15:24:37 +00:00
parent e8fc2aaf85
commit b983c2c5be
5 changed files with 18 additions and 9 deletions

View File

@ -634,7 +634,8 @@ void InsetMathGrid::drawT(TextPainter & /*pain*/, int /*x*/, int /*y*/) const
} }
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; docstring eol;
@ -1006,7 +1007,7 @@ void InsetMathGrid::write(WriteStream & os) const
ModeSpecifier specifier(os, TEXT_MODE); ModeSpecifier specifier(os, TEXT_MODE);
os << eocString(col, lastcol); os << eocString(col, lastcol);
} }
eol = eolString(row, os.fragile(), last_eoln); eol = eolString(row, os.fragile(), os.latex(), last_eoln);
os << eol; os << eol;
// append newline only if line wasn't completely empty // append newline only if line wasn't completely empty
// and this was not the last line in the grid // and this was not the last line in the grid

View File

@ -230,7 +230,8 @@ protected:
/// returns y offset of cell compared to inset /// returns y offset of cell compared to inset
int cellYOffset(idx_type idx) const; int cellYOffset(idx_type idx) const;
/// returns proper 'end of line' code for LaTeX /// 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 /// returns proper 'end of column' code for LaTeX
virtual docstring eocString(col_type col, col_type lastcol) const; virtual docstring eocString(col_type col, col_type lastcol) const;
/// splits cells and shifts right part to the next cell /// splits cells and shifts right part to the next cell

View File

@ -1071,19 +1071,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; docstring res;
if (numberedType()) { if (numberedType()) {
if (label_[row] && !nonum_[row]) if (label_[row] && !nonum_[row]) {
res += "\\label{" + docstring const name =
escape(label_[row]->getParam("name")) + '}'; latex ? escape(label_[row]->getParam("name"))
: label_[row]->getParam("name");
res += "\\label{" + name + '}';
}
if (nonum_[row] && (type_ != hullMultline)) if (nonum_[row] && (type_ != hullMultline))
res += "\\nonumber "; res += "\\nonumber ";
} }
// Never add \\ on the last empty line of eqnarray and friends // Never add \\ on the last empty line of eqnarray and friends
last_eoln = false; last_eoln = false;
return res + InsetMathGrid::eolString(row, fragile, last_eoln); return res + InsetMathGrid::eolString(row, fragile, latex, last_eoln);
} }

View File

@ -155,7 +155,8 @@ protected:
bool getStatus(Cursor & cur, FuncRequest const & cmd, bool getStatus(Cursor & cur, FuncRequest const & cmd,
FuncStatus & status) const; 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: private:
virtual Inset * clone() const; virtual Inset * clone() const;

View File

@ -116,6 +116,8 @@ What's new
- Save the path of pasted images as a relative path (part of bug 5561). - Save the path of pasted images as a relative path (part of bug 5561).
- Don't escape math labels when saving (bug 7019).
* USER INTERFACE * USER INTERFACE