[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#4981: C-l during query-replace

From: Juri Linkov
Subject: bug#4981: C-l during query-replace
Date: Mon, 30 Nov 2009 01:44:30 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (x86_64-pc-linux-gnu)

> I guess there are many other places that need replacing with the new
> command (e.g. `gnus-recenter').

I fixed `gnus-recenter' in gnus-sum.el.

> But with the patch I proposed in
> http://thread.gmane.org/gmane.emacs.devel/110349/focus=115915
> the name `recenter-top-bottom' makes no sense anymore.
> Maybe we should rename it to something more suitable
> before replacing `recenter' calls with the new name everywhere?

Installed.  Currently I have no opinion about renaming
`recenter-top-bottom' to something more reasonable.

>> C-l during query-replace should run `recenter-top-bottom', not
>> `recenter' for consistency with what C-l normally does nowadays.

I can't find a clean solution because in the case of query-replace,
`this-command' is always `query-replace'.

This patch kinda works (though it doesn't reset the cycling order),
but I don't like this.

Index: lisp/window.el
RCS file: /sources/emacs/emacs/lisp/window.el,v
retrieving revision 1.190
diff -u -r1.190 window.el
--- lisp/window.el      29 Nov 2009 23:34:09 -0000      1.190
+++ lisp/window.el      29 Nov 2009 23:42:30 -0000
@@ -1654,7 +1654,8 @@
    (arg (recenter arg))                        ; Always respect ARG.
     (setq recenter-last-op
-         (if (eq this-command last-command)
+         (if (or (eq this-command last-command)
+                 (eq this-command 'query-replace))
              (car (or (cdr (member recenter-last-op recenter-positions))
            (car recenter-positions)))

Index: lisp/replace.el
RCS file: /sources/emacs/emacs/lisp/replace.el,v
retrieving revision 1.287
diff -u -r1.287 replace.el
--- lisp/replace.el     12 Nov 2009 06:55:43 -0000      1.287
+++ lisp/replace.el     29 Nov 2009 23:43:28 -0000
@@ -1785,7 +1788,9 @@
                        ((eq def 'skip)
                         (setq done t))
                        ((eq def 'recenter)
-                        (recenter nil))
+                        (recenter-top-bottom))
                        ((eq def 'edit)
                         (let ((opos (point-marker)))
                           (setq real-match-data (replace-match-data

Juri Linkov

reply via email to

[Prev in Thread] Current Thread [Next in Thread]