Commit Graph

19794 Commits

Author SHA1 Message Date
ad43d2639d patch 9.1.1801: Vim9: misleading error when extending dictionary
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: #8072
closes: #18426

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 17:17:37 +00:00
d35e5e4237 patch 9.1.1800: completion: strange behaviour with 'ac' completeopt=longest,preinsert
Problem:  completion: strange behaviour with 'ac'
          completeopt=longest,preinsert (zeertzjq)
Solution: Let preinsert take precedence (Girish Palya)

fixes: #18410
closes: #18428

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 17:12:55 +00:00
3aa2edb557 patch 9.1.1799: completion: crash with autcompletion
Problem:  completion: crash with autcompletion
          (Maxim Kim)
Solution: Rework remove_old_matches (Girish Palya)

fixes: #18378
fixes: #18390
fixes: #18391
closes: #18427

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-28 17:07:29 +00:00
d9318acc02 patch 9.1.1798: Wrong display with 'sms' and long wrapped virt text at EOL
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>
2025-09-27 12:18:38 +00:00
c05335082a patch 9.1.1797: completion: autocompletion can be improved
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: #18314
closes: #18387

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-26 17:29:38 +00:00
3fc1f2a00e patch 9.1.1796: Wrong cursor position with wrapped "after" virtual text and 'sbr'
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: #18398
closes: #18400

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-26 17:00:10 +00:00
773054b976 patch 9.1.1795: Vim9: popup_show() may return void
Problem:  Vim9: popup_show() may return void
Solution: Modify popup_show() to return -1 for an invalid popup window
          id (Yegappan Lakshmanan).

fixes: #18389
closes: #18401

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-26 16:30:52 +00:00
9cc58faeac patch 9.1.1794: configure: terminfo test does not work with musl
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: #18393
closes: #18405

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-26 16:23:06 +00:00
1e009b0634 patch 9.1.1793: Link error when build without channel feature
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>
2025-09-26 16:18:55 +00:00
35a89ce9db patch 9.1.1792: List of changes not protected from changes
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>
2025-09-25 20:11:34 +00:00
f8eda33368 patch 9.1.1791: type(void) throws an internal error
Problem:  type(void) throws an internal error (atitcreate)
Solution: Return proper error message (Yegappan Lakshmanan)

fixes: #17310
closes: #18392

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-25 19:21:16 +00:00
ef818ae444 patch 9.1.1790: completion: Enter does not insert match with "noinsert"
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: #1653
closes: #18395

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-25 06:08:04 +00:00
36544c408e patch 9.1.1789: MS-Windows: using wrong check for bold font
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: #18383
closes: #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>
2025-09-25 05:57:11 +00:00
7376fa3fd8 patch 9.1.1788: Vim9: can declare a void variable
Problem:  Vim9: can declare a void variable (Ernie Rael)
Solution: Disallow such variable declaration (Yegappan Lakshmanan)

fixes: #13773
closes: #18382

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-24 17:51:17 +00:00
24f0dbba8c patch 9.1.1787: filetype: not all Sway config files are recognized
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>
2025-09-23 20:25:11 +00:00
a5bc3af087 translation(sr): Update Serbian messages translation
closes: #18372

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-23 20:05:15 +00:00
01cde7ff4c patch 9.1.1786: Compile error with clipboard
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>
2025-09-23 18:15:48 +00:00
55e6e6bbee patch 9.1.1785: typo in comment in change.c
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>
2025-09-22 20:17:53 +00:00
368710abcf patch 9.1.1784: Wayland code can be improved
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>
2025-09-22 19:09:52 +00:00
94c128184f patch 9.1.1783: ins_compl_leader() too far away from ins_compl_leader_len()
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>
2025-09-22 18:22:27 +00:00
e87d17ecfb patch 9.1.1782: buffer-listener callbacks may not match buffer content
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: #18183
closes: #18295

Signed-off-by: Paul Ollis <paul@cleversheep.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-21 18:53:40 +00:00
3a6cf6d53b patch 9.1.1781: some functions could be defined static
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>
2025-09-21 17:52:42 +00:00
9fa8a114b2 patch 9.1.1780: mbyte contains overlapping list of utf_classes table
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>
2025-09-21 17:26:48 +00:00
0208b3e80a patch 9.1.1779: completion: 'autocomplete' cannot be enabled per buffer
Problem:  completion: 'autocomplete' cannot be enabled per buffer
          (Tomasz N)
Solution: Make 'autocomplete' global or local to buffer (Girish Palya)

fixes: #18320
closes: #18333

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-20 14:54:27 +00:00
2f3b7ea19a patch 9.1.1778: sha256() treats empty blob and null blob differently
Problem:  sha256() treats empty blob and null blob differently
          (after 9.1.1774).
Solution: Handle null blob the same as empty blob (zeertzjq).

closes: #18341

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-20 14:37:40 +00:00
8b5fe7d090 patch 9.1.1777: Mouse click to open fold doesn't work with utf-8 "foldclose" chars
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: #18344
closes: #18349

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-20 14:16:57 +00:00
e19a882ffc patch 9.1.1776: completion: "adding" expansion doesn't work with cfc=keyword
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>
2025-09-20 14:12:14 +00:00
21a21eafec patch 9.1.1775: filetype: Mamba configuration files are not recognized
Problem:  filetype: Mamba configuration files are not recognized
Solution: Detect .mambarc and mambarc as yaml filetype (Samuel Huang).

