Problem : Negative array index read @ 909.
Diagnostic : False positive.
Rationale : Suggested error path assigns a negative value to idx at
line 836 (`idx = find_command(ca.cmdchar);`). That's
impossible, as `ca.cmdchar` is set to Ctrl_BSL just two
lines above, so we know that value will be in the table.
Resolution : Assert idx >= 0.
The issue is that libuv decides to use ${PREFIX}/lib64 as the lib
directory instead of ${PREFIX}/lib. Since we're just installing it to
provide access to the static library, let's just force the libdir to be
${PREFIX}/lib.
It appears that commit 393c1c59a27591d705648919b2d7fb921cba37bc (unix:
set non-block mode in uv_{pipe,tcp,udp}_open) has broken Neovim's
drawing under OSX. Let's revert to 1.2.0 until we can figure out what
is happening and get it fixed.
`job_send` is non-blocking and can potentially fail due to the following
`job_stop` call. Since we can't reliably verify that the "exit" event is only
sent after the "stdout" event, mark the test as pending and fix after we can
get a notification about `job_send` status.
The test was hoping to not find a tags file, but didn't actively guard
against it. In my case, I had a tags file present which was causing
different output to be generated. To fix this, let's set the tags
option to look for an unlikely filename.
- Constify parameters and reduce char_u usage
- Modernize function signatures
- Modernize function comment blocks, rewriting if needed
- Factor out mainerr_arg_missing(); all the other ME_* macros lack
such a wrapper function.
main_errors[]
- Remove unneeded parentheses
- Remove an unused error string and its respective macro
mainerr()
- Don't print version when called. mainerr() only handles errors
related to command line arguments, so the version isn't much help at
all.
- Changed 'vim' instance to 'nvim'
Misc.
- Remove duplicate include
- Replace unneeded 'inttypes.h' include with 'stdint.h'
- Remove stray comments
- Remove excessive newlines
While running under valgrind, the screen can take significantly longer to
update(especially on travis) so a higher timeout can be required. Also reduce
the timeout when not running on valgrind.
When a test that fails leaves nvim in a 'Press Enter...' state, the whole suite
will hang because the `qa!` command executed before the next test won't be
processed until '<enter>' is sent.
Now the lua client can send a signal with when `Session:exit()` is called, so
the `qa!` request is no longer necessary.
Also:
- Set noswapfile at startup to prevent tests from leaving .s* swap files(should
also improve test environment determinism)
- Use `assert(false, msg) instead of `error(msg)` to report screen assertion
failures.