GNU bug report logs -
#37782
Emacs 27 client adding [I] to the beginning of the buffer
Previous Next
Reported by: Carlos Pita <carlosjosepita <at> gmail.com>
Date: Wed, 16 Oct 2019 22:46:02 UTC
Severity: normal
Tags: fixed, patch
Merged with 38132
Found in version 27.0.50
Fixed in version 27.1
Done: Noam Postavsky <npostavs <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
After hours and hours (and hours) of life sucking debugging I found
out the offending code (in read_key_sequence):
if ((FIXNUMP (key) && XFIXNUM (key) == -2) /* wrong_kboard_jmpbuf */
/* When switching to a new tty (with a new keyboard),
read_char returns the new buffer, rather than -2
(Bug#5095). This is because `terminal-init-xterm'
calls read-char, which eats the wrong_kboard_jmpbuf
return. Any better way to fix this? -- cyd */
|| (interrupted_kboard != current_kboard))
{
....
mock_input = 0;
goto replay_entire_sequence;
}
The problem with the fix for #5095 is that it's dropping the current
event, which is a valid char event and not -2. Thus, the first esc
char sent by the terminal after turning on focus tracking is lost and
we get `[`, `I` events separately inserted into the buffer afterwards.
Attached is a patch that replays key as mock input when it's not -2.
Can I ask for some of my hidpi fringe or colorized comint/python
history patches to be merged in exchange ;) ?
Best regards
--
Carlos
[0001-Replay-key-if-kboard-is-interrupted-while-initializi.patch (text/x-patch, attachment)]
This bug report was last modified 5 years and 121 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.