Problem: ":sign jump" may use another window even though the file is
already edited in the current window.
Solution: First check if the file is in the current window. (James McCoy)
https://code.google.com/p/vim/source/detail?r=v7-4-487
Code modified in patch 7.4.402 and 7.4.443 was introduced with
patch 7.4.399, which is also marked as NA (FEAT_CRYPT was removed).
Patch 7.4.509 needs the removed FEAT_CRYPT.
- restores behavior equivalent to Vim compiled without FEAT_MZSCHEME, etc.
(avoids spurious "E492: Not an editor command: EOF") for code such as:
```vim
if 0
perl << EOF
end
EOF
endif
```
see :help script-here
- fixes#1308
- fixes https://github.com/junegunn/vim-plug/issues/111
* Remove 'test' prefix from test names.
* Ask if existing spec files should be overwritten.
* Fix for legacy tests with no initial buffer content (e.g. test_signs).
The memory leak fixed in 7.4.560 was fixed in
e10670ac3b. We also do not need to keep
`y_current->y_array` as is until done, because our memory allocations
cannot fail.
** CID 90712: Dereference after null check (FORWARD_NULL)
/src/nvim/getchar.c: 3654 in check_abbr()
vim_strsave() never returns NULL, so q is never NULL. Removing the
NULL check for q should fix this warning.
Problem: Using "vit" does not select a multi-byte character at the end
correctly.
Solution: Advance the cursor over the multi-byte character. (Christian
Brabandt)
https://code.google.com/p/vim/source/detail?r=v7-4-547
put_time() had a complicated implementation, because of having to shift
an 8-byte value in a portable way with old means.
That can be greatly simplified now, using a C99 fixed-size type.
Previous commit dropped many -Wconversion warnings in both spell.c and
undo.c. spell.c still has a lot of them (200+). But in undo.c, only a
handful of them remain. Take the chance to eliminate those, too, and add
undo.c to -Wconversion checked files.
Remove all long_u instances due to put_bytes() function.
First, function signature is changed this way:
- nr : long_u --> uintmax_t
uintmax_t is chosen so that invocations can use any unsigned integer
type (including size_t) without needing to cast.
- len : int --> unsigned int
This is to pass the size in bytes of the previous param, thus an
unsigned int is enough. All invocations use positive integer
literals, so change is safe without the need for casts.
Then, function implementation is adapted accordingly.
Last, all invocation points are refactored this way:
- Refactor types to minimize casts.
- Inline declarations (C99 style) in containing function.
All this changes were done with -Wconversion temporarily activated for
spell.c and undo.c, so that we can assert changes are type-safe and do
not introduce any warnings to that respect.