bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#17378: 24.3.1: xterm-mouse-event: Wrong type argument: wholenump, -6


From: Lars Ingebrigtsen
Subject: bug#17378: 24.3.1: xterm-mouse-event: Wrong type argument: wholenump, -6
Date: Sun, 20 Sep 2020 23:34:15 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>> 5
>> ESC [ M 2 ESC [
>> ESC [ M 2 ESC [
>> ESC [ M 2 ESC [
>> ESC [ M 2 ESC [
>> ESC [ M 2 ESC [
>> ESC [ M 2 ESC [
>
> And here, again the "ESC [ M ?? ESC [" form for the mouse-5.
> I don't think there's much hope to support this mouse-5 click format.
> Looks like a bug somewhere in the terminal (or something stacked in
> between, like screen/pmux).

This was the final message in the thread six years ago, so I wonder
whether it's likely whether we'll make further progress here.  Instead
we can make xterm-mouse-event more defensive here and check whether the
click event is valid (like in the patch below).

Looking at the backtrace, I think this should fix the reported bug, so
I've installed it in Emacs 28.

diff --git a/lisp/xt-mouse.el b/lisp/xt-mouse.el
index 2b9fab556e..362d29b943 100644
--- a/lisp/xt-mouse.el
+++ b/lisp/xt-mouse.el
@@ -237,7 +237,10 @@ xterm-mouse-event
                      (xterm-mouse--read-event-sequence extension))
                     (t
                      (error "Unsupported XTerm mouse protocol")))))
-    (when click
+    (when (and click
+               ;; In very obscure circumstances, the click may become
+               ;; invalid (see bug#17378).
+               (>= (nth 1 click) 0))
       (let* ((type (nth 0 click))
              (x    (nth 1 click))
              (y    (nth 2 click))


-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





reply via email to

[Prev in Thread] Current Thread [Next in Thread]