aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/search.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/search.c b/src/search.c
index 020573b75a1..c60d68b9374 100644
--- a/src/search.c
+++ b/src/search.c
@@ -2366,13 +2366,21 @@ since only regular expressions have distinguished subexpressions. */)
2366 substart = search_regs.start[sub]; 2366 substart = search_regs.start[sub];
2367 subend = search_regs.end[sub]; 2367 subend = search_regs.end[sub];
2368 } 2368 }
2369 else if (c >= '1' && c <= '9' && c <= search_regs.num_regs + '0') 2369 else if (c >= '1' && c <= '9')
2370 { 2370 {
2371 if (search_regs.start[c - '0'] >= 0) 2371 if (search_regs.start[c - '0'] >= 0
2372 && c <= search_regs.num_regs + '0')
2372 { 2373 {
2373 substart = search_regs.start[c - '0']; 2374 substart = search_regs.start[c - '0'];
2374 subend = search_regs.end[c - '0']; 2375 subend = search_regs.end[c - '0'];
2375 } 2376 }
2377 else
2378 {
2379 /* If that subexp did not match,
2380 replace \\N with nothing. */
2381 substart = 0;
2382 subend = 0;
2383 }
2376 } 2384 }
2377 else if (c == '\\') 2385 else if (c == '\\')
2378 delbackslash = 1; 2386 delbackslash = 1;