aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman2002-09-29 17:51:45 +0000
committerRichard M. Stallman2002-09-29 17:51:45 +0000
commit98e942e0293fef05a410b07aed1594947b41fcbd (patch)
treee7554be4b5ac8fad0ca3f81e323fcb6df688b8b6
parentaac2d8b2fa5ca26bd5412153b8d48f1b90b24d23 (diff)
downloademacs-98e942e0293fef05a410b07aed1594947b41fcbd.tar.gz
emacs-98e942e0293fef05a410b07aed1594947b41fcbd.zip
(Freplace_match): Adjust match data for the substitution
just made in the buffer.
-rw-r--r--src/search.c14
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);