diff options
| -rw-r--r-- | src/search.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/search.c b/src/search.c index f795eb40abe..6f6aa90b919 100644 --- a/src/search.c +++ b/src/search.c | |||
| @@ -2567,6 +2567,20 @@ since only regular expressions have distinguished subexpressions. */) | |||
| 2567 | Fupcase_initials_region (make_number (search_regs.start[sub]), | 2567 | Fupcase_initials_region (make_number (search_regs.start[sub]), |
| 2568 | make_number (newpoint)); | 2568 | make_number (newpoint)); |
| 2569 | 2569 | ||
| 2570 | /* Adjust search data for this change. */ | ||
| 2571 | { | ||
| 2572 | int change = newpoint - search_regs.end[sub]; | ||
| 2573 | int i; | ||
| 2574 | |||
| 2575 | for (i = 0; i < search_regs.num_regs; i++) | ||
| 2576 | { | ||
| 2577 | if (search_regs.start[i] > newpoint) | ||
| 2578 | search_regs.start[i] += change; | ||
| 2579 | if (search_regs.end[i] > newpoint) | ||
| 2580 | search_regs.end[i] += change; | ||
| 2581 | } | ||
| 2582 | } | ||
| 2583 | |||
| 2570 | /* Put point back where it was in the text. */ | 2584 | /* Put point back where it was in the text. */ |
| 2571 | if (opoint <= 0) | 2585 | if (opoint <= 0) |
| 2572 | TEMP_SET_PT (opoint + ZV); | 2586 | TEMP_SET_PT (opoint + ZV); |