commit 4a796889e9d62c8167c57fad460732109646a2a3
Author: Juergen Spitzmueller <sp...@lyx.org>
Date:   Mon Jul 22 09:51:54 2024 +0200

    tex2lyx: Fix two bugs in nomencl import
    
    * The comment character % is made active to serve as an escape char
    * quotation marks need to be escaped
    
    (cherry picked from commit 5bc4c11fd601773a7ffba850524afa03eafe13f9)
---
 src/tex2lyx/text.cpp | 8 ++++++++
 status.24x           | 1 +
 2 files changed, 9 insertions(+)

diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp
index 7c63b7679f..af0be81231 100644
--- a/src/tex2lyx/text.cpp
+++ b/src/tex2lyx/text.cpp
@@ -4946,10 +4946,18 @@ void parse_text(Parser & p, ostream & os, unsigned 
flags, bool outer,
                        string prefix = 
convert_literate_command_inset_arg(p.getArg('[', ']'));
                        if (!prefix.empty())
                                os << "prefix " << '"' << prefix << '"' << "\n";
+                       // nomencl activates %
+                       CatCode savecc = p.catcode('%');
+                       p.setCatcode('%', catActive);
                        string symbol = p.verbatim_item();
+                       p.setCatcode('%', savecc);
+                       // escape quotation marks
+                       symbol = subst(symbol, "\"", "\\\"");
                        pair<bool, string> sym = 
convert_latexed_command_inset_arg(symbol);
                        bool literal = !sym.first;
                        string description = p.verbatim_item();
+                       // escape quotation marks
+                       description = subst(description, "\"", "\\\"");
                        pair<bool, string> desc = 
convert_latexed_command_inset_arg(description);
                        literal |= !desc.first;
                        if (literal) {
diff --git a/status.24x b/status.24x
index 2be245c92d..7e4886fea3 100644
--- a/status.24x
+++ b/status.24x
@@ -84,6 +84,7 @@ What's new
 
 * TEX2LYX
 
+- Fix import of nomenclature entries which contain '%' or '"' characters.
 
 
 * LYXHTML
-- 
lyx-cvs mailing list
lyx-cvs@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-cvs

Reply via email to