diff options
author | Richard M. Stallman <rms@gnu.org> | 2002-09-29 17:51:45 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2002-09-29 17:51:45 +0000 |
commit | 98e942e0293fef05a410b07aed1594947b41fcbd (patch) | |
tree | e7554be4b5ac8fad0ca3f81e323fcb6df688b8b6 /src/search.c | |
parent | aac2d8b2fa5ca26bd5412153b8d48f1b90b24d23 (diff) | |
download | emacs-98e942e0293fef05a410b07aed1594947b41fcbd.tar.gz |
(Freplace_match): Adjust match data for the substitution
just made in the buffer.
Diffstat (limited to 'src/search.c')
-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. */) Fupcase_initials_region (make_number (search_regs.start[sub]), make_number (newpoint)); + /* Adjust search data for this change. */ + { + int change = newpoint - search_regs.end[sub]; + int i; + + for (i = 0; i < search_regs.num_regs; i++) + { + if (search_regs.start[i] > newpoint) + search_regs.start[i] += change; + if (search_regs.end[i] > newpoint) + search_regs.end[i] += change; + } + } + /* Put point back where it was in the text. */ if (opoint <= 0) TEMP_SET_PT (opoint + ZV); |