From b6cd31e99a15213e2b3f557de827f65b7a6c995c Mon Sep 17 00:00:00 2001 From: Juergen Spitzmueller Date: Mon, 12 Aug 2024 18:22:57 +0200 Subject: [PATCH] Properly escape special characters (!, @, |) in nomenclature output --- src/insets/InsetCommandParams.cpp | 8 +++++--- status.24x | 2 ++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/insets/InsetCommandParams.cpp b/src/insets/InsetCommandParams.cpp index 9c3552a4b7..a341f73233 100644 --- a/src/insets/InsetCommandParams.cpp +++ b/src/insets/InsetCommandParams.cpp @@ -550,9 +550,11 @@ docstring InsetCommandParams::prepareCommand(OutputParams const & runparams, // INDEX_ESCAPE is independent of the others if (handling & ParamInfo::HANDLING_INDEX_ESCAPE) { // Now escape special commands - static docstring const quote = from_ascii("\""); + // We only use this for nomencl, which has the + // escape char '%' + static docstring const esc_char = from_ascii("%"); int const nchars_escape = 4; - static char_type const chars_escape[nchars_escape] = { '"', '@', '|', '!' }; + static char_type const chars_escape[nchars_escape] = { '@', '|', '!' }; if (!result.empty()) { // The characters in chars_name[] need to be changed to a command when @@ -561,7 +563,7 @@ docstring InsetCommandParams::prepareCommand(OutputParams const & runparams, for (size_t i = 0, pos; (pos = result.find(chars_escape[k], i)) != string::npos; i = pos + 2) - result.replace(pos, 1, quote + chars_escape[k]); + result.replace(pos, 1, esc_char + chars_escape[k]); } } diff --git a/status.24x b/status.24x index 0520e69b48..b0a7e1d40b 100644 --- a/status.24x +++ b/status.24x @@ -61,6 +61,8 @@ What's new - When exporting to MathML, the argument of the \boxed{} macro is now correctly treated as math. + +- Properly escape special characters (!, @, |) in nomenclature output. * USER INTERFACE