diff options
| author | Karl Heuer | 1998-09-13 03:51:22 +0000 |
|---|---|---|
| committer | Karl Heuer | 1998-09-13 03:51:22 +0000 |
| commit | def7db1da1e0fa89f4c4da31d5fbf1616a76ec92 (patch) | |
| tree | f57a7372714766180054a3cf555ec69b4228ca3e | |
| parent | 7ff020486d03859e1608a479cbad72a039a75489 (diff) | |
| download | emacs-def7db1da1e0fa89f4c4da31d5fbf1616a76ec92.tar.gz emacs-def7db1da1e0fa89f4c4da31d5fbf1616a76ec92.zip | |
(scroll-bar-scroll-down, scroll-bar-scroll-up):
Set point-before-scroll at end even if there was an error.
| -rw-r--r-- | lisp/scroll-bar.el | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/lisp/scroll-bar.el b/lisp/scroll-bar.el index 5458ab0054f..d8e21921458 100644 --- a/lisp/scroll-bar.el +++ b/lisp/scroll-bar.el | |||
| @@ -250,16 +250,17 @@ EVENT should be a scroll bar click." | |||
| 250 | (before-scroll)) | 250 | (before-scroll)) |
| 251 | (with-current-buffer (window-buffer window) | 251 | (with-current-buffer (window-buffer window) |
| 252 | (setq before-scroll point-before-scroll)) | 252 | (setq before-scroll point-before-scroll)) |
| 253 | (save-selected-window | 253 | (unwind-protect |
| 254 | (let ((portion-whole (nth 2 end-position))) | 254 | (save-selected-window |
| 255 | (select-window window) | 255 | (let ((portion-whole (nth 2 end-position))) |
| 256 | (setq before-scroll | 256 | (select-window window) |
| 257 | (or before-scroll (point))) | 257 | (setq before-scroll |
| 258 | (scroll-down | 258 | (or before-scroll (point))) |
| 259 | (scroll-bar-scale portion-whole (1- (window-height)))))) | 259 | (scroll-down |
| 260 | (sit-for 0) | 260 | (scroll-bar-scale portion-whole (1- (window-height))))) |
| 261 | (with-current-buffer (window-buffer window) | 261 | (sit-for 0)) |
| 262 | (setq point-before-scroll before-scroll)))) | 262 | (with-current-buffer (window-buffer window) |
| 263 | (setq point-before-scroll before-scroll))))) | ||
| 263 | 264 | ||
| 264 | (defun scroll-bar-scroll-up (event) | 265 | (defun scroll-bar-scroll-up (event) |
| 265 | "Scroll the line next to the scroll bar click to the top of the window. | 266 | "Scroll the line next to the scroll bar click to the top of the window. |
| @@ -270,16 +271,17 @@ EVENT should be a scroll bar click." | |||
| 270 | (before-scroll)) | 271 | (before-scroll)) |
| 271 | (with-current-buffer (window-buffer window) | 272 | (with-current-buffer (window-buffer window) |
| 272 | (setq before-scroll point-before-scroll)) | 273 | (setq before-scroll point-before-scroll)) |
| 273 | (save-selected-window | 274 | (unwind-protect |
| 274 | (let ((portion-whole (nth 2 end-position))) | 275 | (save-selected-window |
| 275 | (select-window window) | 276 | (let ((portion-whole (nth 2 end-position))) |
| 276 | (setq before-scroll | 277 | (select-window window) |
| 277 | (or before-scroll (point))) | 278 | (setq before-scroll |
| 278 | (scroll-up | 279 | (or before-scroll (point))) |
| 279 | (scroll-bar-scale portion-whole (1- (window-height)))))) | 280 | (scroll-up |
| 280 | (sit-for 0) | 281 | (scroll-bar-scale portion-whole (1- (window-height))))) |
| 281 | (with-current-buffer (window-buffer window) | 282 | (sit-for 0)) |
| 282 | (setq point-before-scroll before-scroll)))) | 283 | (with-current-buffer (window-buffer window) |
| 284 | (setq point-before-scroll before-scroll))))) | ||
| 283 | 285 | ||
| 284 | 286 | ||
| 285 | ;;;; Bindings. | 287 | ;;;; Bindings. |