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:
parent
216349f89e
commit
0f202d5d8f
@ -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.
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user