Author: forenr
Date: Sat Nov  6 03:53:29 2010
New Revision: 36156
URL: http://www.lyx.org/trac/changeset/36156

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

Modified:
   lyx-devel/trunk/src/mathed/InsetMathGrid.cpp
   lyx-devel/trunk/src/mathed/InsetMathGrid.h
   lyx-devel/trunk/src/mathed/InsetMathHull.cpp
   lyx-devel/trunk/src/mathed/InsetMathHull.h

Modified: lyx-devel/trunk/src/mathed/InsetMathGrid.cpp
==============================================================================
--- lyx-devel/trunk/src/mathed/InsetMathGrid.cpp        Sat Nov  6 03:51:15 
2010        (r36155)
+++ lyx-devel/trunk/src/mathed/InsetMathGrid.cpp        Sat Nov  6 03:53:29 
2010        (r36156)
@@ -644,7 +644,8 @@
 }
 
 
-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 @@
                                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

Modified: lyx-devel/trunk/src/mathed/InsetMathGrid.h
==============================================================================
--- lyx-devel/trunk/src/mathed/InsetMathGrid.h  Sat Nov  6 03:51:15 2010        
(r36155)
+++ lyx-devel/trunk/src/mathed/InsetMathGrid.h  Sat Nov  6 03:53:29 2010        
(r36156)
@@ -240,7 +240,8 @@
        /// 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

Modified: lyx-devel/trunk/src/mathed/InsetMathHull.cpp
==============================================================================
--- lyx-devel/trunk/src/mathed/InsetMathHull.cpp        Sat Nov  6 03:51:15 
2010        (r36155)
+++ lyx-devel/trunk/src/mathed/InsetMathHull.cpp        Sat Nov  6 03:53:29 
2010        (r36156)
@@ -1120,19 +1120,23 @@
 }
 
 
-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);
 }
 
 

Modified: lyx-devel/trunk/src/mathed/InsetMathHull.h
==============================================================================
--- lyx-devel/trunk/src/mathed/InsetMathHull.h  Sat Nov  6 03:51:15 2010        
(r36155)
+++ lyx-devel/trunk/src/mathed/InsetMathHull.h  Sat Nov  6 03:53:29 2010        
(r36156)
@@ -167,7 +167,8 @@
        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;

Reply via email to