From 9bef4f9f1a488bd3ee503d64ab6c8888fc774ea5 Mon Sep 17 00:00:00 2001 From: Kornel Benko Date: Tue, 15 Mar 2022 13:01:51 +0100 Subject: [PATCH] Amend f8071449: Added conversion for unicode 0x2bb Now regex using \textquoteleft works also without format search. --- src/lyxfind.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lyxfind.cpp b/src/lyxfind.cpp index 6308c64de8..bb678f802e 100644 --- a/src/lyxfind.cpp +++ b/src/lyxfind.cpp @@ -830,16 +830,21 @@ string string2regex(string in) return temp2; } +static void buildAccentsMap(); + string correctRegex(string t, bool withformat) { /* Convert \backslash => \ * and \{, \}, \[, \] => {, }, [, ] */ string s(""); - regex wordre("(\\\\)*(\\\\((backslash|mathcircumflex) ?|[\\[\\]\\{\\}]))"); + regex wordre("(\\\\)*(\\\\((backslash|mathcircumflex|textquoteleft) ?|[\\[\\]\\{\\}]))"); size_t lastpos = 0; smatch sub; bool backslashed = false; + if (accents.empty()) + buildAccentsMap(); + for (sregex_iterator it(t.begin(), t.end(), wordre), end; it != end; ++it) { sub = *it; string replace; @@ -861,6 +866,8 @@ string correctRegex(string t, bool withformat) } else if (sub.str(4) == "mathcircumflex") replace = "^"; + else if (sub.str(4) == "textquoteleft") + replace = accents["textquoteleft"]; else if (backslashed) { backslashed = false; if (withformat && (sub.str(3) == "{"))