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