To: vim_dev@googlegroups.com Subject: Patch 8.0.1674 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.0.1674 Problem: Libvterm can't handle a long OSC string that is split. Solution: When an incomplete OSC string is received copy it to the parser buffer. Increase the size of the parser buffer to be able to handle longer strings. Files: src/libvterm/src/parser.c, src/libvterm/src/vterm.c *** ../vim-8.0.1673/src/libvterm/src/parser.c 2018-03-25 16:20:18.517264034 +0200 --- src/libvterm/src/parser.c 2018-04-07 21:34:30.894149666 +0200 *************** *** 288,293 **** --- 288,298 ---- done_string(vt, string_start, bytes + pos - string_start); ENTER_NORMAL_STATE(); } + else if (pos + 1 == len) { + /* end of input but OSC string isn't finished yet, copy it to + * vt->parser.strbuffer to continue it later */ + more_string(vt, string_start, bytes + pos + 1 - string_start); + } break; case NORMAL: *** ../vim-8.0.1673/src/libvterm/src/vterm.c 2018-03-25 16:20:18.517264034 +0200 --- src/libvterm/src/vterm.c 2018-04-07 21:31:15.587533128 +0200 *************** *** 52,58 **** vt->parser.callbacks = NULL; vt->parser.cbdata = NULL; ! vt->parser.strbuffer_len = 64; vt->parser.strbuffer_cur = 0; vt->parser.strbuffer = vterm_allocator_malloc(vt, vt->parser.strbuffer_len); --- 52,58 ---- vt->parser.callbacks = NULL; vt->parser.cbdata = NULL; ! vt->parser.strbuffer_len = 500; /* should be able to hold an OSC string */ vt->parser.strbuffer_cur = 0; vt->parser.strbuffer = vterm_allocator_malloc(vt, vt->parser.strbuffer_len); *** ../vim-8.0.1673/src/version.c 2018-04-07 19:27:11.938983767 +0200 --- src/version.c 2018-04-07 21:35:18.437734917 +0200 *************** *** 764,765 **** --- 764,767 ---- { /* Add new patch number below this line */ + /**/ + 1674, /**/ -- hundred-and-one symptoms of being an internet addict: 125. You begin to wonder how often it REALLY is necessary to get up and shower or bathe. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///