1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00

(perform-replace): Don't use an empty match adjacent

to a non-empty match when computing the next match before the
replacement is performed.
This commit is contained in:
Gerd Moellmann 2000-12-12 14:13:13 +00:00
parent bbbf6d06b8
commit fa257eefd2

View File

@ -965,15 +965,20 @@ which will run faster and probably do exactly what you want."
(setq nonempty-match
(/= (nth 0 real-match-data) (nth 1 real-match-data)))
;; If the match is empty, record that the next one can't be adjacent.
;; If the match is empty, record that the next one can't be
;; adjacent.
;; Otherwise, if matching a regular expression, do the next
;; match now, since the replacement for this match may
;; affect whether the next match is adjacent to this one.
;; If that match is empty, don't use it.
(setq match-again
(and nonempty-match
(or (not regexp-flag)
(and (looking-at search-string)
(match-data)))))
(let ((match (match-data)))
(and (/= (nth 0 match) (nth 1 match))
match))))))
;; Calculate the replacement string, if necessary.
(when replacements