vim-patch:8.0.1753: various warnings from a static analyser
Problem: Various warnings from a static analyser
Solution: Remove unneeded conditions.
1c17ffa461
- Check shada_pack_xx() result, abort on failure.
- Use xcalloc() to zero-initialize `wms`, fixes below ASAN failure.
ASAN failure (running vim_spec.lua in a loop):
../src/nvim/shada.c:1773:13: runtime error: load of value 224, which is not a valid value for type 'bool'
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../src/nvim/shada.c:1773:13
Adding an explicit check just before the ASAN failed line:
case kSDItemRegister: {
if (*((int *)(void *)&entry.data.reg.is_unnamed) != 1
&& *((int *)(void *)&entry.data.reg.is_unnamed) != 0) {
abort();
(gdb) p entry.data.reg
+p entry.data.reg
$5 = {name = 49 '1', type = kMTLineWise, contents = 0x60200000c250, is_unnamed = true, contents_size = 1, width = 0, additional_data = 0x0}
(gdb) p *((uint8_t *)(void *)&entry.data.reg.is_unnamed)
+p *((uint8_t *)(void *)&entry.data.reg.is_unnamed)
$7 = 2049
Problem: Cannot highlight the "~" lines at the end of a window differently.
Solution: Add the EndOfBuffer highlighting. (Marco Hinz, James McCoy)
58b853460a
Includes minor doc parts from 7.4.1304 for runtime/doc/eval.txt.
Having llvm-symbolizer in the $PATH is enough.
- check_logs: remove log after displaying it
Otherwise it would be displayed/symbolized again and again.
E.g. in https://api.travis-ci.org/v3/job/564477704/log.txt.
* before changed line status variable is set to RA_FAIL in 2 places
line 3816 and 3826, both lead to short-circuit of the loop, making
comparing it to RA_FAIL useless
close#10624
Since timed_out is pointer to int condition timed_out != NULL && timed_out makes no sense as both are effectively the same thing. Most likely the first check was meant to guard the dereference of the second.
Wrong import of Vim patch (8.0.0643).
Problem: unreliable types for complete function arguments
Solution: fix argument type for functions w/ unreliable type conversion(Ozaki Kiichi)
vim/vim#2993
Problem: :args output is not aligned.
Solution: Output a line break after the last item in a row.
74da39373c
vim-patch:8.1.1750: depending on the terminal width :version may miss a line break
Problem: Depending on the terminal width :version may miss a line break.
Solution: Add a line break when needed.
8a5c29aee9
vim-patch:8.1.1760: extra line break for wrapping output of :args
Problem: Extra line break for wrapping output of :args.
Solution: Avoid the extra line break. (Daniel Hahler, closesvim/vim#4737)
9800bfe0fc
Problem: unreliable types for complete function arguments
Solution: fix argument type for functions w/ unreliable type conversion(Ozaki Kiichi)
vim/vim#2993
The "osx" jobs are the slowest ones, and often still flaky.
I think it is good enough to have a single one there (since they only use
different compilers).
This should improve build times in general (with multiple running
builds, since we're using less jobs per build), and also make flaky job
failures less likely.
While it still might be flaky sometimes, it is far better than the
osx jobs in general, and due to it being allowed to fail, we are not
getting aware of more recent (flaky) issues due to building tags during
make-install, which might indicate a more generic problem.
Problem: Accessing invalid memory with long argument name.
Solution: Use item_count instead of checking for a terminating NULL.
(Dominique Pelle, closesvim/vim#3444)
e961cba3cb