2016-08-18 0:17 GMT+03:00 Bram Moolenaar <b...@moolenaar.net>: > > Skywind3000 wrote: > >> > Hello Vim users, >> > >> > Work on Vim 8.0 is coming close to an end. I hope version 8.0 can be >> > released in about two weeks. >> > >> > This is a last chance to modify new features in a way that is not >> > backwards compatible. Once 8.0 is out we can't make changes that would >> > break plugins. >> >> Can we have a binary mode in channels ? Which could be used to implement >> a virtual terminal inside vim in VimScript. >> >> According to the ":help channel", There is a "raw" mode in channels, but it >> will treat the whole message as a string, not a binary data. > > Raw mode is nearly binary. The only limitation I'm aware of is that it > can't handle NUL bytes. And since there is no way to deal with binary > data anyway in Vim script, it's probably the only thing possible.
Neovim handled this just fine from the very beginning: just callback receives not a string, but a `readfile(,'b')`-style list. Though it led to some confusion (line `"abc\n"` may be received as `['abc', '']` or `['ab']` and `['c', '']`, but some plugin authors thought that Neovim is waiting for line to finish, so `'ab'` in the second example is the whole line), this is the only normal way to represent binary data in VimL. Another variant is a list like `[0x61, 0x62, 0x63, 0x0A]` which has very high overhead. > > An alternative is NL mode, then you get lines at a time where NUL bytes > have been changed to NL bytes. But it will be stuck waiting for the > next NL. > > -- > This planet has -- or rather had -- a problem, which was this: most > of the people living on it were unhappy for pretty much of the time. > Many solutions were suggested for this problem, but most of these > were largely concerned with the movements of small green pieces of > paper, which is odd because on the whole it wasn't the small green > pieces of paper that were unhappy. > -- Douglas Adams, "The Hitchhiker's Guide to the Galaxy" > > /// Bram Moolenaar -- b...@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 /// > > -- > -- > 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 vim_dev+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- -- 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 vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.