Problem
Similar to https://github.com/neovim/neovim/pull/33257, but for the date
component. When timezone is behind UTC the epoch date of individual
components mismatch causing the test to fail.
Solution
The `epoch` variable is created using `os.date` with a `!`, which means
format the date in UTC instead of local timezone:
https://www.lua.org/manual/5.1/manual.html#pdf-os.date.
Since the individual components like year, month, and day are expected
to match `epoch` they should all be created using a `!` as well.
Problem: Old Coverity warning for not checking ftell() return value.
Solution: Check return value of fseek() and ftell().
3df8f6e353
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Coverity warning for strcpy() into fixed size array.
Solution: Add a type cast to hopefully silence the bogus warning.
7b6903f02c
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem:
Popup menu cannot have a border.
Solution:
Support 'pumborder' option.
Generalize `win_redr_border` to `grid_redr_border`,
which redraws border for window grid and pum grid.
vim-patch:8.1.1989: the evalfunc.c file is still too big
vim-patch:8.2.0379: gcc warns for ambiguous else
vim-patch:8.2.0510: Coverity complains about using uninitialized variable
vim-patch:8.2.0566: Vim9: variable can be used uninitialized
vim-patch:8.2.1908: Lua is initialized even when not used
vim-patch:8.2.2313: Vim9: using uninitialized field when parsing range
vim-patch:8.2.2374: accessing uninitialized memory in test_undo
vim-patch:8.2.2509: tests fail on s390 build
vim-patch:8.2.2572: Vim9: crash when getting the types for a legacy function
vim-patch:8.2.3134: crash when using typename() on a function reference
vim-patch:8.2.3527: gcc complains about uninitialized variable
vim-patch:8.2.3653: terminal ANSI colors may be wrong
vim-patch:8.2.3755: Coverity warns for using a buffer in another scope
vim-patch:8.2.3770: new compiler warnings from clang-12 and clang-13
vim-patch:8.2.3875: gcc complains about buffer overrun
vim-patch:8.2.3893: Vim9: many local variables are initialized with an instruction
vim-patch:8.2.4017: gcc warns for misleading indent in Athena menu code
vim-patch:8.2.4023: using uninitialized variable
vim-patch:8.2.4126: crash on exit when built with dynamic Tcl
vim-patch:8.2.4468: Coverity warns for uninitialized struct member
vim-patch:8.2.4471: Coverity warns for uninitialized variable
vim-patch:8.2.4661: Coverity warning for using uninitialized variable
vim-patch:8.2.4779: lsan suppression is too version specific
vim-patch:8.2.4995: still a compiler warning for possibly uninitialized variable
vim-patch:8.2.5005: compiler warning for uninitialized variable
vim-patch:8.2.5068: gcc 12.1 warning when building tee
vim-patch:8.2.5069: various warnings from clang on MS-Windows
vim-patch:8.2.5073: clang on MS-Windows produces warnings
vim-patch:8.2.5075: clang gives an out of bounds warning
vim-patch:8.2.5085: gcc gives warning for signed/unsigned difference
vim-patch:8.2.5087: cannot build with clang on MS-Windows
vim-patch:9.0.0395: clang warnings for function prototypes
vim-patch:9.0.0860: MS-Windows: windres fails with clang 15.0.4
vim-patch:9.0.1088: clang warns for unused variable
vim-patch:9.0.1517: MacOS: configure removes -O2 from $CFLAGS
vim-patch:9.0.1685: silence Python 3.11 depreciations for gcc
vim-patch:9.0.1716: Windows build with python 3.12 and clang fails
vim-patch:9.0.1913: if_python: undefined behaviour for function pointers
vim-patch:9.0.1930: compiler warnings with clang-17
vim-patch:9.0.1971: macOS: FEAT_SOUND guard too restrictive
vim-patch:9.1.0066: gcc complains about use of uninitialized var
vim-patch:9.1.0067: gcc still complains about use of uninitialized var
vim-patch:9.1.0588: The maze program no longer compiles on newer clang
vim-patch:9.1.0827: CI: tests can be improved
vim-patch:9.1.0833: CI: recent ASAN changes do not work for indent tests
vim-patch:9.1.0846: debug symbols for xxd are not cleaned in Makefile
vim-patch:9.1.0884: gcc warns about uninitialized variable
vim-patch:9.1.0946: cross-compiling fails on osx-arm64
vim-patch:9.1.1189: if_python: build error due to incompatible pointer types
vim-patch:9.1.1347: small problems with gui_w32.c
vim-patch:9.1.1358: if_lua: compile warnings with gcc15
vim-patch:9.1.1365: MS-Windows: compile warnings and too many strlen() calls
vim-patch:9.1.1686: if_ruby: unknown pragma when not using gcc
vim-patch:9.1.1729: CI is not run with clang 21
vim-patch:9.1.1765: f_isnan() and f_isinf() do not correctly initialize rettv type
vim-patch:9.1.1767: Patch v9.1.1765 was wrong
vim-patch:9.1.1812: completion: flicker with slow LSPs
vim-patch:9.1.1814: Patch v9.1.1812 causes crashes
Problem:
On MacOS it is a relatively common pattern to set XDG_RUNTIME_DIR under
`/tmp` or `/var`. Both of these are symlinks to `/private/tmp` and
`/private/var`. When checking for loopback the input address is
normalized using `fix_fname`, however this is not applied to the
addresses of the sockets. As a result of one address being normalized
and the other not the comparison would fail.
Solution:
Normalize both sides of the comparison using `fix_fname`.
Problem: tests: Test_search_stat_option() may fail on slow systems
Solution: test_search_stat: Extend searchcount() timeout if the test is
being re-run due to flakiness (James McCoy).
closes: vim/vim#185244fa7ec8036
Co-authored-by: James McCoy <jamessan@jamessan.com>
The docs for fuzzy matching seems to try to list every possible use
case, but misses this one. It's a good idea to be consistent.
closes: vim/vim#185251388fa62d2
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
- Use the optional tail command-name spec at :help :syntime.
- Match full :syntime command and highlight args.
7dba04f15c
Documentation changes only.
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
Also, distinguish (by abbreviating their names) and manage
foldable kinds of syntax items: blocks of code ("b"), plain
comments ("c"), Javadoc comments ("d"), adjacent "import"
declarations ("i"). Fold all qualifying items by default;
otherwise, do not fold items of explicitly delisted kinds.
For example,
------------------------------------------------------------
let g:java_ignore_folding = "bcdi"
------------------------------------------------------------
Resolveszzzyxwvut/java-vim#12.
closes: vim/vim#18492143686b3c4
Co-authored-by: Aliaksei Budavei <0x000c70@gmail.com>
Problem: Window may have wrong height if resized from another tabpage.
Solution: Improve check for whether a tabline has been added (zeertzjq).
fixes: vim/vim#18518closes: vim/vim#18519bd3b958027
Problem: MS-Windows: not possible to highlight the title bar
Solution: Make the title/caption bar configurable by introducing the
'go-C' option value which allows to highlight it using the
TitleBar and TitleBarNC highlighting groups (Mao-Yining).
Introduce titlebar color customization for Windows 11 GUI through
highlight groups and new 'guioptions' flag:
- Add 'C' flag to enable titlebar color customization (opt-in)
- New highlight groups: TitleBar (active) and TitleBarNC (inactive)
- Uses DWMWA_CAPTION_COLOR and DWMWA_TEXT_COLOR DWM attributes
- Dynamically loads dwmapi.dll for Windows 11 compatibility
- Defaults to system colors when set to NONE or feature disabled
closes: vim/vim#184492c09368273
Co-authored-by: Mao-Yining <mao.yining@outlook.com>
Problem: after #35601, nvim_open_win incorrectly attempts to set the size of a
split window to 0 if it wasn't specified.
Solution: only attempt to set the size again if it was actually specified. This has the effect of defaulting to half the size of the parent window (or it may be equalized with other windows to make room), like before.
Fix#36080
Problem: popup: there are some position logic bugs
Solution: Refactor position logic and fix a few bugs
(Girish Palya).
This change does the following:
- Simplified and rewrote horizontal positioning logic (was overly
complex).
- Split horizontal and vertical positioning into separate functions.
- Fixed missing truncation marker (e.g. `>`) when items were truncated
and `pummaxwidth` was not set.
- Fixed occasional extra space being added to menu items.
- Update tests
closes: vim/vim#18441e3ed5584ed
Cherry-pick pum_display_{rtl,ltr}_text() changes from patch 9.1.1835.
Co-authored-by: Girish Palya <girishji@gmail.com>
Problem: 'cursorlineopt' "screenline" isn't redrawn when moving cursor
and then using line("w0") and :retab that does nothing.
Solution: Call redraw_for_cursorcolumn() when setting a valid w_virtcol
(zeertzjq).
closes: vim/vim#18506a084914361
Remove WM_LIST, which was previously added in #7110, but now statusline
and messages no longer interfere with each other thanks to the message
grid, etc., and terminal refreshing no longer calls update_screen()
directly since #9883.
Tests from #7110 and #10107 still pass.
Problem: If plugin was intended to install but there were errors (like
if there is a typo in `src`), lockfile still includes its entry.
This leads to all source of problems (like not correct `get()` output,
not working `update()`, etc.).
Solution: Explicitly account for plugins that were not installed.
Alternative solution might be to write a safe
`lock_set(plug, field, value)` wrapper (which sets field for a correct
`plugins` entry in the lockfile Lua table) and use it after install
to detect the change in `version`. However, this always requires
an extra pass through plugins on every startup, which is suboptimal.
Optimizing for the "happy path" should be a priority in `add()`.
Problem: The evalfunc.c file is too big.
Solution: Move undo functions to undo.c. Move cmdline functions to
ex_getln.c. Move some container functions to list.c.
08c308aeb5
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: vertical separator of 'winfixwidth' windows may remain if they
become right-most windows from closing windows to the right.
Solution: Don't implicitly rely on frame_new_width to fix vseps, as the
call may be skipped for 'winfixwidth' windows to preserve
their width; do it explicitly in winframe_remove (Sean Dewar).
Note that I prefer win_new_width here over setting w_width directly, which
would've previously been done by win_split_ins after frame_add_vsep, as this
wasn't true for winframe_remove.
Though the equivalent issue of bottom 'winfixheight' windows leaving stray
statuslines with &ls=0 doesn't seem to exist, test it anyway.
closes: vim/vim#18481620c655677
Nvim: calling win_new_width over setting w_width directly is especially
important in making sure stuff like w_view_width is correct here.
Co-authored-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Problem: filetype: KerML and SysML files are not recognized
Solution: Detect *.kerml as kerml filetype, detect *.sysml as sysml
filetype, include a kerml and sysml filetype plugin
(Daumantas Kavolis)
closes: vim/vim#18476b73ccf7ff0
Co-authored-by: Daumantas Kavolis <daumantas.kavolis@sensmetry.com>