vim-patch:7.4.261

Problem:  When updating the window involves a regexp pattern, an
          interactive substitute to replace a "\n" with a line
          break fails. (Ingo Karkat)

Solution: Set reg_line_lbr in vim_regsub() and vim_regsub_multi().

https://code.google.com/p/vim/source/detail?r=43c6cd07c8defd8505acbe479c6970764c08e6f9
Tests: prettify Makefile
vim-patch:7.4.260

Problem:  It is possible to define a function with a colon in the name.  It
          is possible to define a function with a lower case character if a
          "#" appears after the name.
Solution: Disallow using a colon other than with "s:".  Ignore "#" after the
          name.

https://code.google.com/p/vim/source/detail?r=6bc874e4789a0f912b4fd6b23afecf19d80b1605
Remove deprecated "--use-mirrors"

In newer versions of `pip`, it is obsolete. See the following relevant links.

https://pip.readthedocs.org/en/latest/news.html
https://github.com/eddyxu/cpp-coveralls/pull/37
Remove `alloc_clear`

Use `xcalloc` instead.
Inline `alloc_tv` and `alloc_string_tv` in eval.c
Remove code and checks for unsupported systems.

Remove remnants of support for systems including
__EMX__, MSDOS, OS2, AMIGA and MORPHOS.
Call to list_append_dict cannot fail.

Clean up the use of list_append_dict and remove error checks.
Call to list_append_string cannot fail.

Clean up the use of list_append_string and remove error checks.
Remove useless modelines (pt2)
Use portable format specifiers: Case %ld - plain - sscanf.

Fix uses of plain "%ld" within sscanf():
- Replace "%ld" with "%" SCNd64.
- Create (int64_t) local variable and sscanf into that.
- Safely downcast into previous type (introduce assertion, to be removed
  when variable type refactored).
Fix garray.* according to -Wconversion
Use portable format specifiers: Clarify some casted expressions.

Though correct (to my understanding), some of the casts introduced in
previous commits could lead to confusion, by casting only the first
expression component instead of the whole expression.

This fixes that, parenthesizing casted expressions, except where
operator precedence rules make it unneccesary.
Use portable format specifiers: Improve arguments formatting.

At some places, printf-like function's arguments styling could be
improved to enhance readability.
vim-patch:7.4.264

Problem:  Can't define a function starting with "g:". Can't assign a
          funcref to a buffer-local variable.
Solution: Skip "g:" at the start of a function name.
          Don't check for colons when assigning to a variable.

https://code.google.com/p/vim/source/detail?r=00acac0af680c2d8c82db5258474b121a5908926
Hold java packages to speed up build
README: Use SVG badge for Travis
vim-patch:7.4.265

Problem:    Can't call a global function with "g:" in an expression.
Solution:   Skip the "g:" when looking up the function.

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

Problem:    The string returned by submatch() does not distinguish between a
            NL from a line break and a NL that stands for a NUL character.
Solution:   Add a second argument to return a list. (ZyX)

https://code.google.com/p/vim/source/detail?r=a63d0cd691dc925283815d17d62f4e948d723a59
path: add 'garray.h' to headers

The function prototypes use garray_T* arguments, but the header is not
included in path.h. Technically we could also get away with a forward
declaration since we're just using the pointer, but I don't see the urgent
need for that.
test: fix the cimport method

This commit will hopefully allow the cimport method to be used just as one
would use #inclue <header.h> in C. It follows the following method:

1. create a pseudoheader file that #include's all the requested header files
2. runs the pseudoheader through the C preprocessor (it will try various
   compilers if available on the system).
3. runs the preprocessed file through a C formatter, which attempts to group
   statements on one line. For example, a struct definition that was
   formerly on several lines will take just one line after formatting. This
   is done so that unique declarations can be detected. Duplicates are thus
   easy to remove.
4. remove lines that are too complex for the LuaJIT C parser (such as:
   Objective-C block syntax, crazy enums defined on linux, ...)
5. remove duplicate declarations
6. pass result to ffi.cdef