References:
- https://mamba.readthedocs.io/en/latest/user_guide/configuration.html

closes: #18338

Signed-off-by: Samuel Huang <hi@sgh.ng>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 20:28:53 +00:00
4150283b83 patch 9.1.1774: cannot calculate sha256 of a Blob
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>
2025-09-18 20:22:23 +00:00
0c70820015 patch 9.1.1773: Crash in BufLeave after BufUnload closes other windows
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#33603
closes: #18330

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 20:05:19 +00:00
86e8e909f2 patch 9.1.1772: completion: inconsistent selection of first item with 'autocomplete'
Problem:  completion: inconsistent selection of first item with
          'autocomplete' (Tomasz N)
Solution: Check for 'autocomplete' option in ins_compl_new_leader()
          (Girish Palya).

fixes: #18326
closes: #18329

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 19:55:21 +00:00
ee9a2f0512 patch 9.1.1771: complete: some redraw issues with 'autocomplete'
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: #18298
closes: #18328

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 19:46:01 +00:00
6bea124137 patch 9.1.1770: Vim9: wrong behaviour with trailing comments in command blocks
Problem:  Vim9: wrong behaviour with trailing comments in command blocks
          (balki)
Solution: Correctly skip over trailing comments (Yegappan Lakshmanan).

fixes: #18268
closes: #18327

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-18 19:40:22 +00:00
a8f7957d0b patch 9.1.1769: completion: "preinsert" insert wrong word with 'smartcase' and 'autocomplete'
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>
2025-09-18 19:33:26 +00:00
ef8ffd7485 patch 9.1.1768: Makefile does not uninstall global plugins
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>
2025-09-17 20:22:41 +00:00
934e7b765c patch 9.1.1767: Patch v9.1.1765 was wrong
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>
2025-09-17 19:51:52 +00:00
afa2a81a88 patch 9.1.1766: Vim9: some functions do not handle null_string correctly
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: #18309
closes: #18311

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-16 19:19:42 +00:00
19fa46a469 patch 9.1.1765: f_isnan() and f_isinf() do not correctly initialize rettv type
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>
2025-09-15 19:55:25 +00:00
0e46e761fc Fix some typos in documentation, C code and test files
closes: #18300

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 19:42:30 +00:00
817e4d3ee6 patch 9.1.1764: filetype: CODEOWNERS file not recognized
Problem:  filetype: CODEOWNERS file not recognized
Solution: Detect CODEOWNERS file as codeowners filetype, include a
          syntax and filetype plugin (Jon Parise).

CODEOWNERS files define code ownership rules for GitHub-hosted (and
other) repositories. The syntax is similar to 'gitignore' files but
differs in enough ways to warrant its own filetype.

References:
- https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners

closes: #18299

Signed-off-by: Jon Parise <jon@indelible.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-15 19:35:47 +00:00
a946ccf5ff patch 9.1.1763: filetype: kitty config files are not recognized
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>
2025-09-15 19:10:12 +00:00
5c9b71d63c patch 9.1.1762: completion: selected item not cleared on <BS> with 'ac'
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>
2025-09-15 19:04:20 +00:00
ba36510920 Problem: 'ruler' is set in defaults.vim
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>
2025-09-15 18:40:57 +00:00
542cc4b35c patch 9.1.1760: wrong proto file for insexpand.pro
Problem:  wrong proto file for insexpand.pro
Solution: Update insexpand.pro (Hirohito Higashi).

closes: #18296

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 18:19:19 +00:00
48f1d6442d patch 9.1.1759: filetype: generic log detection is too disturbing
Problem:  filetype: generic log detection is too disturbing
          (after v9.1.1755)
Solution: Revert setting log filetype

Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 18:13:11 +00:00
46e22fd2f7 patch 9.1.1758: Diff mode crashes when adding text property in autocommand
Problem:  Diff mode crashes when adding text property in autocommand
          (after 9.1.1557).
Solution: Only restore ML_EMPTY memline flag, ignore the others
          (zeertzjq).

fixes: #18288
closes: #18291

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 11:01:26 -04:00
c077f5e9d8 patch 9.1.1757: The colorresp plugin causes additional redraws
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: #18251
closes: #18279

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 04:38:33 -04:00
c975d62473 patch 9.1.1756: termdebug: Need a few more user commands
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>
2025-09-14 04:33:07 -04:00
b8970b43cd patch 9.1.1755: filetype: generic log files are not recognized
Problem:  filetype: generic log files are not recognized
Solution: Detect *.log files as log filetype, include simple log syntax
          script (Mao-Yining).

closes: #18285

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-14 03:59:34 -04:00
6f020cde56 patch 9.1.1754: :helptags doesn't skip examples with syntax
Problem:  :helptags doesn't skip examples with syntax
          (Evgeni Chasnovski)
Solution: Check for examples with syntax (zeertzjq).

fixes: #18273
closes: #18277

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2025-09-11 15:21:52 -04:00