mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-28 07:45:00 +00:00
(perform-replace): Let-bind recenter-last-op to nil.
For def=recenter, replace `recenter' with `recenter-top-bottom' that is called with `this-command' and `last-command' let-bound to `recenter-top-bottom'. When the last `def' was not `recenter', set `recenter-last-op' to nil. (Bug#4981)
This commit is contained in:
parent
20565545f2
commit
2952b1ae04
@ -1,3 +1,11 @@
|
||||
2009-11-30 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* replace.el (perform-replace): Let-bind recenter-last-op to nil.
|
||||
For def=recenter, replace `recenter' with `recenter-top-bottom'
|
||||
that is called with `this-command' and `last-command' let-bound
|
||||
to `recenter-top-bottom'. When the last `def' was not `recenter',
|
||||
set `recenter-last-op' to nil. (Bug#4981)
|
||||
|
||||
2009-11-30 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
Minor cleanup and simplification.
|
||||
|
@ -1549,6 +1549,7 @@ make, or the user didn't cancel the call."
|
||||
(replace-count 0)
|
||||
(nonempty-match nil)
|
||||
(multi-buffer nil)
|
||||
(recenter-last-op nil) ; Start cycling order with initial position.
|
||||
|
||||
;; If non-nil, it is marker saying where in the buffer to stop.
|
||||
(limit nil)
|
||||
@ -1785,7 +1786,12 @@ make, or the user didn't cancel the call."
|
||||
((eq def 'skip)
|
||||
(setq done t))
|
||||
((eq def 'recenter)
|
||||
(recenter nil))
|
||||
;; `this-command' has the value `query-replace',
|
||||
;; so we need to bind it to `recenter-top-bottom'
|
||||
;; to allow it to detect a sequence of `C-l'.
|
||||
(let ((this-command 'recenter-top-bottom)
|
||||
(last-command 'recenter-top-bottom))
|
||||
(recenter-top-bottom)))
|
||||
((eq def 'edit)
|
||||
(let ((opos (point-marker)))
|
||||
(setq real-match-data (replace-match-data
|
||||
@ -1839,9 +1845,12 @@ make, or the user didn't cancel the call."
|
||||
unread-command-events))
|
||||
(setq done t)))
|
||||
(when query-replace-lazy-highlight
|
||||
;; Force lazy rehighlighting only after replacements
|
||||
;; Force lazy rehighlighting only after replacements.
|
||||
(if (not (memq def '(skip backup)))
|
||||
(setq isearch-lazy-highlight-last-string nil))))
|
||||
(setq isearch-lazy-highlight-last-string nil)))
|
||||
(unless (eq def 'recenter)
|
||||
;; Reset recenter cycling order to initial position.
|
||||
(setq recenter-last-op nil)))
|
||||
;; Record previous position for ^ when we move on.
|
||||
;; Change markers to numbers in the match data
|
||||
;; since lots of markers slow down editing.
|
||||
|
Loading…
Reference in New Issue
Block a user