1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-23 10:34:07 +00:00

* msb.el (msb): Move `sit-for' hack here to handle both

"mouse-down and drag" and "mouse-up and select" situations.
	(mouse-select-buffer): Move `sit-for' hack to `msb'.
This commit is contained in:
Chong Yidong 2006-06-20 18:08:40 +00:00
parent d669197de8
commit 809b6e9891
2 changed files with 16 additions and 10 deletions

View File

@ -1,3 +1,9 @@
2006-06-20 Chong Yidong <cyd@stupidchicken.com>
* msb.el (msb): Move `sit-for' hack here to handle both
"mouse-down and drag" and "mouse-up and select" situations.
(mouse-select-buffer): Move `sit-for' hack to `msb'.
2006-06-20 Kenichi Handa <handa@m17n.org>
* international/characters.el (word-combining-categories): Add

View File

@ -473,18 +473,21 @@ selects that window.
See the function `mouse-select-buffer' and the variable
`msb-menu-cond' for more information about how the menus are split."
(interactive "e")
;; If EVENT is a down-event, read and discard the
;; corresponding up-event.
(and (eventp event)
(memq 'down (event-modifiers event))
(read-event))
(let ((old-window (selected-window))
(window (posn-window (event-start event))))
(window (posn-window (event-start event)))
early-release)
(unless (framep window) (select-window window))
;; This `sit-for' magically makes the menu stay up if the mouse
;; button is released within 0.1 second.
(setq early-release (not (sit-for 0.1 t)))
(let ((buffer (mouse-select-buffer event)))
(if buffer
(switch-to-buffer buffer)
(select-window old-window))))
(select-window old-window)))
;; If the above `sit-for' was interrupted by a mouse-up, avoid
;; generating a drag event.
(if (and early-release (memq 'down (event-modifiers last-input-event)))
(discard-input)))
nil)
;;;
@ -995,9 +998,6 @@ variable `msb-menu-cond'."
;; adjust position
(setq posX (- posX (funcall msb-horizontal-shift-function))
position (list (list posX posY) posWind))))
;; This `sit-for' magically makes the menu stay up if the mouse
;; button is released within 0.1 second.
(sit-for 0 100)
;; Popup the menu
(setq choice (x-popup-menu position msb--last-buffer-menu))
(cond