]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve interaction between track-mouse and edebug
authorLars Ingebrigtsen <larsi@gnus.org>
Sat, 12 Feb 2022 07:40:30 +0000 (08:40 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Sat, 12 Feb 2022 07:40:30 +0000 (08:40 +0100)
* lisp/emacs-lisp/edebug.el (edebug--display-1): Work around
`track-mouse' oddity (bug#675).

lisp/emacs-lisp/edebug.el

index 1720393b3e56e9d02bf3322dbbdc9290d70b3107..a7e71d2ed245f8b5a7084759c7c17b941dc39dbc 100644 (file)
@@ -2577,6 +2577,13 @@ See `edebug-behavior-alist' for implementations.")
     ;; Let's at least show a backtrace so the user can figure out
     ;; which function we're talking about.
     (debug))
+  ;; If we're in a `track-mouse' setting, then any previous mouse
+  ;; movements will make `input-pending-p' later return true.  So
+  ;; discard the inputs in that case.  (And `discard-input' doesn't
+  ;; work here.)
+  (when track-mouse
+    (while (input-pending-p)
+      (read-event)))
   ;; Setup windows for edebug, determine mode, maybe enter recursive-edit.
   ;; Uses local variables of edebug-enter, edebug-before, edebug-after
   ;; and edebug-debugger.