A wrong format specifier and not enough allocated memory for
sourcing_name could lead to a heap corruption.
Original patch by Rui Abreu Ferreira (@equalsraf)
Fixes#4582
Having a tags file in the calling directory of make test would make this test
fail, so disable tag file completion for it. Disable all other options except the
current buffer, to, applying the principle of least surprise.
Problem: test_viml isn't run.
Solution: Include change in makefile.
f49e240c2d
Applied cleanly except for version.c. Needs to be added to the build system.
Problem: Test 49 is slow and doesn't work on MS-Windows.
Solution: Start moving parts of test 49 to test_viml.
c06624661a
Applied cleanly except Makefile changes. File src/nvim/testdir/runtest.vim was
configured to set nocp for all tests. This option is not in nvim anymore, so it
was removed.
Problem: Crash when evaluating the pattern of ":catch" causes an error.
(Dominique Pelle)
Solution: Block error messages at this point.
768ce2435a
Applied manually. Could not reproduce the crash both using vim and nvim,
therefore could not device a test.
Should be merged anyways, since it's in vim?
To get an UTF-8 character, utf_ptr2char() is used.
But this function can read more than maxlen bytes, if an incomplete
byte sequence is used(first byte specifies a length > maxlen).
Asterisk should be preceded by a space except the following cases:
1. `foo[*idx_ptr]`
2. `++*foo` (though I would prefer to write this as `++(*foo)`)
3. `(*foo)->bar`, `if (*p)`
4. `char **foo`
5. `/* comment */`
6. `!*p`
Note: `[^ (*/![]` is followed by `+` to make error position easier to find. It
is not needed to find location of the problem.
Luv is a simple lua binding to libuv, which is now used by neovim lua client.
The bundled luv installation a bit different from other dependencies in that it
is installed two times:
- The "BuildLuv.cmake" script downloads and installs a static version of luv
using its normal cmake build script. This static version will be used later.
- Luv default rockspec is replaced with the alternate under the "rockspecs"
directory(the alternate rockspec plays nicer with neovim build system)
- The alternate rockspec is used to build/install the lua module and make it
available to lua scripts.