diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2017-12-02 03:53:23 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2017-12-02 15:55:09 +0100 |
commit | 4b83f3791257c0aecff6c35dbe9a644a1a72418c (patch) | |
tree | 8a0ccd660df63bb61f315bc7e6069af961d14861 /test/functional/lua/utility_functions_spec.lua | |
parent | 27f9b1c7b029d8f61723fd261bed76ea7a01e68d (diff) | |
download | rneovim-4b83f3791257c0aecff6c35dbe9a644a1a72418c.tar.gz rneovim-4b83f3791257c0aecff6c35dbe9a644a1a72418c.tar.bz2 rneovim-4b83f3791257c0aecff6c35dbe9a644a1a72418c.zip |
tui.c: request focus-reporting (fix regression) #7670
ref #7649
ref #7664
27f9b1c7b029d8 caused a regression: it uses loop_schedule_deferred() to
defer emitting the "enable focus reporting" termcode. tui_main() never
processes `tui_loop.events` (which loop_schedule_deferred() depends on),
so the event was never actually processed.
But fixing that (by processing `tui_loop.events`) would bring back the
problem 27f9b1c7b029 tried to fix: it still emits the event too soon.
Instead, do a little dance: schedule the event on `main_loop` and then
forward it to `tui_loop`.
NOTE: after this commit, in tmux 2.3 with `focus-events` enabled,
FocusGained is fired on startup and when resuming from suspend.
Using `script` to record the terminal session (and `vterm-dump` to
post-process the result):
BEFORE:
{DECSM 1049}{DECSM 1}{ESC =}
{CUP *}{ED *}{DECSM 2004}{DECSM 1004}{CSI 1,43 r}
{CUP 1,1}
{CUP *}{ED *}{SM 34}{DECSM 25}
{DECRM 25}{CSI 2 q}{CSI 2 q}
{CUP *}{ED *}{LF}
{SGR *}{LS1}{SGR 94}~
...
AFTER:
{CUP *}{ED *}{CSI 1,43 r}
{CUP 1,1}
{CUP *}{ED *}{SM 34}{DECSM 25}
{DECRM 25}{CSI 2 q}{CSI 2 q}
{CUP *}{ED *}{DECSM 2004}{DECSM 1004}{LF}
{SGR *}{LS1}{SGR 94}~
...
Diffstat (limited to 'test/functional/lua/utility_functions_spec.lua')
0 files changed, 0 insertions, 0 deletions