Problem: :Tutor may not work as expected
Solution: set buftype=nowrite instead of nofile
(Phạm Bình An)
closes: #18613
Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: tests: test failures with Python 3.14 and test_python3
Solution: Adjust the expected error message (Yee Cheng Chin)
Python 3.14 changed the error message from "argument must be 2-item
sequence" to "argument must be 2-item tuple". Fix test to account for
that. Otherwise the error message for the `vim.current.window.cursor =
True` line would not match.
closes: #18629
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: HAVE_STDARG_H still defined
(after v7.4.1216)
Solution: Remove all remaining occurrences of HAVE_STDARG_H
(Ola Söder)
closes: #18593
Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: HAVE_STRCSPN define is unused
Solution: Remove all HAVE_STRCSPN defines
(Ola Söder)
closes: #18592
Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: tests: test_codestyle does not notice lines containing only a
tab
Solution: Fix the whitespace issue in eval.txt, update test_codestyle to
notice such issues (Hirohito Higashi)
closes: #18595
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: tests: Clipboard provider feature test failure
Solution: Check in the test that the + clipboard register is available,
fix compile warning (Foxe Chen)
closes: #18586
Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Cannot test for working "+" register
Solution: Add a few more feature tests (Foxe Chen)
closes: #18541
Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Wrong ifdefs for clipboard provider (after v9.1.1857)
Solution: Update ifdefs (Foxe Chen)
`clip_mch_own_selection()` should only be compiled if there is:
- No Wayland or X11 or clipboard provider support
- If not on UNIX (except MacOS) and clipboard provider feature is
enabled.
closes: #18574
Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Amiga: Locating runtime directory and rc files can be
simplified.
Solution: Use assigns since it's simpler and more in line with
how other Amiga applications work (Ola Söder).
closes: #18581
Signed-off-by: Ola Söder <rolfkopman@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: completion: whitespace not cleared with 'ai'
Solution: Remove spaces added by 'autoindent' when autocomplete is set
and restore did_ai in ins_compl_start() (Maxim Kim)
fixes#18560closes: #18582
Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: v:register not reset after Visual mode command.
(laktak)
Solution: Reset v:register if Visual mode was active before
do_pending_operator() (zeertzjq)
fixes: #18579
related: #5305closes: #18583
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: cannot style popup window (border, shadow, etc)
Solution: Extend the 'completepopup' option with additional properties
(Girish Palya)
This patch extends the 'completepopup' option with additional settings
to allow more configuration of info popup window.
New values:
```
- close "on" (default) or "off"
- resize "on" (default) or "off"
- borderchars specify eight characters (separated by semicolons) to
draw the popup border: top, right, bottom, left,
topleft, topright, botright, botleft.
- borderhighlight highlight group for the popup border characters
- shadow pum shadow
```
closes: #18487
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Ctrl-F and Ctrl-B at more prompt not working with kitty
keyboard protocol or modifyOtherKeys (after v9.1.1849).
Solution: Call merge_modifyOtherKeys() in get_keystroke() (zeertzjq).
closes: #18558
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: vim9class: fix memory leak in parse_member()
Solution: Free evalarg before returning (Lidong Yan)
In parse_member(), skip_expr_concatenate() allocates memory in evalarg.
However parse_member() forgets to free evalarg at early return-fail
point. Add clear_evalarg() at early return-fail point.
closes: #18533
Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: memory leak in heredoc_get()
Solution: Free "str" if list_append_string() fails
(Lidong Yan).
In heredoc_get(), eval_all_expr_in_str() allocates a new string and
assign it to local variable "str". When list_append_string() failed
the memory pointed to by "str" leaks. Free "str" if list_append_string()
failed.
related: #18533
Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: CTRL-F and CTRL-B don't work in more prompt
Solution: Make CTRL-F and CTRL-B scroll by a screen down/up
(Bjoern Foersterling)
closes: #18545
Signed-off-by: bfoersterling <bjoern.foersterling@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: A few typos in the code
Solution: Fix typos (zeertzjq)
closes: #18550
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: No cmdline completion for :echoconsole, :echowindow and second
expression after :echoerr.
Solution: Set EXPAND_EXPRESSION for :echoconsole and :echowindow, and
check for multiple expressions after :echoerr (zeertzjq).
closes: #18552
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Build failure when building without wayland
(bennyyip, after v9.1.1844)
Solution: Update Makefile dependencies again, remove wayland
dependencies for clipboard.c,
fixes: #18534fixes: #18536fixes: #18537closes: #18538
Signed-off-by: Christian Brabandt <cb@256bit.org>
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: #18524
Signed-off-by: James McCoy <jamessan@jamessan.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: MS-Windows: build failure when mzscheme is included
(dertuxmalwieder, after v9.1.1838)
Solution: skip specific section when PROTO is defined
(Hirohito Higashi)
fixes: #18529closes: #18530
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Generating prototype files does not work on all platforms
Solution: Rework prototypes generation using python instead of cproto,
enable it in CI to test it for each PR (Hirohito Higashi).
closes: #18045
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Window may have wrong height if resized from another tabpage.
Solution: Improve check for whether a tabline has been added (zeertzjq).
fixes: #18518closes: #18519
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: proto files out of sync
Solution: Update proto files (Hirohito Higashi)
closes: #18517
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: tests: Test_plugin_evaluate_in_popup() fails on 32bit arch
(James McCoy)
Solution: Instead of evaluating the ptr, let's evaluate just the pointer
content, skipping printing the pointer address.
fixes: #18499closes: #18503
Signed-off-by: Christian Brabandt <cb@256bit.org>
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: #18506
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: not possible to style popup borders globally
Solution: Add the 'pumborder' option (Girish Palya)
This commit introduces a new global option, 'pumborder' ('pb'), that
allows users to define borders and optional decorations for the
completion popup menu.
```
Defines a border and optional decorations for the popup menu in
completion. The value is a comma-separated list of keywords.
Border styles (at most one):
"single"singleuse thin box-drawing characters
"double"doubleuse double-line box-drawing characters
"round"rounduse rounded corners
"ascii"asciiuse ASCII characters (-, |, +)
"custom:XXXXXXXX"
use eight characters given after "custom:",
in order: top, right, bottom, left,
topleft, topright, botright, botleft
Additional flags:
"margin"marginadds one-cell spacing inside the left and right border
"shadow"shadowdraws a shadow at the right and bottom edges
Highlight groups:
|hl-PmenuBorder|hl-PmenuBorderused for the border characters
|hl-PmenuShadow|hl-PmenuShadowused for the shadow
Examples: >
:set pumborder=single
:set pumborder=double,margin,shadow
:set pumborder=custom:─│─│┌┐┘└,shadow
Border styles using box-drawing characters ("single", "double",
"round") are only available when |'encoding'| is "utf-8" and
|'ambiwidth'| is "single". "margin" requires a border style.
See also: |ins-completion-menu|.
```
fixes: https://github.com/vim/vim/pull/18441#issuecomment-3360188458closes: #18486closes: #17091
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
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: #18449
Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.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: #18481
Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: MS-Windows: Dark mode titlebar is not configurable
(after v9.1.1813)
Solution: Revert patch v9.1.1813
Revert "patch 9.1.1813: MS-Windows: title bar is always white"
This reverts commit dddde9ce12.
related: #18282
Signed-off-by: Christian Brabandt <cb@256bit.org>
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: #18476
Signed-off-by: Daumantas Kavolis <daumantas.kavolis@sensmetry.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: local variables shadowed by import names
Solution: Check if a local variable exists before handling imports
(thinca)
closes: #18480
Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Patch v9.1.1230 causes confusion about Ctrl-C behaviour
(kuuote, after v9.1.1230)
Solution: Revert the behaviour, keep the old behaviour
fixes: #17266
Signed-off-by: Christian Brabandt <cb@256bit.org>