On Monday, April 4, 2016 at 5:13:23 PM UTC-3, Bram Moolenaar wrote: > I have been wondering if the next release should be called 7.5 or 8. > We have quite a few new features, but not that many as with the Vim 7 > release. Well, that was a big release. I think the most important > addition since then is persistent undo in 7.3. Now we have more new > features than in 7.3 or 7.4. 7.1 and 7.2 were mostly bug fixes. > > I have made a list of the most important improvements compared to Vim > 7.4. I might still be missing some (let me know!). > > Also, now is a good time to check out the new features, we can still > make changes. Especially the Channel, Job and timer support. Once the > release is out we can't really make changes that break backwards > compatibility. > > > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- > > Asynchronous I/O support, channels ~ > > Vim can now exchange messages with another process in the background. The > message are received and handled while Vim is waiting for a character. See > |channel-demo| for an example, communicating with a Python server. > > Closely related to channels is JSON support. JSON is widely supported and can > easily be used for inter-process communication, allowing for writing a server > in any language. The functions to use are |json_encode()| and > |json_decode()|. > > > Jobs ~ > > Vim can now start a job, communicate with it and stop it. This is very useful > to run a process for completion, syntax checking, etc. Channels are used to > communicate with the job. Jobs can also read from or write to a buffer or a > file. See |job_start()|. > > > Timers ~ > > Also asynchronous are timers. They can fire once or repeatedly and invoke a > function to do any work. For example: > > let tempTimer = timer_start(4000, 'CheckTemp') > This will make call 4 seconds later, like: > > call CheckTemp() > > > Partials ~ > > Vim already had a Funcref, a reference to a function. A partial also refers > to a function, and additionally binds arguments and/or a dictionary. This is > especially useful for callbacks on channels and timers. E.g., for the timer > example above, to pass an argument to the function: > > let tempTimer = timer_start(4000, function('CheckTemp', ['out'])) > This will make call 4 seconds later, like: > > call CheckTemp('out') > > > New style tests ~ > > This is for Vim developers. So far writing tests for Vim has not been easy. > Vim 8 adds assert functions and a framework to run tests. This makes it a lot > simpler to write tests and keep them updated. > > These functions have been added: > |assert_equal()| > |assert_notequal()| > |assert_exception()| > |assert_fails()| > |assert_false()| > |assert_match()| > |assert_notmatch()| > |assert_true()| > |alloc_fail()| > |disable_char_avail_for_testing()| > > > Window IDs ~ > > Previously windows could only be accessed by their number. And every time a > window would open, close or move that number changes. Each window now has a > unique ID, so that they are easy to find. > > > Vim script enhancements > *new-vim-script-8* > ----------------------- > > In Vim scripts the following types have been added: > > |Special| |v:false|, |v:true|, |v:none| and |v:null| > |Channel| connection to another process for asynchronous I/O > |Job| process control > > Many functions and commands have been added to support the new types. > > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- > > -- > hundred-and-one symptoms of being an internet addict: > 223. You set up a web-cam as your home's security system. > > /// 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 ///
Vim 8, also please adopt a sane version number policy after this release, vim 7.4.1689-1 is starting to look a bit silly. Especially the last huge number at the end. -- -- 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.