diff options
| author | Stefan Monnier | 2005-01-11 15:36:57 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2005-01-11 15:36:57 +0000 |
| commit | fbd8dc8a0d448042c362edf2e475a0109548870e (patch) | |
| tree | 25894fca88ed2b76ef61607a30659ecb94dd0d69 /lisp/mouse.el | |
| parent | d3ceff9134643dbac15099219dcac175e3b0c2b8 (diff) | |
| download | emacs-fbd8dc8a0d448042c362edf2e475a0109548870e.tar.gz emacs-fbd8dc8a0d448042c362edf2e475a0109548870e.zip | |
(mouse-drag-mode-line-1, mouse-drag-vertical-line, mouse-drag-region)
(mouse-drag-region-1, mouse-drag-secondary): Ignore select-window events
rather than fiddle with mouse-autoselect-window.
Diffstat (limited to 'lisp/mouse.el')
| -rw-r--r-- | lisp/mouse.el | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/lisp/mouse.el b/lisp/mouse.el index 63e0f6c9d91..ea6aa90e3c7 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | ;;; mouse.el --- window system-independent mouse support | 1 | ;;; mouse.el --- window system-independent mouse support |
| 2 | 2 | ||
| 3 | ;; Copyright (C) 1993, 94, 95, 1999, 2000, 2001, 2002, 2003, 2004 | 3 | ;; Copyright (C) 1993, 94, 95, 1999, 2000, 2001, 2002, 2003, 2004, 2005 |
| 4 | ;; Free Software Foundation, Inc. | 4 | ;; Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | ;; Maintainer: FSF | 6 | ;; Maintainer: FSF |
| @@ -397,7 +397,6 @@ MODE-LINE-P non-nil means dragging a mode line; nil means a header line." | |||
| 397 | (start-nwindows (count-windows t)) | 397 | (start-nwindows (count-windows t)) |
| 398 | (old-selected-window (selected-window)) | 398 | (old-selected-window (selected-window)) |
| 399 | (minibuffer (frame-parameter nil 'minibuffer)) | 399 | (minibuffer (frame-parameter nil 'minibuffer)) |
| 400 | (mouse-autoselect-window nil) | ||
| 401 | should-enlarge-minibuffer event mouse y top bot edges wconfig growth) | 400 | should-enlarge-minibuffer event mouse y top bot edges wconfig growth) |
| 402 | (track-mouse | 401 | (track-mouse |
| 403 | (progn | 402 | (progn |
| @@ -435,7 +434,7 @@ MODE-LINE-P non-nil means dragging a mode line; nil means a header line." | |||
| 435 | (cond ((integerp event) | 434 | (cond ((integerp event) |
| 436 | (setq done t)) | 435 | (setq done t)) |
| 437 | 436 | ||
| 438 | ((eq (car event) 'switch-frame) | 437 | ((memq (car event) '(switch-frame select-window)) |
| 439 | nil) | 438 | nil) |
| 440 | 439 | ||
| 441 | ((not (memq (car event) '(mouse-movement scroll-bar-movement))) | 440 | ((not (memq (car event) '(mouse-movement scroll-bar-movement))) |
| @@ -582,7 +581,7 @@ resized by dragging their header-line." | |||
| 582 | ;; unknown event. | 581 | ;; unknown event. |
| 583 | (cond ((integerp event) | 582 | (cond ((integerp event) |
| 584 | (setq done t)) | 583 | (setq done t)) |
| 585 | ((eq (car event) 'switch-frame) | 584 | ((memq (car event) '(switch-frame select-window)) |
| 586 | nil) | 585 | nil) |
| 587 | ((not (memq (car event) | 586 | ((not (memq (car event) |
| 588 | '(mouse-movement scroll-bar-movement))) | 587 | '(mouse-movement scroll-bar-movement))) |
| @@ -754,10 +753,9 @@ remains active. Otherwise, it remains until the next input event. | |||
| 754 | 753 | ||
| 755 | If the click is in the echo area, display the `*Messages*' buffer." | 754 | If the click is in the echo area, display the `*Messages*' buffer." |
| 756 | (interactive "e") | 755 | (interactive "e") |
| 757 | (let ((w (posn-window (event-start start-event))) | 756 | (let ((w (posn-window (event-start start-event)))) |
| 758 | (mouse-autoselect-window nil)) | 757 | (if (and (window-minibuffer-p w) |
| 759 | (if (not (or (not (window-minibuffer-p w)) | 758 | (not (minibuffer-window-active-p w))) |
| 760 | (minibuffer-window-active-p w))) | ||
| 761 | (save-excursion | 759 | (save-excursion |
| 762 | (read-event) | 760 | (read-event) |
| 763 | (set-buffer "*Messages*") | 761 | (set-buffer "*Messages*") |
| @@ -858,8 +856,8 @@ at the same position." | |||
| 858 | (while (progn | 856 | (while (progn |
| 859 | (setq event (read-event)) | 857 | (setq event (read-event)) |
| 860 | (or (mouse-movement-p event) | 858 | (or (mouse-movement-p event) |
| 861 | (eq (car-safe event) 'switch-frame))) | 859 | (memq (car-safe event) '(switch-frame select-window)))) |
| 862 | (if (eq (car-safe event) 'switch-frame) | 860 | (if (memq (car-safe event) '(switch-frame select-window)) |
| 863 | nil | 861 | nil |
| 864 | (setq end (event-end event) | 862 | (setq end (event-end event) |
| 865 | end-point (posn-point end)) | 863 | end-point (posn-point end)) |
| @@ -1153,6 +1151,7 @@ If MODE is 2 then do the same for lines." | |||
| 1153 | (move-overlay mouse-drag-overlay (point) (mark t))) | 1151 | (move-overlay mouse-drag-overlay (point) (mark t))) |
| 1154 | (catch 'mouse-show-mark | 1152 | (catch 'mouse-show-mark |
| 1155 | ;; In this loop, execute scroll bar and switch-frame events. | 1153 | ;; In this loop, execute scroll bar and switch-frame events. |
| 1154 | ;; Should we similarly handle `select-window' events? --Stef | ||
| 1156 | ;; Also ignore down-events that are undefined. | 1155 | ;; Also ignore down-events that are undefined. |
| 1157 | (while (progn (setq event (read-event)) | 1156 | (while (progn (setq event (read-event)) |
| 1158 | (setq events (append events (list event))) | 1157 | (setq events (append events (list event))) |
| @@ -1476,9 +1475,9 @@ The function returns a non-nil value if it creates a secondary selection." | |||
| 1476 | (while (progn | 1475 | (while (progn |
| 1477 | (setq event (read-event)) | 1476 | (setq event (read-event)) |
| 1478 | (or (mouse-movement-p event) | 1477 | (or (mouse-movement-p event) |
| 1479 | (eq (car-safe event) 'switch-frame))) | 1478 | (memq (car-safe event) '(switch-frame select-window)))) |
| 1480 | 1479 | ||
| 1481 | (if (eq (car-safe event) 'switch-frame) | 1480 | (if (memq (car-safe event) '(switch-frame select-window)) |
| 1482 | nil | 1481 | nil |
| 1483 | (setq end (event-end event) | 1482 | (setq end (event-end event) |
| 1484 | end-point (posn-point end)) | 1483 | end-point (posn-point end)) |