From e7f7510ecfa95a28b8cbddd0162b34bd007e2870 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 19 Apr 2002 15:22:12 +0000 Subject: [PATCH] (mouse-drag-throw, mouse-drag-drag): Push reconstructed events onto unread-command-events rather than looking them up manually. --- lisp/ChangeLog | 10 +++++++++- lisp/mouse-drag.el | 31 +++++++++++-------------------- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 053fb5c9a7e..691af16da8b 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2002-04-19 Stefan Monnier + + * mouse-drag.el (mouse-drag-throw, mouse-drag-drag): Push reconstructed + events onto unread-command-events rather than looking them up manually. + + * textmodes/flyspell.el (flyspell-mode-map): Don't bind mouse-2. + It's bound via text-properties already. + 2002-04-16 Eli Zaretskii * term.el (term-emulate-terminal): Fix last change. @@ -41,7 +49,7 @@ 2002-03-07 Gerd Moellmann - * progmodes/ebrowse.el (ebrowse-view/find-file-and-search-pattern): + * progmodes/ebrowse.el (ebrowse-view/find-file-and-search-pattern): Use the other-window instead of the other-frame functions when the window is dedicated. diff --git a/lisp/mouse-drag.el b/lisp/mouse-drag.el index 9affe8b488c..50b248a9ec3 100644 --- a/lisp/mouse-drag.el +++ b/lisp/mouse-drag.el @@ -208,7 +208,7 @@ To test this function, evaluate: (start-col (car (posn-col-row start-posn))) (old-selected-window (selected-window)) event end row mouse-delta scroll-delta - have-scrolled point-event-p old-binding + have-scrolled window-last-row col mouse-col-delta window-last-col (scroll-col-delta 0) @@ -261,18 +261,13 @@ To test this function, evaluate: (mouse-drag-safe-scroll scroll-delta scroll-col-delta) (mouse-drag-repeatedly-safe-scroll scroll-delta scroll-col-delta))))) ;xxx ;; If it was a click and not a drag, prepare to pass the event on. - ;; Note: We must determine the pass-through event before restoring - ;; the window, but invoke it after. Sigh. + ;; Is there a more correct way to reconstruct the event? (if (and (not have-scrolled) (mouse-drag-events-are-point-events-p start-posn end)) - (setq point-event-p t - old-binding (key-binding - (vector (event-basic-type start-event))))) + (push (cons (event-basic-type start-event) (cdr start-event)) + unread-command-events)) ;; Now restore the old window. - (select-window old-selected-window) - ;; For clicks, call the old function. - (if point-event-p - (call-interactively old-binding)))) + (select-window old-selected-window))) (defun mouse-drag-drag (start-event) "\"Drag\" the page according to a mouse drag. @@ -297,7 +292,7 @@ To test this function, evaluate: (start-col (car (posn-col-row start-posn))) (old-selected-window (selected-window)) event end row mouse-delta scroll-delta - have-scrolled point-event-p old-binding + have-scrolled window-last-row col mouse-col-delta window-last-col (scroll-col-delta 0) @@ -335,18 +330,14 @@ To test this function, evaluate: (setq have-scrolled t) (mouse-drag-safe-scroll scroll-delta scroll-col-delta))))))) ;; If it was a click and not a drag, prepare to pass the event on. - ;; Note: We must determine the pass-through event before restoring - ;; the window, but invoke it after. Sigh. + ;; Is there a more correct way to reconstruct the event? (if (and (not have-scrolled) (mouse-drag-events-are-point-events-p start-posn end)) - (setq point-event-p t - old-binding (key-binding - (vector (event-basic-type start-event))))) + (push (cons (event-basic-type start-event) (cdr start-event)) + unread-command-events)) ;; Now restore the old window. - (select-window old-selected-window) - ;; For clicks, call the old function. - (if point-event-p - (call-interactively old-binding)))) + (select-window old-selected-window))) + (provide 'mouse-drag) -- 2.39.2