mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-01 11:14:55 +00:00
Add variable scroll-error-top-bottom.
http://lists.gnu.org/archive/html/emacs-devel/2010-04/msg00403.html * simple.el (scroll-error-top-bottom): New defcustom. (scroll-up-command, scroll-down-command): Use it. Doc fix. * emulation/pc-select.el (pc-select-override-scroll-error): Obsolete in favor of `scroll-error-top-bottom'.
This commit is contained in:
parent
3212974649
commit
7b05466ff6
5
etc/NEWS
5
etc/NEWS
@ -69,8 +69,9 @@ Use `set-scroll-bar-mode' to change this.
|
||||
with Xft.
|
||||
|
||||
** New scrolling commands `scroll-up-command' and `scroll-down-command'
|
||||
(bound to [next] and [prior]) does not signal errors at top/bottom
|
||||
of buffer at first key-press (instead moves to top/bottom of buffer).
|
||||
(bound to C-v/[next] and M-v/[prior]) does not signal errors at top/bottom
|
||||
of buffer at first key-press (instead moves to top/bottom of buffer)
|
||||
when a new variable `scroll-error-top-bottom' is non-nil.
|
||||
|
||||
** New scrolling commands `scroll-up-line' and `scroll-down-line'
|
||||
scroll a line instead of full screen.
|
||||
|
@ -1,3 +1,11 @@
|
||||
2010-04-14 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* simple.el (scroll-error-top-bottom): New defcustom.
|
||||
(scroll-up-command, scroll-down-command): Use it. Doc fix.
|
||||
|
||||
* emulation/pc-select.el (pc-select-override-scroll-error):
|
||||
Obsolete in favor of `scroll-error-top-bottom'.
|
||||
|
||||
2010-04-14 Juri Linkov <juri@jurta.org>
|
||||
|
||||
* tutorial.el (tutorial--default-keys): Rebind `C-v' to
|
||||
|
@ -93,6 +93,9 @@ text with these commands. If you set this variable to non-nil, these
|
||||
errors are suppressed."
|
||||
:type 'boolean
|
||||
:group 'pc-select)
|
||||
(define-obsolete-variable-alias 'pc-select-override-scroll-error
|
||||
'scroll-error-top-bottom
|
||||
"24.1")
|
||||
|
||||
(defcustom pc-select-selection-keys-only nil
|
||||
"*Non-nil means only bind the basic selection keys when started.
|
||||
|
@ -4744,20 +4744,34 @@ This also turns on `word-wrap' in the buffer."
|
||||
;;; of buffer at first key-press (instead moves to top/bottom
|
||||
;;; of buffer).
|
||||
|
||||
(defcustom scroll-error-top-bottom nil
|
||||
"Move point to top/bottom of buffer before signalling a scrolling error.
|
||||
A value of nil means just signal an error if no more scrolling possible.
|
||||
A value of t means point moves to the beginning or the end of the buffer
|
||||
\(depending on scrolling direction) when no more scrolling possible.
|
||||
When point is already on that position, then signal an error."
|
||||
:type 'boolean
|
||||
:group 'scrolling
|
||||
:version "24.1")
|
||||
|
||||
(defun scroll-up-command (&optional arg)
|
||||
"Scroll text of selected window upward ARG lines; or near full screen if no ARG.
|
||||
If `scroll-up' cannot scroll window further, move cursor to the bottom line.
|
||||
If `scroll-error-top-bottom' is non-nil and `scroll-up' cannot
|
||||
scroll window further, move cursor to the bottom line.
|
||||
When point is already on that position, then signal an error.
|
||||
A near full screen is `next-screen-context-lines' less than a full screen.
|
||||
Negative ARG means scroll downward.
|
||||
If ARG is the atom `-', scroll downward by nearly full screen."
|
||||
(interactive "^P")
|
||||
(cond
|
||||
((eq arg '-) (scroll-down-command nil))
|
||||
((null scroll-error-top-bottom)
|
||||
(scroll-up arg))
|
||||
((eq arg '-)
|
||||
(scroll-down-command nil))
|
||||
((< (prefix-numeric-value arg) 0)
|
||||
(scroll-down-command (- (prefix-numeric-value arg))))
|
||||
((eobp)
|
||||
(scroll-up arg)) ; signal error
|
||||
(scroll-up arg)) ; signal error
|
||||
(t
|
||||
(condition-case nil
|
||||
(scroll-up arg)
|
||||
@ -4775,18 +4789,22 @@ If ARG is the atom `-', scroll downward by nearly full screen."
|
||||
|
||||
(defun scroll-down-command (&optional arg)
|
||||
"Scroll text of selected window down ARG lines; or near full screen if no ARG.
|
||||
If `scroll-down' cannot scroll window further, move cursor to the top line.
|
||||
If `scroll-error-top-bottom' is non-nil and `scroll-down' cannot
|
||||
scroll window further, move cursor to the top line.
|
||||
When point is already on that position, then signal an error.
|
||||
A near full screen is `next-screen-context-lines' less than a full screen.
|
||||
Negative ARG means scroll upward.
|
||||
If ARG is the atom `-', scroll upward by nearly full screen."
|
||||
(interactive "^P")
|
||||
(cond
|
||||
((eq arg '-) (scroll-up-command nil))
|
||||
((null scroll-error-top-bottom)
|
||||
(scroll-down arg))
|
||||
((eq arg '-)
|
||||
(scroll-up-command nil))
|
||||
((< (prefix-numeric-value arg) 0)
|
||||
(scroll-up-command (- (prefix-numeric-value arg))))
|
||||
((bobp)
|
||||
(scroll-down arg)) ; signal error
|
||||
(scroll-down arg)) ; signal error
|
||||
(t
|
||||
(condition-case nil
|
||||
(scroll-down arg)
|
||||
|
Loading…
Reference in New Issue
Block a user