Subject: bug#29150: Fwd: 26.0.90; Input decoding is sometimes skipped in TTY (xterm-mouse-mode)

From: Alex <[email-masked]>
Date: Sun, 12 Nov 2017 18:00:57 -0600

Eli Zaretskii <[email-masked]> writes:

>> Perhaps the patch should be replaced on the master branch with one that
>> uses `read-key' in all cases?
>
> Why the rush?

I don't mean to rush anything, but I figured that I should mention it
before I forget about it.

>> > Should we close this bug now, or is there anything else to do with it?
>> 
>> The first issue is fixed, but not the second (`mouse-drag-secondary'
>> uses `read-event'). Here's a diff for the second:
>
> If you want this on the release branch, it should be affect only
> xt-mouse.  If you propose this for master, see above.

Do you mean that I shouldn't rush the `read-key' change for
`mouse-drag-secondary' in master, either?

Would applying the previous diff for master and the following for
emacs-26 be acceptable?

diff --git a/lisp/mouse.el b/lisp/mouse.el
index 5eeee1ec52..b9ff71402f 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -1740,7 +1740,9 @@ mouse-drag-secondary
       (let (event end end-point)
 	(track-mouse
 	  (while (progn
-		   (setq event (read-event))
+		   (setq event (if (terminal-parameter nil 'xterm-mouse-mode)
+                                   (read-key)
+                                 (read-event)))
 		   (or (mouse-movement-p event)
 		       (memq (car-safe event) '(switch-frame select-window))))