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 -- [email protected] -- 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 ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.