Mercurial > hg > xemacs-beta
diff lisp/mouse.el @ 290:c9fe270a4101 r21-0b43
Import from CVS: tag r21-0b43
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:36:47 +0200 |
parents | e11d67e05968 |
children | 70ad99077275 |
line wrap: on
line diff
--- a/lisp/mouse.el Mon Aug 13 10:35:55 2007 +0200 +++ b/lisp/mouse.el Mon Aug 13 10:36:47 2007 +0200 @@ -629,7 +629,9 @@ event mouse-track-click-count) (mouse-track-run-hook 'mouse-track-click-hook event mouse-track-click-count))) - ((key-press-event-p event) + ((or (key-press-event-p event) + (and (misc-user-event-p event) + (eq (event-function event) 'cancel-mode-internal))) (error "Selection aborted")) (t (dispatch-event event)))) @@ -1424,12 +1426,14 @@ (let* ((window (event-window event)) (frame (event-channel event)) (last-timestamp (event-timestamp event)) - (doit t)) - (while doit - (let ((old-right (caddr (window-pixel-edges window))) - (old-left (car (window-pixel-edges window))) - (backup-conf (current-window-configuration frame)) - (old-edges-all-windows (mapcar 'window-pixel-edges (window-list)))) + done) + (while (not done) + (let* ((edges (window-pixel-edges window)) + (old-right (caddr edges)) + (old-left (car edges)) + (backup-conf (current-window-configuration frame)) + (old-edges-all-windows (mapcar 'window-pixel-edges + (window-list)))) ;; This is borrowed from modeline.el: ;; requeue event and quit if this is a misc-user, eval or @@ -1438,24 +1442,24 @@ ;; occurred in some other frame. ;; drag if this is a mouse motion event and the time ;; between this event and the last event is greater than - ;; drag-modeline-event-lag. + ;; drag-divider-event-lag. ;; do nothing if this is any other kind of event. (setq event (next-event event)) (cond ((or (misc-user-event-p event) (key-press-event-p event)) (setq unread-command-events (nconc unread-command-events (list event)) - doit nil)) + done t)) ((button-release-event-p event) - (setq doit nil)) + (setq done t)) ((button-event-p event) - (setq doit nil)) + (setq done t)) ((not (motion-event-p event)) (dispatch-event event)) ((not (eq frame (event-frame event))) - (setq doit nil)) + (setq done t)) ((< (abs (- (event-timestamp event) last-timestamp)) - drag-modeline-event-lag)) + drag-divider-event-lag)) (t (setq last-timestamp (event-timestamp event)) ;; Enlarge the window, calculating change in characters