Problem: Using NULL pointers in some code. (James McCoy)
Solution: Avoid adding to a NULL pointer. Use byte as unsigned.
9c2b06637b
The changes to eval.c (skip_expr_concatenate) and vim9compile.c aren't
included since they're specific to vim9script support.
Problem: Error for possible NULL argument to qsort().
Solution: Don't call qsort() when there is nothing to sort. (Dominique
Pelle, closesvim/vim#5780)
bb65a5690c
Problem: Cannot recover from a swap file.
Solution: Do not expand environment variables in the swap file name.
Do not check the extension when we already know a file is a swap
file. (Ken Takata, closes 4415, closesvim/vim#4369)
99499b1c05
Problem:
During a refactor long ago, we changed the `getdigits_*` familiy of
functions to abort on overflow. But this is often wrong, because many
of these codepaths are handling user input.
Solution:
Decide at each call-site whether to use "strict" mode.
fix#5555
gcc version 8.3.0 (Debian 8.3.0-6)
../src/nvim/ex_docmd.c: In function ‘commands_array’:
../src/nvim/ex_docmd.c:10192:36: warning: ‘%ld’ directive output may be truncated writing between 1 and 19 bytes into a region of size 10 [-Wformat-truncation=]
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
^~~
../src/nvim/ex_docmd.c:10192:37: note: format string is defined here
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
../src/nvim/ex_docmd.c:10192:36: note: directive argument in the range [0, 9223372036854775807]
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
^~~
../src/nvim/ex_docmd.c:10192:9: note: ‘snprintf’ output between 2 and 20 bytes into a destination of size 10
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/nvim/ex_docmd.c:10205:36: warning: ‘%ld’ directive output may be truncated writing between 1 and 19 bytes into a region of size 10 [-Wformat-truncation=]
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
^~~
../src/nvim/ex_docmd.c:10205:37: note: format string is defined here
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
../src/nvim/ex_docmd.c:10205:36: note: directive argument in the range [0, 9223372036854775807]
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
^~~
../src/nvim/ex_docmd.c:10205:9: note: ‘snprintf’ output between 2 and 20 bytes into a destination of size 10
snprintf(str, sizeof(str), "%" PRId64, (int64_t)cmd->uc_def);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/nvim/spell.c: In function ‘did_set_spelllang’:
../src/nvim/spell.c:1631:61: warning: ‘%s’ directive output may be truncated writing up to 254 bytes into a region of size 84 [-Wformat-truncation=]
"autocmd VimEnter * call spellfile#LoadFile('%s')|set spell",
^~
../src/nvim/spell.c:2063:25:
spell_load_lang(lang);
~~~~
../src/nvim/spell.c:1630:7: note: ‘snprintf’ output between 57 and 311 bytes into a destination of size 128
snprintf(autocmd_buf, sizeof(autocmd_buf),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"autocmd VimEnter * call spellfile#LoadFile('%s')|set spell",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lang);
~~~~~
../src/nvim/window.c: In function ‘win_rotate’:
../src/nvim/window.c:1780:22: warning: ‘wp2’ may be used uninitialized in this function [-Wmaybe-uninitialized]
wp2->w_pos_changed = true;
^
../src/nvim/window.c:1779:22: warning: ‘wp1’ may be used uninitialized in this function [-Wmaybe-uninitialized]
wp1->w_pos_changed = true;
* vim-patch:8.1.1715: emoji characters are seen as word characters for spelling
Problem: Emoji characters are seen as word characters for spelling. (Gautam
Iyer)
Solution: Exclude class 3 from word characters.
06e6377009
* vim-patch:8.1.0749: error message contains garbage
Problem: Error message contains garbage. (Dominique Pelle)
Solution: Use correct pointer to failed expression.
6acc79f5d4
Problem: When 'hlsearch' is set and matching with the last search pattern
is very slow, Vim becomes unusable. Cannot quit search by
pressing CTRL-C.
Solution: When the search times out set a flag and don't try again. Check
for timeout and CTRL-C in NFA loop that adds states.
fbd0b0af68
Note about shada.c:
- shada_read_next_item_start was intentionally shadowing `unpacked` and
`i` because many of the macros (e.g. ADDITIONAL_KEY) implicitly
depended on those variable names.
- Macros were changed to parameterize `unpacked` (but not `i`). Macros
like CLEAR_GA_AND_ERROR_OUT do control-flow (goto), so any other
approach is messy.
Problem: Bogus characters appear when indenting kicks in while doing a
visual-block append.
Solution: Recompute when indenting is done. (Christian Brabandt)
e2e69e4813