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 -- [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 ///
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 [email protected].
For more options, visit https://groups.google.com/d/optout.