Age | Commit message (Collapse) | Author |
|
Problem: Make CI checks more strict
Solution: Add -Wstrict-prototypes -Wmissing-prototypes to CI,
fix uncovered problems
Add -Wstrict-prototypes -Wmissing-prototypes warnings check to CI
Add two new warnings to CI, silence some Perl related build-warnings:
- `strict-prototypes` helps prevent declaring a function with an empty
argument list, e.g. `int func()`. In C++, that's equivalent to `int
func(void)`, but in C, that means a function that can take any number
of arguments which is rarely what we want.
- `missing-prototypes` makes sure we use `static` for file-only internal
functions. Non-static functions should have been declared on a
prototype file.
- Add `no-compound-token-split-by-macro` to the perl cflags, since it
throws out a bunch of perl-related warnings that make the CI log
unnecessary verbose and hard to read. This seems to happen only with
clang 12 and above.
When applying those changes, it already uncovered a few warnings, so fix
up the code as well (fix prototypes, make the code static, remove
shadowed var declaration)
GTK header needs to have #pragma warning suppressiong because GTK2
headers will warn on `-Wstrict-prototypes`, and it's included by gui.h
and so we can't just turn off the warning in a couple files.
closes: #13223
closes: #13226
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
|
|
Problem: The footer feature is unused.
Solution: Remove FEAT_FOOTER and code.
|
|
Problem: The Athena GUI support is outdated.
Solution: Remove the Athena GUI code.
|
|
Problem: Not sufficient parenthesis in preprocessor macros.
Solution: Add more parenthesis. (closes #10031)
|
|
Problem: Motif: using default colors does not work as expected.
Solution: Do not try to store the default colors, use the resources.
(closes #9933)
|
|
Problem: MS-Windows: high dpi support is outdated.
Solution: Improve High DPI support by using PerMonitorV2. (closes #9525,
closes #3102)
|
|
Problem: GTK3 screen updating is slow.
Solution: Remove some of the GTK3-specific code. (closes #9052)
|
|
Problem: GUI: ligatures are not used.
Solution: Add the 'guiligatures' option. (Dusan Popovic, closes #8933)
|
|
Problem: VMS: various smaller problems.
Solution: Fix VMS building and other problems. (Zoltan Arpadffy)
|
|
Problem: The Mac GUI implementation is outdated and probably doesn't even
work.
Solution: Remove the Mac GUI code. The MacVim project provides the
supported Vim GUI version.
|
|
Problem: No Haiku support.
Solution: Add support for Haiku. (Emir Sari, closes #5605)
|
|
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
|
|
Problem: Cannot generate prototypes with X11 but without GUI.
Solution: Include X11/Intrinsic.h.
|
|
Problem: A lot of code is shared between vim.exe and gvim.exe.
Solution: Optionally put the shared code in vim.dll. (Ken Takata,
closes #4287)
|
|
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, closes #3932)
|
|
Problem: Too many #ifdefs.
Solution: Graduate FEAT_MBYTE, part 4.
|
|
Problem: Dropping files is ignored while Vim is busy.
Solution: Postpone the effect of dropping files until it's safe.
|
|
Problem: Lose contact with jobs when :gui forks.
Solution: Don't fork when there is a running job. Make log message for a
died job clearer. Also close the terminal when stderr and stdout
are the same FD.
|
|
Problem: When using 'termguicolors' SpellBad doesn't show.
Solution: When the GUI colors are not set fall back to the cterm colors.
|
|
Problem: balloon_show() only works in terminal when compiled with the GUI.
Solution: Add FEAT_BEVAL_GUI and refactor to move common code out of the GUI
specific file.
|
|
Problem: FEAT_WINDOWS adds a lot of #ifdefs while it is nearly always
enabled and only adds 7% to the binary size of the tiny build.
Solution: Graduate FEAT_WINDOWS.
|
|
Problem: Strike-through text not supported.
Solution: Add support for the "strikethrough" attribute. (Christian
Brabandt, Ken Takata)
|
|
Problem: Compiler warnings with Solaris Studio when using GTK3.
Solution: Define FUNC2GENERIC depending on the system. (Kazunobu Kuriyama)
|
|
Problem: Modelines in source code are inconsistant.
Solution: Use the same line in most files. Add 'noet'. (Naruhiko Nishino)
|
|
Problem: Generating prototypes with Cygwin doesn't work well.
Solution: Change #ifdefs. (Ken Takata)
|
|
Problem: Color handling of X11 GUIs is too complicated.
Solution: Simplify the code. Use RGBA where appropriate. (Kazunobu
Kuriyama)
|
|
Problem: The versplit feature makes the code uneccessary complicated.
Solution: Remove FEAT_VERTSPLIT, always support vertical splits when
FEAT_WINDOWS is defined.
|
|
Problem: GTK 3 is not supported.
Solution: Add GTK 3 support. (Kazunobu Kuriyama)
|
|
Problem: Still some Win16 code.
Solution: Remove FEAT_GUI_W16.(Hirohito Higashi)
|
|
Problem: Various small issues.
Solution: Fix those issues.
|
|
Problem: MS-Windows: When using wide font italic and bold are not included.
Solution: Support wide-bold, wide-italic and wide-bold-italic. (Ken Takata,
Taro Muraoka)
|
|
Problem: Tiny GUI version misses console dialog feature.
Solution: Define FEAT_CON_DIALOG when apprpriate. (Christian Brabandt)
|
|
Problem: With GTK menu may be popping down.
Solution: Use event time instead of GDK_CURRENT_TIME. (Hong Xu)
|
|
Problem: The RISC OS port has obvious errors and is not being maintained.
Solution: Remove the RISC OS files and code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|