[LyX/master] tex2lyx: Fix two bugs in nomencl import

Juergen Spitzmueller spitz at lyx.org
Mon Jul 22 07:53:16 UTC 2024


commit 5bc4c11fd601773a7ffba850524afa03eafe13f9
Author: Juergen Spitzmueller <spitz at 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
---
 src/tex2lyx/text.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/tex2lyx/text.cpp b/src/tex2lyx/text.cpp
index cd16531d18..57fc2f0668 100644
--- a/src/tex2lyx/text.cpp
+++ b/src/tex2lyx/text.cpp
@@ -5009,10 +5009,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) {


More information about the lyx-cvs mailing list