diff options
| author | Karl Heuer | 1996-05-21 14:40:56 +0000 |
|---|---|---|
| committer | Karl Heuer | 1996-05-21 14:40:56 +0000 |
| commit | caf9b328c30608c3603d958d82c5899cd1645f8b (patch) | |
| tree | 9d44cb722771072a8562f57ce8832755474f3541 | |
| parent | 9c005c6533576cd20c393cf7ea6e9eae11ef15ba (diff) | |
| download | emacs-caf9b328c30608c3603d958d82c5899cd1645f8b.tar.gz emacs-caf9b328c30608c3603d958d82c5899cd1645f8b.zip | |
(win32-handle-scroll-bar-event): Restore
original window selection after scrolling.
| -rw-r--r-- | lisp/term/w32-win.el | 39 |
1 files changed, 21 insertions, 18 deletions
diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el index d5da3ab9f7e..559075cf313 100644 --- a/lisp/term/w32-win.el +++ b/lisp/term/w32-win.el | |||
| @@ -84,24 +84,27 @@ | |||
| 84 | (defun win32-handle-scroll-bar-event (event) | 84 | (defun win32-handle-scroll-bar-event (event) |
| 85 | "Handle Win32 scroll bar events to do normal Window style scrolling." | 85 | "Handle Win32 scroll bar events to do normal Window style scrolling." |
| 86 | (interactive "e") | 86 | (interactive "e") |
| 87 | (let* ((position (event-start event)) | 87 | (let ((old-window (selected-window))) |
| 88 | (window (nth 0 position)) | 88 | (unwind-protect |
| 89 | (portion-whole (nth 2 position)) | 89 | (let* ((position (event-start event)) |
| 90 | (bar-part (nth 4 position))) | 90 | (window (nth 0 position)) |
| 91 | (save-excursion | 91 | (portion-whole (nth 2 position)) |
| 92 | (select-window window) | 92 | (bar-part (nth 4 position))) |
| 93 | (cond | 93 | (save-excursion |
| 94 | ((eq bar-part 'up) | 94 | (select-window window) |
| 95 | (scroll-down 1)) | 95 | (cond |
| 96 | ((eq bar-part 'above-handle) | 96 | ((eq bar-part 'up) |
| 97 | (scroll-down)) | 97 | (scroll-down 1)) |
| 98 | ((eq bar-part 'handle) | 98 | ((eq bar-part 'above-handle) |
| 99 | (scroll-bar-maybe-set-window-start event)) | 99 | (scroll-down)) |
| 100 | ((eq bar-part 'below-handle) | 100 | ((eq bar-part 'handle) |
| 101 | (scroll-up)) | 101 | (scroll-bar-maybe-set-window-start event)) |
| 102 | ((eq bar-part 'down) | 102 | ((eq bar-part 'below-handle) |
| 103 | (scroll-up 1)) | 103 | (scroll-up)) |
| 104 | )))) | 104 | ((eq bar-part 'down) |
| 105 | (scroll-up 1)) | ||
| 106 | ))) | ||
| 107 | (select-window old-window)))) | ||
| 105 | 108 | ||
| 106 | ;; The following definition is used for debugging. | 109 | ;; The following definition is used for debugging. |
| 107 | ;(defun win32-handle-scroll-bar-event (event) (interactive "e") (princ event)) | 110 | ;(defun win32-handle-scroll-bar-event (event) (interactive "e") (princ event)) |