Problem: Vim9: misleading error when extending dictionary
(lacygoill)
Solution: Give a proper error message when a Dict type is used with a
compound operator (Yegappan Lakshmanan)
fixes: #8072closes: #18426
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Wrong display with 'smoothscroll' and long wrapped virtual
text at EOL.
Solution: Handle w_skipcol inside long wrapped virtual text at EOL
(zeertzjq).
closes: #18408
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: completion: autocompletion can be improved
Solution: Add support for "longest" and "preinsert" in 'autocomplete';
add preinserted() (Girish Palya)
* Add support for "longest" in 'completeopt' when 'autocomplete'
is enabled. (Note: the cursor position does not change automatically
when 'autocomplete' is enabled.)
* Add support for "preinsert" when 'autocomplete' is enabled. Ensure
"preinsert" works the same with and without 'autocomplete'
* introduce the preinserted() Vim script function, useful for defining
custom key mappings.
fixes: #18314closes: #18387
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Wrong cursor position with wrapped "after" virtual text and
'showbreak' (Ben Jackson)
Solution: Count size of 'showbreak' in wrapped "after" virtual text in
line size (zeertzjq).
fixes: #18398closes: #18400
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: configure: terminfo test does not work with musl
(T3rm1, after v9.9.1.0837)
Solution: include term.h in configure script, add forward declarations,
in case headers are not found
fixes: #18393closes: #18405
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Link error when build without channel feature
(lindhobe, after v9.1.1774)
Solution: Remove ifdef FEAT_JOB_CHANNEL around
check_for_string_or_blob_arg()
fixes: #18396
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: List of changes not protected from changes when processing
listeners (after v9.1.1782)
Solution: Fully lock changes list for listener callbacks (Paul Ollis)
closes: #18385
Signed-off-by: Paul Ollis <paul@cleversheep.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: completion: Enter does not insert match with "noinsert".
(Sergey Vlasov)
Solution: Check for compl_shown_match instead of compl_selected_item
(zeertzjq).
fixes: #18386
related: #1653closes: #18395
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: MS-Windows: using wrong check for bold font
(after v9.1.1347)
Solution: Test if lf.lfWeight == FW_BOLD instead of a simple truthiness
test (Shay)
Commit 411ae58 replaced an operator conditional
`if lf.lfWeight == FW_BOLD`
with a truthiness check
`if lf.lfWeight`
This conditional determines whether `:b` is inserted into the value of
`guifont`. The truthiness check allowed both FW_STANDARD and FW_BOLD
font weights to trigger the insertion of `:b` into the `guifont` string.
This commit restores the `== FW_BOLD` condition.
fixes: #18383closes: #18397
Signed-off-by: Shay <shay_public@hotmail.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: filetype: not all Sway config files are recognized
Solution: Detect files within */sway/config.d/* as swayconfig filetype
(Felix Pehla).
Sways default config automatically includes files placed in
@sysconfdir@/sway/config.d/* (see config.in), so it makes sense to use
the sway syntax for those.
related: #18293
Signed-off-by: Felix Pehla <29adc1fd92@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Compile error with clipboard
(lacyggoill, after v9.1.1784)
Solution: Add $WAYLAND_SRC as dependency for clipboard.c in Makefile
(Foxe Chen)
closes: #18375
Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: typo in comment in change.c (after v9.1.1782)
Solution: Fix typo in comment in change.c (Christ van Willegen).
Signed-off-by: Christ van Willegen <cvwillegen@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Wayland code can be improved
Solution: Refactor Wayland Clipboard code (Foxe Chen).
This the second attempt to refactor the Wayland code base:
- Move clipboard code from wayland.c to clipboard.c
- Use C99 bool type
- Properly poll the Wayland display file descriptor
- Instead of checking if the data source is not NULL in order to
determine if a selection event comes from us, use a special mime type
to identify selection events coming from ourselves. The problem with
the previous approach is that race conditions may occur.
- Put the focus stealing code under a new feature "wayland_focus_steal"
- Use ELAPSED_* macros instead of gettimeofday()
- Pass tests
- Reimplement commented out code
- Update docs
- Make Wayland clipboard behaviour more in line with X11 when connection
is lost
- add missing malloc checks and possible memory leaks + refactored some
tests.
closes: #18324
Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: ins_compl_leader() defined too far away from
ins_compl_leader_len() (after 9.1.1781).
Solution: Move ins_compl_leader() just before ins_compl_leader_len().
Add missing "static" to eval0_simple_funccal() definition.
(zeertzjq).
closes: #18364
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: buffer-listener callbacks may not match buffer content, since
they are buffered until the screen is updated.
Solution: Allow to handle buffer-callbacks un-buffered, meaning to
handle those changes as soon as they happen (Paul Ollis).
fixes: #18183closes: #18295
Signed-off-by: Paul Ollis <paul@cleversheep.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: some functions could be defined static
Solution: Change function definitions and make them static
(Yegappan Lakshmanan)
closes: #18354
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: mbyte contains overlapping list of utf_classes table
Solution: Update table to contain non-overlapping list (Yuta Yamamoto)
closes: #18362
Signed-off-by: Yuta Yamamoto <jichael.y.yuta1995@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: completion: 'autocomplete' cannot be enabled per buffer
(Tomasz N)
Solution: Make 'autocomplete' global or local to buffer (Girish Palya)
fixes: #18320closes: #18333
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Mouse click to open fold doesn't work with utf-8 "foldclose"
chars (Balki)
Solution: Use ScreenLinesUC[off] if it is set (zeertzjq).
fixes: #18344closes: #18349
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: "adding" expansion doesn't work with cfc=keyword.
Solution: Remove incorrect assignment to compl_cont_status. Don't use
fuzzy collection in "adding" status (zeertzjq).
related: neovim/neovim#35842
closes: #18351
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: cannot calculate sha256() of a Blob
Solution: Change sha256() to accept a Blob or String argument
(thinca).
closes: #18336
Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Crash in BufLeave/WinLeave/TabLeave when closing window after
BufUnload closes all other windows in the tab page.
Solution: Avoid duplicate BufLeave/WinLeave events. Trigger TabLeave
before removing the buffer (zeertzjq).
related: #14166
related: neovim/neovim#33603closes: #18330
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: complete: some redraw issues with 'autocomplete'
Solution: Fix the issues (Girish Palya)
This commit contains the following changes:
* Fix that wildtrigger() might leave opened popupmenu around #18298
* Remove blinking message on the command line when a menu item from a loaded
buffer is selected during 'autocomplete'
* Add a test for PR #18265 to demonstrate why the PR is required for correct
'autocomplete' behavior
fixes: #18298closes: #18328
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: completion: "preinsert" insert wrong word with 'smartcase' and
'autocomplete'
Solution: Add compare completed item with the leader (Girish Palya)
closes: #18313
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Makefile does not uninstall global plugins
(after v9.1.1757)
Solution: Uninstall global plugins before installing them,
so that old files are not carried around and loaded
when no longer used.
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Patch v9.1.1765 was wrong
Solution: Roll back the change, it's correct to have call_func()
initialize the type, so that not each function has to
do this on its own.
This reverts commit 19fa46a469.
closes: #18317
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: Vim9: some Vim9 functions do not handle null_string correctly
and may crash Vim (kennypete).
Solution: Check for null_string correctly in the searchpair() and
substitute() functions (Yegappan Lakshmanan).
fixes: #18309closes: #18311
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: f_isnan() and f_isinf() do not correctly initialize rettv type
Solution: Initialize them with type: VAR_NUMBER and value 0 (Damien Lejay).
Both builtins wrote only rettv->vval.v_number and relied on call_func()
initialising rettv->v_type to VAR_NUMBER. Explicitly set
rettv->v_type = VAR_NUMBER;
rettv->vval.v_number = 0;
at function entry to avoid undefined behaviour and make the return type
self-contained.
closes: #18307
Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: filetype: kitty config files are not recognized
Solution: Detect */kitty/*.conf as kitty filetype, include a syntax
script (Shawon).
closes: #18280
Signed-off-by: Shawon <mdmoinulhossainshawon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: completion: selected item not cleared on backspace when
'autocomplete' is set
Solution: Clear the selected item (Girish Palya)
closes: #18260
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: 'ruler' is set in defaults.vim, but not enabled by default in
non-compatible mode.
Solution: set the ruler option in non-compatible mode, remove it from
defaults.vim, update tests
closes: #18260
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: The colorresp plugin causes additional redraws
(Linwei, after v9.1.1703)
Solution: Move the code back into the C core and get rid of the vim
plugin (Foxe Chen)
fixes: #18251closes: #18279
Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Problem: termdebug: Need a few more user commands
Solution: Add the :RunOrContinue and the :ToggleBreak user commands
(bennyyip)
closes: #18283
Signed-off-by: bennyyip <yebenmy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>