]> git.lyx.org Git - features.git/commitdiff
Fixed bug in escape sequence, showing up with ignore format off (addressing #8380).
authorTommaso Cucinotta <tommaso@lyx.org>
Mon, 22 Oct 2012 00:03:44 +0000 (01:03 +0100)
committerTommaso Cucinotta <tommaso@lyx.org>
Mon, 22 Oct 2012 00:05:29 +0000 (01:05 +0100)
development/autotests/findadv-re-04-in.txt [new file with mode: 0644]
src/lyxfind.cpp

diff --git a/development/autotests/findadv-re-04-in.txt b/development/autotests/findadv-re-04-in.txt
new file mode 100644 (file)
index 0000000..06481b1
--- /dev/null
@@ -0,0 +1,12 @@
+# Finding styles with regexp
+
+Lang it_IT.utf8
+TestBegin test.lyx -dbg find > lyx-log.txt 2>&1
+KK: Hello \CeHello\C\[Home]
+KK: \Cs
+KK: \CF
+# Uncheck ignore format (depends on IT language)
+KK: \Az\Ag\Ae
+KK: \Ce\Axregexp-mode\[Return].*\[Return]
+TestEnd
+Assert pcregrep -M 'Putting selection at .*idx: 0 par: 0 pos: 6\n with len: 5' lyx-log.txt
index bd4e04e860e9825fdd4b0961402b792bc979c69e..b46abc790e074365b4f6bf75141950156ac44ed9 100644 (file)
@@ -492,19 +492,20 @@ Escapes const & get_regexp_escapes()
 {
        static Escapes escape_map;
        if (escape_map.empty()) {
-               escape_map.push_back(pair<string, string>("$", "\\$"));
-               escape_map.push_back(pair<string, string>("{", "\\{"));
-               escape_map.push_back(pair<string, string>("}", "\\}"));
-               escape_map.push_back(pair<string, string>("[", "\\["));
-               escape_map.push_back(pair<string, string>("]", "\\]"));
-               escape_map.push_back(pair<string, string>("(", "\\("));
-               escape_map.push_back(pair<string, string>(")", "\\)"));
-               escape_map.push_back(pair<string, string>("+", "\\+"));
-               escape_map.push_back(pair<string, string>("*", "\\*"));
-               escape_map.push_back(pair<string, string>(".", "\\."));
+               escape_map.push_back(pair<string, string>("$", "_x_$"));
+               escape_map.push_back(pair<string, string>("{", "_x_{"));
+               escape_map.push_back(pair<string, string>("}", "_x_}"));
+               escape_map.push_back(pair<string, string>("[", "_x_["));
+               escape_map.push_back(pair<string, string>("]", "_x_]"));
+               escape_map.push_back(pair<string, string>("(", "_x_("));
+               escape_map.push_back(pair<string, string>(")", "_x_)"));
+               escape_map.push_back(pair<string, string>("+", "_x_+"));
+               escape_map.push_back(pair<string, string>("*", "_x_*"));
+               escape_map.push_back(pair<string, string>(".", "_x_."));
                escape_map.push_back(pair<string, string>("\\", "(?:\\\\|\\\\backslash)"));
                escape_map.push_back(pair<string, string>("~", "(?:\\\\textasciitilde|\\\\sim)"));
                escape_map.push_back(pair<string, string>("^", "(?:\\^|\\\\textasciicircum\\{\\}|\\\\mathcircumflex)"));
+               escape_map.push_back(pair<string, string>("_x_", "\\"));
        }
        return escape_map;
 }