commit a7905c5b960cc07ddc801cbc217600e5cd4812f0
Author: Juergen Spitzmueller <[email protected]>
Date:   Mon Dec 27 16:31:09 2021 +0100

    Do not protect \\ as of LaTeX 2021/06/01
---
 lib/chkconfig.ltx            |    2 ++
 src/mathed/InsetMathGrid.cpp |   12 +++++++-----
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/lib/chkconfig.ltx b/lib/chkconfig.ltx
index 3512887..fe3ce0d 100644
--- a/lib/chkconfig.ltx
+++ b/lib/chkconfig.ltx
@@ -240,6 +240,8 @@
 % This introduces all math and text spaces
 % previously only available via amsmath
 \TestLaTeXVersion{2020/10/01}
+% This robustifies LaTeX commands
+\TestLaTeXVersion{2021/06/01}
 
 %%% And now, the list of available languages
 % The trick is to know that \the\everyjob contains something like
diff --git a/src/mathed/InsetMathGrid.cpp b/src/mathed/InsetMathGrid.cpp
index aa60d6a..f180b9a 100644
--- a/src/mathed/InsetMathGrid.cpp
+++ b/src/mathed/InsetMathGrid.cpp
@@ -772,9 +772,6 @@ docstring InsetMathGrid::eolString(row_type row, bool 
fragile,
        if (eol.empty() && row + 1 == nrows() && (nrows() == 1 || !last_eoln))
                return docstring();
 
-       // FIXME: As of 2018 (with amendment in LaTeX 2021/06),
-       // \\ is a robust command and the following protection
-       // is no longer necessary
        return (fragile ? "\\protect\\\\" : "\\\\") + eol;
 }
 
@@ -1251,6 +1248,11 @@ void InsetMathGrid::write(TeXMathStream & os,
 {
        MathEnsurer ensurer(os, false);
        docstring eol;
+       // As of 2018 (with amendment in LaTeX 2021/06),
+       // \\ is a robust command and its protection
+       // is no longer necessary
+       bool const fragile = LaTeXFeatures::isAvailable("LaTeX-2021/06/01") ?
+               false : os.fragile();
        for (row_type row = beg_row; row < end_row; ++row) {
                os << verboseHLine(rowinfo_[row].lines);
                // don't write & and empty cells at end of line,
@@ -1297,7 +1299,7 @@ void InsetMathGrid::write(TeXMathStream & os,
                        os << eocString(col + nccols - 1, lastcol);
                        col += nccols;
                }
-               eol = eolString(row, os.fragile(), os.latex(), last_eoln);
+               eol = eolString(row, 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
@@ -1309,7 +1311,7 @@ void InsetMathGrid::write(TeXMathStream & os,
        docstring const s = verboseHLine(rowinfo_[nrows()].lines);
        if (!s.empty()) {
                if (eol.empty()) {
-                       if (os.fragile())
+                       if (fragile)
                                os << "\\protect";
                        os << "\\\\";
                }
-- 
lyx-cvs mailing list
[email protected]
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to