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

(move-to-window-line-last-op): Remove.

(move-to-window-line-top-bottom): Reuse recenter-last-op instead.
This commit is contained in:
Stefan Monnier 2009-11-23 05:37:34 +00:00
parent 216349f89e
commit 0f202d5d8f
2 changed files with 14 additions and 12 deletions

View File

@ -1,5 +1,11 @@
2009-11-23 Stefan Monnier <monnier@iro.umontreal.ca>
* window.el (move-to-window-line-last-op): Remove.
(move-to-window-line-top-bottom): Reuse recenter-last-op instead.
2009-11-23 Deniz Dogan <deniz.a.m.dogan@gmail.com> (tiny change)
Make M-r mirror the new cycling behavior of C-l.
* window.el (move-to-window-line-last-op): New var.
(move-to-window-line-top-bottom): New command.
(global-map): Bind M-r move-to-window-line-top-bottom.

View File

@ -1653,34 +1653,30 @@ Top and bottom destinations are actually `scroll-margin' lines
(define-key global-map [?\C-l] 'recenter-top-bottom)
(defvar move-to-window-line-last-op nil
"Indicates the last move-to-window-line operation performed.
Possible values: `top', `middle', `bottom'.")
(defun move-to-window-line-top-bottom (&optional arg)
"Position point relative to window.
With an argument, acts like `move-to-window-line'.
With a prefix argument ARG, acts like `move-to-window-line'.
With no argument, positions point at center of window.
Successive calls positions point at the top, the bottom and again
Successive calls position point at the top, the bottom and again
at the center of the window."
(interactive "P")
(cond
(arg (move-to-window-line arg)) ; Always respect ARG.
((or (not (eq this-command last-command))
(eq move-to-window-line-last-op 'bottom))
(setq move-to-window-line-last-op 'middle)
(eq recenter-last-op 'bottom))
(setq recenter-last-op 'middle)
(call-interactively 'move-to-window-line))
(t
(let ((this-scroll-margin
(min (max 0 scroll-margin)
(truncate (/ (window-body-height) 4.0)))))
(cond ((eq move-to-window-line-last-op 'middle)
(setq move-to-window-line-last-op 'top)
(cond ((eq recenter-last-op 'middle)
(setq recenter-last-op 'top)
(move-to-window-line this-scroll-margin))
((eq move-to-window-line-last-op 'top)
(setq move-to-window-line-last-op 'bottom)
((eq recenter-last-op 'top)
(setq recenter-last-op 'bottom)
(move-to-window-line (- -1 this-scroll-margin))))))))
(define-key global-map [?\M-r] 'move-to-window-line-top-bottom)