Allow Include What You Use to remove unnecessary includes and only
include what is necessary. This helps with reducing compilation times
and makes it easier to visualise which dependencies are actually
required.
Work on https://github.com/neovim/neovim/issues/549, but doesn't close
it since this only works fully for .c files and not headers.
Enable and fix bugprone-misplaced-widening-cast warning.
Fix some modernize-macro-to-enum and readability-else-after-return
warnings, but don't enable them. While the warnings can be useful, they
are in general too noisy to enable.
Problem: Macros for MS-Windows are inconsistent, using "32", "3264 and
others.
Solution: Use MSWIN for all MS-Windows builds. Use FEAT_GUI_MSWIN for the
GUI build. (Hirohito Higashi, closesvim/vim#3932)
4f97475d32
The earlier vsnprintf() call checks whether str->items is NULL, sets of
the "possible NULL" spidey sense. kv_ensure_space() guarantees
str->items is non-NULL but since it doesn't use NULL checks to decide
whether to alloc, static analyzers can't tell this code path is safe.
* fix(PVS/V547): remove ifs that are always true or false
* fix(PVS/V560): remove partial conditions that are always true
* fix(PVS/V1044): suppress warning about loop break conditions
* fix(PVS/V1063): suppress "modulo by 1 operation is meaningless"
* fix(PVS/V568): suppress "operator evaluates the size of a pointer"
Also mark vim-patch:8.2.4958 as ported.
xstrnsave is a clone of vim_strnsave that uses char* instead of char_u*.
Its purpose short-term is to help reduce the number of casts and for
long-term to replace vim_strnsave as the need to use char_u is
eliminated.
Problem: Printf() with %S does not handle multi-byte correctly.
Solution: Count cells instead of bytes. (closesvim/vim#9169, closesvim/vim#7486)
d85fccdfed
Problem: Giving error messages is not flexible.
Solution: Add semsg(). Change argument from "char_u *" to "char *", also
for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
vim/vim#3302) Also make emsg() accept a "char *" argument. Get rid of
an enormous number of type casts.
f9e3e09fdc
Problem: Escaping for fish shell is skipping some characters.
Solution: Escape character after backslash if needed. (Jason Cox,
closesvim/vim#8827)
6631597452
Problem: The "num64" feature is available everywhere and building without
it causes problems.
Solution: Graduage the "num64" feature. (James McCoy, closesvim/vim#5650)
82f654e092
Restore Test_printf_spec_b() from patch 7.4.2221..
N/A patches for version.c:
vim-patch:8.2.0594: MS-Windows: cannot build with WINVER set to 0x0501
Problem: MS-Windows: cannot build with WINVER set to 0x0501.
Solution: Only use inet_ntop() when available. (Ozaki Kiichi, closesvim/vim#5946)
b6fb0516ec
vim-patch:8.2.0965: has_funcundefined() is not used
Problem: Has_funcundefined() is not used.
Solution: Delete the function. (Dominique Pellé, closesvim/vim#6242)
5055c56cfb
vim-patch:8.2.1370: MS-Windows: warning for using fstat() with stat_T
Problem: MS-Windows: warning for using fstat() with stat_T.
Solution: use _fstat64() if available. (Naruhiko Nishino, closesvim/vim#6625)
c753478b82
vim-patch:8.2.2056: configure fails when building with implicit-function-declaration
Problem: Configure fails when building with the
"implicit-function-declaration" error enabled, specifically on Mac.
Solution: Declear the functions like in the source code. (suggestion by
Clemens Lang, closesvim/vim#7380)
ce7be3a0e6