Mercurial > vim
diff src/libvterm/src/state.c @ 16241:c1698187c482 v8.1.1125
patch 8.1.1125: libvterm does not handle the window position report
commit https://github.com/vim/vim/commit/fa1e90cd4d1bebd66da22df4625f70963f091f17
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Apr 6 17:47:40 2019 +0200
patch 8.1.1125: libvterm does not handle the window position report
Problem: Libvterm does not handle the window position report.
Solution: Let libvterm call the fallback CSI handler when not handling CSI
sequence. Handle the window position report in Vim.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 06 Apr 2019 18:00:05 +0200 |
parents | 544490b69e1d |
children | a1229400434a |
line wrap: on
line diff
--- a/src/libvterm/src/state.c +++ b/src/libvterm/src/state.c @@ -905,6 +905,7 @@ static int on_csi(const char *leader, co int leader_byte = 0; int intermed_byte = 0; VTermPos oldpos = state->pos; + int handled = 1; /* Some temporaries for later code */ int count, val; @@ -1416,6 +1417,10 @@ static int on_csi(const char *leader, co case 8: /* CSI 8 ; rows ; cols t set size */ if (argcount == 3) on_resize(CSI_ARG(args[1]), CSI_ARG(args[2]), state); + break; + default: + handled = 0; + break; } break; @@ -1450,6 +1455,11 @@ static int on_csi(const char *leader, co break; default: + handled = 0; + break; + } + + if (!handled) { if(state->fallbacks && state->fallbacks->csi) if((*state->fallbacks->csi)(leader, args, argcount, intermed, command, state->fbdata)) return 1;