vim-patch:7.4.320

Problem:    Possible crash when an BufLeave autocommand deletes the buffer.
Solution:   Check for the window pointer being valid.  Postpone freeing the
            window until autocommands are done. (Yasuhiro Matsumoto)

https://code.google.com/p/vim/source/detail?r=v7-4-320
vim-patch:7.4.386

Problem:    When splitting a window the changelist position is wrong.
Solution:   Copy the changelist position. (Jacob Niehus)

https://code.google.com/p/vim/source/detail?r=v7-4-386
vim-patch:7.4.411

Problem:    "foo bar" sorts before "foo" with sort(). (John Little)
Solution:   Avoid putting quotes around strings before comparing them.

https://code.google.com/p/vim/source/detail?r=v7-4-411
vim-patch:7.4.454

Problem:  When using a Visual selection of multiple words and doing
          CTRL-W_] it jumps to the tag matching the word under the
          cursor, not the selected text.  (Patrick hemmer)

Solution: Do not reset Visual mode. (idea by Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=0cdff7c268559f8f34eae073a013ece71b62b9e3
Update version.c to 7.4.454
vim-patch:7.4.391

Problem:    No 'cursorline' highlighting when the cursor is on a line with
            diff highlighting. (Benjamin Fritz)
Solution:   Combine the highlight attributes. (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=v7-4-391
Replace FOR_ALL_WINDOWS with FOR_ALL_WINDOWS_IN_TAB(curtab)
Remove W_NEXT use `->w_next`
Merge pull request #1236 from atwupack/vp-7.4.391

vim-patch:7.4.391
Merge pull request #1219 from atwupack/vp-7.4.386

vim-patch:7.4.386
Merge pull request #1220 from atwupack/vp-7.4.411

vim-patch:7.4.411
Merge pull request #1209 from atwupack/vp-7.4.320

vim-patch:7.4.320
Merge pull request #1225 from mhinz/p7.4.454

vim-patch:7.4.454
test: Replace vroom by lua/busted for functional tests

The 'lupa' python package provides a simple way to seamless integrate lua and
python code.

This commit replaces vroom by a python script that exposes the 'neovim' package
to a lua state, and invokes busted to run functional tests. This is a temporary
solution that will enable writing functional tests using lua/bused while a lua
client library is not available.

The reason for dropping vroom is flexibility: Lua/busted has a nice DSL-style
syntax while also providing the customization power of a full programming
language. Another reason is to use a single framework for unit/functional tests.

Two other changes were performed in this commit:

- Instead of "gcc-unittest/gcc-ia32", the travis builds for gcc are now
  identified by "gcc/gcc-32". They will run unit/functional tests for both 64
  and 32 bits.
- Old integration tests(in src/nvim/testdir) are now ran by the 'oldtest' target
travis: Refactor {valgrind,asan}_check functions

Put all logic into the `check_logs` function and use the `find` command to avoid
having to deal with empty directory errors when globbing files.
Merge PR #1258 'Replace vroom by lua/busted for functional tests'
memory: xstrchrnul and xmemscan.
memory: memchrsub and strchrsub
vim-patch:7.4.247

Problem:    When passing input to system() there is no way to keep NUL and
            NL characters separate.
Solution:   Optionally use a list for the system() input. (ZyX)

https://code.google.com/p/vim/source/detail?r=v7-4-247

Implement write_list_to_string() as well since write_list() only works
on files.
vim-patch:7.4.248

Problem:    Cannot distinguish between NL and NUL in output of system().
Solution:   Add systemlist(). (ZyX)

https://code.google.com/p/vim/source/detail?r=v7-4-248