vim-patch:7.4.215

Problem:  Inconsistency: ":sp foo" does not reload "foo", unless "foo"
          is the current buffer. (Liang Li)

Solution: Do not reload the current buffer on a split command.

https://code.google.com/p/vim/source/detail?r=f069a3a0f84451aa498c6c22d8f922d1e695e96d
vim-patch:7.4.218

Problem:  It's not easy to remove duplicates from a list.

Solution: Add the uniq() function. (LCD)

https://code.google.com/p/vim/source/detail?r=ddc3f32a4b2191f829206322d46f0e9c7e365e22
vim-patch:7.4.221

Problem:  Quickfix doesn't resize on ":copen 20".

Solution: Resize the window when requested. (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=a548aae15b3a27a56d814900049785c29c01a37a
vim-patch:7.4.229

Problem:  Using ":let" for listing variables and the second one is a
          curly braces expression may fail.
Solution: Check for an "=" in a better way. (ZyX)

https://code.google.com/p/vim/source/detail?r=839cca5ec18d560e3714065e54ed38b6e812aaf7
vim-patch:7.4.232

Problem:  ":%s/\n//" uses a lot of memory. (Aidan Marlin)
Solution: Turn this into a join command. (Christian Brabandt)

https://code.google.com/p/vim/source/detail?r=845608965bd9d0b2755997a7be812746885ff105
vim-patch:7.4.233

Problem:  Escaping special characters for using "%" with a shell command
          is inconsistant: parentheses are escaped but spaces are not.

Solution: Only escape "!". (Gary Johnson)

https://code.google.com/p/vim/source/detail?r=22a1d5762ba3a75984e89dcc47a65498f63a6c2c
vim-patch:7.4.234

Problem:  Can't get the command that was used to start Vim.

Solution: Add v:progpath. (Viktor Kojouharov)

https://code.google.com/p/vim/source/detail?r=d2286df8719d6e99c743e3bf6ac14d1f9debc84d
vim-patch:7.4.239

Problem:  ":e +" does not position cursor at end of the file.

Solution: Check for "+" being the last character (ZyX)

https://code.google.com/p/vim/source/detail?r=98bfec9ea7608f312129475d4ca0ae6d1c6c232e
vim-patch:7.4.240

Problem:  ":tjump" shows "\n" as "\\n".
Solution: Skip over "\" that escapes a backslash. (Gary Johnson)

https://code.google.com/p/vim/source/detail?r=8d1ba0a23588932d22ad37cbd87ae3bbd4bfeff8
vim-patch:7.4.251

Problem:  Crash when BufAdd autocommand wipes out the buffer.

Solution: Check for buffer to still be valid. Postpone freeing the
          buffer structure. (Hirohito Higashi)

https://code.google.com/p/vim/source/detail?r=29eb4c2a33ac701bfcd4d2e2bed7864eba876e0e
vim-patch:7.4.253

Problem:  Crash when using cpp syntax file with pattern using external
          match. (Havard Garnes)

Solution: Discard match when end column is before start column.

https://code.google.com/p/vim/source/detail?r=4901a36479f200b2e6700ad91c26911d92deb886
Initialize a variable.
Extract reading boilerplate into rstream.c module

The `RStream` class hides the differences between files and other types of
streams with a simpler, general-purpose API for performing non-blocking reads
with libuv. Most of the code was adapted from input.c.
Refactor job control module to use RStream class
Refactor input module to use RStream class
Remove modelines

Removed modelines are better than modelines that differ from file to
file.
Added os_isatty
Removed mch_check_win
Removed mch_input_isatty