]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
3 months agopatch 9.1.1291: too many strlen() calls in buffer.c v9.1.1291
John Marriott [Thu, 10 Apr 2025 19:34:19 +0000 (21:34 +0200)] 
patch 9.1.1291: too many strlen() calls in buffer.c

Problem:  too many strlen() calls in buffer.c
Solution: refactor buffer.c and remove strlen() calls
          (John Marriott)

closes: #17063

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(keymaps): include 2 Brazilian Keymaps
Elsarques [Thu, 10 Apr 2025 18:04:14 +0000 (20:04 +0200)] 
runtime(keymaps): include 2 Brazilian Keymaps

closes: #17072

Signed-off-by: Elsarques <luismarques0504@proton.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(vim): Update-base-syntax, match full :*grep, :make, :sort and :filter commands
Doug Kearns [Thu, 10 Apr 2025 17:59:22 +0000 (19:59 +0200)] 
runtime(vim): Update-base-syntax, match full :*grep, :make, :sort and :filter commands

closes: #17082

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1290: tests: missing cleanup in test_filetype.vim v9.1.1290
zeertzjq [Thu, 10 Apr 2025 17:54:16 +0000 (19:54 +0200)] 
patch 9.1.1290: tests: missing cleanup in test_filetype.vim

Problem:  tests: missing cleanup in test_filetype.vim, wrong name in
          test_plugin_matchparen
Solution: Add :bwipe corresponding to :split, rename test case

closes: #17088

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1289: tests: no test for matchparen plugin with WinScrolled event v9.1.1289
Christian Brabandt [Wed, 9 Apr 2025 17:29:18 +0000 (19:29 +0200)] 
patch 9.1.1289: tests: no test for matchparen plugin with WinScrolled event

Problem:  tests: no test for matchparen plugin with WinScrolled event
Solution: add missing test

closes: #10942

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(remind): include remind.vim ftplugin
Joe Reynolds [Wed, 9 Apr 2025 17:27:37 +0000 (19:27 +0200)] 
runtime(remind): include remind.vim ftplugin

closes: #17085

Signed-off-by: Joe Reynolds <joereynolds952@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(vim): Update base-syntax, improve :command highlighting
Doug Kearns [Tue, 8 Apr 2025 18:50:00 +0000 (20:50 +0200)] 
runtime(vim): Update base-syntax, improve :command highlighting

- Match multiline :command definitions.
- Match custom completion funcref var names.

fixes: #17001
closes: #17067

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(help): add omni completion and 'iskeyword' to filetype plugin
Phạm Bình An [Tue, 8 Apr 2025 18:40:12 +0000 (20:40 +0200)] 
runtime(help): add omni completion and 'iskeyword' to filetype plugin

Problem:

- Help tags provide a good way to navigate the Vim documentation, but
  many help documents don't use them effectively. I think one of the
  reasons is that help writers have to look up help tags manually with
  `:help` command, which is not very convenient.
- 'iskeyword' is only set for help buffers opened by `:help` command.
  That means if I'm editing a help file, I cannot jump to tag in same
  file using `Ctrl-]` unless I manually set it, which is annoying.

Solution:

- Add omni completion for Vim help tags.
- Set 'iskeyword' for `ft-help`

closes: #17073

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(lf): improve syntax script, add filetype plugin
Andis Spriņķis [Tue, 8 Apr 2025 18:34:14 +0000 (20:34 +0200)] 
runtime(lf): improve syntax script, add filetype plugin

- Greatly improve detection and highlighting of command/shell regions,
  input-device key labels, escape sequences (@joelim-work)
- Add ftplugin for formatoptions, toggling comment areas
  (@andis-sprinkis)
- Add a few missing lf option keywords, rm. old non-working code, misc.
  formatting (@andis-sprinkis)

closes: #17078

Signed-off-by: Andis Spriņķis <andis@sprinkis.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1288: Using wrong window in ll_resize_stack() v9.1.1288
zeertzjq [Tue, 8 Apr 2025 18:29:40 +0000 (20:29 +0200)] 
patch 9.1.1288: Using wrong window in ll_resize_stack()

Problem:  Using wrong window in ll_resize_stack()
          (after v9.1.1287)
Solution: Use "wp" instead of "curwin", even though they are always the
          same value.  Fix typos in documentation (zeertzjq).

closes: #17080

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): rename wrong option to 'pummaxwidth'
Christian Brabandt [Tue, 8 Apr 2025 06:36:18 +0000 (08:36 +0200)] 
runtime(doc): rename wrong option to 'pummaxwidth'

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1287: quickfix code can be further improved v9.1.1287
Hirohito Higashi [Mon, 7 Apr 2025 19:19:07 +0000 (21:19 +0200)] 
patch 9.1.1287: quickfix code can be further improved

Problem:  quickfix code can be further improved (after v9.1.1283)
Solution: slightly refactor quickfix.c (Hirohito Higashi)

- remove error message output
- adjust comments
- rename functions:
  - qf_init_quickfix_stack() --> qf_init_stack()
  - qf_resize_quickfix_stack() --> qf_resize_stack()
  - qf_resize_stack() --> qf_resize_stack_base()

Now qf_alloc_stack() can handle both quickfix/location lists.

closes: #17068

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1286: filetype: help files not detected when 'iskeyword' includes ":" v9.1.1286
zeertzjq [Mon, 7 Apr 2025 19:14:41 +0000 (21:14 +0200)] 
patch 9.1.1286: filetype: help files not detected when 'iskeyword' includes ":"

Problem:  Help files not detected when 'iskeyword' includes ":".
Solution: Do not use \< and \> in the pattern (zeertzjq).

fixes: #17069
closes: #17071

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1285: Vim9: no error message for missing method after "super." v9.1.1285
Yegappan Lakshmanan [Mon, 7 Apr 2025 19:09:18 +0000 (21:09 +0200)] 
patch 9.1.1285: Vim9: no error message for missing method after "super."

Problem:  Vim9: no error message for missing method after "super."
Solution: output an error message, add a few more tests
          (Yegappan Lakshmanan).

closes: #17070

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1284: not possible to configure pum truncation char v9.1.1284
glepnir [Mon, 7 Apr 2025 18:57:14 +0000 (20:57 +0200)] 
patch 9.1.1284: not possible to configure pum truncation char

Problem:  not possible to configure the completion menu truncation
          character
Solution: add the "trunc" suboption to the 'fillchars' setting to
          configure the truncation indicator (glepnir).

closes: #17006

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(lua): fix whitespace style issues in lua ftplugin
Christian Brabandt [Mon, 7 Apr 2025 12:07:28 +0000 (14:07 +0200)] 
runtime(lua): fix whitespace style issues in lua ftplugin

related: #17049

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(lua): improve foldexpr, add vim9 script version
Konfekt [Sun, 6 Apr 2025 15:40:43 +0000 (17:40 +0200)] 
runtime(lua): improve foldexpr, add vim9 script version

closes: #17049

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): Fix minor typo in options.txt
clach04 [Sun, 6 Apr 2025 15:37:12 +0000 (17:37 +0200)] 
runtime(doc): Fix minor typo in options.txt

closes: #17060

Signed-off-by: clach04 <clach04@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(fstab): set formatoptions-=t in filetype plugin
Radu Dineiu [Sun, 6 Apr 2025 15:33:13 +0000 (17:33 +0200)] 
runtime(fstab): set formatoptions-=t in filetype plugin

closes: #17020

Signed-off-by: Radu Dineiu <radu.dineiu@gmail.com>
Co-authored-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(svelte): add matchit support to svelte filetype plugin
231tr0n [Sun, 6 Apr 2025 15:28:11 +0000 (17:28 +0200)] 
runtime(svelte): add matchit support to svelte filetype plugin

closes: #17052

Signed-off-by: 231tr0n <zeltronsrikar@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1283: quickfix stack is limited to 10 items v9.1.1283
64-bitman [Sun, 6 Apr 2025 15:20:39 +0000 (17:20 +0200)] 
patch 9.1.1283: quickfix stack is limited to 10 items

Problem:  quickfix and location-list stack is limited to 10 items
Solution: add the 'chistory' and 'lhistory' options to configure a
          larger quickfix/location list stack
          (64-bitman)

closes: #16920

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: 64-bitman <60551350+64-bitman@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1282: Build and test failure without job feature v9.1.1282
Christian Brabandt [Sun, 6 Apr 2025 14:15:10 +0000 (16:15 +0200)] 
patch 9.1.1282: Build and test failure without job feature

Problem:  Build and test failure without job feature
          (lazypingu)
Solution: Adjust ifdefs, add CheckFeature job to tests

fixes: #17053
closes: #17059

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1281: extra newline output when editing stdin v9.1.1281
Abhijit Barik [Sun, 6 Apr 2025 14:12:06 +0000 (16:12 +0200)] 
patch 9.1.1281: extra newline output when editing stdin

Problem:  extra newline output when editing stdin
Solution: remove outputting when reading from stdin in non-terminal mode
          (Abhijit Barik)

fixes: #16856
closes: #17047

Co-authored-by: LemonBoy <LemonBoy@users.noreply.github.com>
Signed-off-by: Abhijit Barik <Abhijit.Barik@ivanti.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1280: trailing additional semicolon in get_matches_in_str() v9.1.1280
Satoru Kitaguchi [Sun, 6 Apr 2025 14:04:59 +0000 (16:04 +0200)] 
patch 9.1.1280: trailing additional semicolon in get_matches_in_str()

Problem:  trailing additional semicolon in get_matches_in_str()
          (Hirohito Higashi)
Solution: remove it (Satoru Kitaguchi)

closes: #17066

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Satoru Kitaguchi <rule.the.fate.myfirststory@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1279: Vim9: null_object and null_class are no reserved names v9.1.1279
Yegappan Lakshmanan [Sat, 5 Apr 2025 14:00:22 +0000 (16:00 +0200)] 
patch 9.1.1279: Vim9: null_object and null_class are no reserved names

Problem:  Vim9: null_object and null_class are no reserved names
Solution: Add null_object and null_class as reserved names.
          (Yegappan Lakshmanan)

closes: #17054

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1278: Vim9: too long functions in vim9type.c v9.1.1278
Yegappan Lakshmanan [Sat, 5 Apr 2025 13:57:12 +0000 (15:57 +0200)] 
patch 9.1.1278: Vim9: too long functions in vim9type.c

Problem:  Vim9: too long functions in vim9type.c
Solution: refactor into separate functions
          (Yegappan Lakshmanan)

closes: #17056

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(vim): Update base-syntax, match full :redir command
Doug Kearns [Sat, 5 Apr 2025 13:55:36 +0000 (15:55 +0200)] 
runtime(vim): Update base-syntax, match full :redir command

closes: #17057

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1277: tests: trailing comment char in test_popupwin v9.1.1277
Doug Kearns [Sat, 5 Apr 2025 13:51:26 +0000 (15:51 +0200)] 
patch 9.1.1277: tests: trailing comment char in test_popupwin

Problem:  tests: trailing comment char in test_popupwin
Solution: remove crufty tail comment (Doug Kearns)

Remove a crufty tail comment from Test_popup_with_border_and_padding().
The line used to be in a string list and the closing quote and comma
persist.

closes: #17058

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1276: inline word diff treats multibyte chars as word char v9.1.1276
Yee Cheng Chin [Fri, 4 Apr 2025 17:16:21 +0000 (19:16 +0200)] 
patch 9.1.1276: inline word diff treats multibyte chars as word char

Problem:  inline word diff treats multibyte chars as word char
          (after 9.1.1243)
Solution: treat all non-alphanumeric characters as non-word characters
          (Yee Cheng Chin)

Previously inline word diff simply used Vim's definition of keyword to
determine what is a word, which leads to multi-byte character classes
such as emojis and CJK (Chinese/Japanese/Korean) characters all
classifying as word characters, leading to entire sentences being
grouped as a single word which does not provide meaningful information
in a diff highlight.

Fix this by treating all non-alphanumeric characters (with class number
above 2) as non-word characters, as there is usually no benefit in using
word diff on them. These include CJK characters, emojis, and also
subscript/superscript numbers. Meanwhile, multi-byte characters like
Cyrillic and Greek letters will still continue to considered as words.

Note that this is slightly inconsistent with how words are defined
elsewhere, as Vim usually considers any character with class >=2 to be
a "word".

related: #16881 (diff inline highlight)
closes: #17050

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): update WinScrolled documentation
Christian Brabandt [Fri, 4 Apr 2025 17:11:13 +0000 (19:11 +0200)] 
runtime(doc): update WinScrolled documentation

closes: #17036

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(vim): Update base-syntax, improve :set backslash handling
Doug Kearns [Thu, 3 Apr 2025 19:39:24 +0000 (21:39 +0200)] 
runtime(vim): Update base-syntax, improve :set backslash handling

Improve backslash handling in :set option values. There is no special
handling for options supporting Windows path separators yet.

See :help option-backslash.

Remove the vimSetString syntax group. Option string values cannot be
specified with a quoted string, this is a command terminating tail
comment.

fixes: #16913
closes: #17034

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1275: MS-Windows: Not possible to pass additional flags to Make_mvc v9.1.1275
Yegappan Lakshmanan [Thu, 3 Apr 2025 19:35:00 +0000 (21:35 +0200)] 
patch 9.1.1275: MS-Windows: Not possible to pass additional flags to Make_mvc

Problem:  MS-Windows: Not possible to pass additional flags to Make_mvc
Solution: Introduce $CI_FLAGS and use it to pass additional flags for
          the Github CI in order to treat size conversion warnings
          (C4267) as errors (Yegappan Lakshmanan)

closes: #17028

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1274: Vim9: no support for object<type> as variable type v9.1.1274
Yegappan Lakshmanan [Thu, 3 Apr 2025 19:26:34 +0000 (21:26 +0200)] 
patch 9.1.1274: Vim9: no support for object<type> as variable type

Problem:  Vim9: no support for object<type> as variable type
Solution: add support for object<type> (Yegappan Lakshmanan)

closes: #17041

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1273: Coverity warns about using uninitialized value v9.1.1273
zeertzjq [Thu, 3 Apr 2025 19:21:15 +0000 (21:21 +0200)] 
patch 9.1.1273: Coverity warns about using uninitialized value

Problem:  Coverity warns about using uninitialized value
          (after 9.1.1270).
Solution: Put an empty string in "buf" when allocation fails (zeertzjq).

closes: #17040

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1272: completion: in keyword completion Ctrl_P cannot go back after Ctrl_N v9.1.1272
glepnir [Thu, 3 Apr 2025 19:17:06 +0000 (21:17 +0200)] 
patch 9.1.1272: completion: in keyword completion Ctrl_P cannot go back after Ctrl_N

Problem:  completion: in keyword completion Ctrl_P cannot go back after
          Ctrl_N
Solution: in find_compl_when_fuzzy() always return first match of array, after Ctrl_P
          use compl_shown_match->cp_next instead of compl_first_match.
          (glepnir)

closes: #17043

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(sh): Update syntax file, command substitution opening paren at EOL
Doug Kearns [Thu, 3 Apr 2025 19:13:39 +0000 (21:13 +0200)] 
runtime(sh): Update syntax file, command substitution opening paren at EOL

Allow the opening parenthesis of a command substitution to appear at
EOL.

This fixes the issue raised in
https://github.com/vim/vim/issues/17026#issuecomment-2774112284.

closes: #17044

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1271: filetype: Power Query files are not recognized v9.1.1271
Anarion Dunedain [Thu, 3 Apr 2025 19:08:25 +0000 (21:08 +0200)] 
patch 9.1.1271: filetype: Power Query files are not recognized

Problem:  filetype: Power Query files are not recognized
Solution: detect '*.pq' as pq filetype, include pq syntax and filetype
          plugin (Anarion Dunedain)

Microsoft Power Query provides a powerful data import experience that
encompasses many features. Power Query works with desktop Analysis
Services, Excel, and Power BI workbooks, in addition to many online
services, such as Fabric, Power BI service, Power Apps, Microsoft 365
Customer Insights, and more. A core capability of Power Query is to
filter and combine, that is, to mash-up data from one or more of a rich
collection of supported data sources. Any such data mashup is expressed
using the Power Query M formula language. The M language is a
functional, case sensitive language similar to F#.

Reference:
- Power Query M formula language overview:
  https://learn.microsoft.com/en-us/powerquery-m/

closes: #17045

Signed-off-by: Anarion Dunedain <anarion80@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agotranslation(ru): fix and updated messages translation
RestorerZ [Thu, 3 Apr 2025 19:04:57 +0000 (21:04 +0200)] 
translation(ru): fix and updated messages translation

closes: #17046

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): clarify the use of change marks when writing a buffer
Christian Brabandt [Thu, 3 Apr 2025 10:33:02 +0000 (12:33 +0200)] 
runtime(doc): clarify the use of change marks when writing a buffer

related: #17008

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(zip): add *.whl to the list of zip extensions
Christian Brabandt [Wed, 2 Apr 2025 18:42:58 +0000 (20:42 +0200)] 
runtime(zip): add *.whl to the list of zip extensions

This commits adds the extension *.whl to the list of zip extensions.
Wheel (WHL) files are binary distribution files for python packages.

Reference:
https://packaging.python.org/en/latest/specifications/binary-distribution-format/

fixes: #17038

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1270: missing out-of-memory checks in buffer.c v9.1.1270
John Marriott [Wed, 2 Apr 2025 18:32:35 +0000 (20:32 +0200)] 
patch 9.1.1270: missing out-of-memory checks in buffer.c

Problem:  missing out-of-memory checks in buffer.c
Solution: handle out-of-memory situations during allocation
          (John Marriott)

closes: #17031

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): update pi_zip.txt with current list of zip file extensions
Christian Brabandt [Wed, 2 Apr 2025 18:26:38 +0000 (20:26 +0200)] 
runtime(doc): update pi_zip.txt with current list of zip file extensions

closes: #17037

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1269: completion: compl_shown_match is updated when starting keyword completion v9.1.1269
glepnir [Wed, 2 Apr 2025 18:18:25 +0000 (20:18 +0200)] 
patch 9.1.1269: completion: compl_shown_match is updated when starting keyword completion

Problem:  compl_shown_match is updated when starting keyword completion
          and does not include fuzzy matching.
Solution: Do not update compl_shown_match when starting keyword
          completion, since it is the one already selected by the
          keyword completion direction. (glepnir)

closes: #17033

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1268: filetype: dax files are not recognized v9.1.1268
Anarion Dunedain [Wed, 2 Apr 2025 17:44:58 +0000 (19:44 +0200)] 
patch 9.1.1268: filetype: dax files are not recognized

Problem:  filetype: dax files are not recognized
Solution: detect "*.dax" as dax filetype, include dax filetype and
          syntax plugin (Anarion Dunedain)

Data Analysis Expressions (DAX) is a formula expression language used in
Analysis Services, Power BI, and Power Pivot in Excel. DAX formulas
include functions, operators, and values to perform advanced
calculations and queries on data in related tables and columns in
tabular data models.

DAX language overview:
- https://learn.microsoft.com/en-us/dax/dax-overview

closes: #17035

Signed-off-by: Anarion Dunedain <anarion80@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(openPlugin): fix E480 when opening URLs with wildcards on Windows
Christian Brabandt [Wed, 2 Apr 2025 17:32:03 +0000 (19:32 +0200)] 
runtime(openPlugin): fix E480 when opening URLs with wildcards on Windows

This might be a bug in Windows Vim, as when using the following command
it throws E480:
```
:com! -complete=file -nargs=1 :Echo echo <q-args>
:Echo ?
E480: No match ?
```

Work-around this by using `-nargs=*` to allow more arguments, even
though this is not completely correct.

fixes: #17029

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1267: Vim9: no support for type list/dict<object<any>> v9.1.1267
Yegappan Lakshmanan [Tue, 1 Apr 2025 18:43:36 +0000 (20:43 +0200)] 
patch 9.1.1267: Vim9: no support for type list/dict<object<any>>

Problem:  Vim9: no support for type list/dict<object<any>>
Solution: add proper support for t_object_any
          (Yegappan Lakshmanan)

closes: #17025

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1266: MS-Windows: type conversion warnings v9.1.1266
Yegappan Lakshmanan [Tue, 1 Apr 2025 18:38:37 +0000 (20:38 +0200)] 
patch 9.1.1266: MS-Windows: type conversion warnings

Problem:  MS-Windows: type conversion warnings
Solution: cast the variables (Yegappan Lakshmanan)

closes: #17027

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agotranslation(ru): Updated messages translation
RestorerZ [Tue, 1 Apr 2025 18:36:27 +0000 (20:36 +0200)] 
translation(ru): Updated messages translation

closes: #17030

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1265: tests: no tests for typing normal char during completion v9.1.1265
Christian Brabandt [Mon, 31 Mar 2025 18:57:13 +0000 (20:57 +0200)] 
patch 9.1.1265: tests: no tests for typing normal char during completion

Problem:  tests: no tests for typing normal char during completion
Solution: add a test verifying the default behaviour (see :h
          popupmenu-completion)

related: #17019

Co-authored-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(rust): set formatprg to rustfmt
Konfekt [Mon, 31 Mar 2025 18:45:26 +0000 (20:45 +0200)] 
runtime(rust): set formatprg to rustfmt

closes: #16967

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1264: Vim9: error when comparing objects v9.1.1264
Yegappan Lakshmanan [Mon, 31 Mar 2025 18:35:44 +0000 (20:35 +0200)] 
patch 9.1.1264: Vim9: error when comparing objects

Problem:  Vim9: error when comparing objects
          (lifepillar)
Solution: When comparing object types, compare their classes
          (Yegappan Lakshmanan)

fixes: #17014
closes: #17018

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): update last change date for diff.txt
Hirohito Higashi [Sun, 30 Mar 2025 13:39:41 +0000 (15:39 +0200)] 
runtime(doc): update last change date for diff.txt

related: #16997

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): Update the tuple help text
Yegappan Lakshmanan [Sun, 30 Mar 2025 13:37:24 +0000 (15:37 +0200)] 
runtime(doc): Update the tuple help text

closes: #17009

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1263: string length wrong in get_last_inserted_save() v9.1.1263
Christ van Willegen [Sun, 30 Mar 2025 13:26:01 +0000 (15:26 +0200)] 
patch 9.1.1263: string length wrong in get_last_inserted_save()

Problem:  string length wrong in get_last_inserted_save()
          (after v9.1.1222)
Solution: when removing trailing ESC, also decrease the string length
          (Christ van Willegen)

closes: #16961

Signed-off-by: Christ van Willegen <cvwillegen@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1262: heap-buffer-overflow with narrow 'pummaxwidth' value v9.1.1262
Hirohito Higashi [Sun, 30 Mar 2025 13:19:05 +0000 (15:19 +0200)] 
patch 9.1.1262: heap-buffer-overflow with narrow 'pummaxwidth' value

Problem:  heap-buffer-overflow occurs with narrow 'pummaxwidth' value
          (after v9.1.1250)
Solution: test that st_end points after st pointer (Hirohito Higashi)

closes: #17005

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1261: No test for 'pummaxwidth' non-truncated items v9.1.1261
zeertzjq [Sun, 30 Mar 2025 13:07:35 +0000 (15:07 +0200)] 
patch 9.1.1261: No test for 'pummaxwidth' non-truncated items

Problem:  No test for 'pummaxwidth' non-truncated items (after v9.1.1250)
Solution: Add shorter items to Test_pum_maxwidth_multibyte() (zeertzjq).

closes: #17007

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(debversions): Add release name for Debian 15 - duke
James McCoy [Sun, 30 Mar 2025 13:05:46 +0000 (15:05 +0200)] 
runtime(debversions): Add release name for Debian 15 - duke

https://lists.debian.org/debian-devel-announce/2025/01/msg00004.html

closes: #17010

Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1260: Hang when filtering buffer with NUL bytes v9.1.1260
zeertzjq [Sun, 30 Mar 2025 13:01:56 +0000 (15:01 +0200)] 
patch 9.1.1260: Hang when filtering buffer with NUL bytes

Problem:  Hang when filtering buffer with NUL bytes (after 9.1.1050).
Solution: Don't subtract "written" from "lplen" repeatedly (zeertzjq).

related: neovim/neovim#33173
closes: #17011

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(odin): add new keywords to syntax script
Maxim Kim [Sun, 30 Mar 2025 13:00:00 +0000 (15:00 +0200)] 
runtime(odin): add new keywords to syntax script

closes: #17012

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1259: some issues with comment package and tailing spaces v9.1.1259
Maxim Kim [Sun, 30 Mar 2025 12:55:26 +0000 (14:55 +0200)] 
patch 9.1.1259: some issues with comment package and tailing spaces

Problem:  some issues with comment package and tailing spaces
Solution: correctly capture trailing spaces with the ac/ic text object
          (Maxim Kim)

This commit fixes a few issues with the comment package:

1) both ac and ic incorrectly miss the last //

```
// hello trailing spaces
//
```

2) fix ac/ic with last empty comment line,
   vac should also select last line with #

```py
 # print("hello")
 # print("world")
 #
 #
$endofbuffer$
```

closes: #17013

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoci: Check and confirm Vim feature flags exist before testing
Yee Cheng Chin [Sun, 30 Mar 2025 12:48:29 +0000 (14:48 +0200)] 
ci: Check and confirm Vim feature flags exist before testing

Vim tests for features such as python3 relies on checking the feature
flag exists by doing `has('python3')`. However, if the feature itself is
broken and the flag returns 0, the relevant tests will simply silently
get ignored and CI will passed erroneously. As a preventive measure, as
basic checks to make sure certain feature flags are correct as a basic
smoke test.

Currently only checking two types of feature flags:

1. Features that depend on system packages being installed properly
   (e.g. sodium) and could be erroneously dropped if the CI environment
   changed or a bug exists in the configure script.
2. Scripting languages. When in dynamic mode, these feature flags (e.g.
   "ruby", "python3") will return 0 when the lib cannot be found or the
   code has an initialization bug. This happened in #16964 where CI
   still passed despite Python 3 being broken.

closes: #16998

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(java): Make changes for JDK 24 in syntax script
Aliaksei Budavei [Sat, 29 Mar 2025 08:16:30 +0000 (09:16 +0100)] 
runtime(java): Make changes for JDK 24 in syntax script

- "Demote" SecurityManager from the list of java.lang class
  types to javaLangDeprecated.
- Reintroduce supported syntax-preview-feature numbers 455
  and 476 as _new numbers_ 488 and 494, respectively.

References:
- https://openjdk.org/jeps/486 (Permanently Disable the Security Manager)
- https://openjdk.org/jeps/488 (Primitive Types in Patterns etc.)
- https://openjdk.org/jeps/494 (Module Import Declarations)

closes: #16977

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1258: regexp: max \U and \%U value is limited by INT_MAX v9.1.1258
Christian Brabandt [Sat, 29 Mar 2025 08:08:58 +0000 (09:08 +0100)] 
patch 9.1.1258: regexp: max \U and \%U value is limited by INT_MAX

Problem:  regexp: max \U and \%U value is limited by INT_MAX but gives a
          confusing error message (related: v8.1.0985).
Solution: give a better error message when the value reaches INT_MAX

When searching Vim allows to get up to 8 hex characters using the /\V
and /\%V regex atoms.  However, when using "/\UFFFFFFFF" the code point is
already above what an integer variable can hold, which is 2,147,483,647.

Since patch v8.1.0985, Vim already limited the max codepoint to INT_MAX
(otherwise it caused a crash in the nfa regex engine), but instead of
error'ing out it silently fell back to parse the number as a backslash
value and not as a codepoint value and as such this "/[\UFFFFFFFF]" will
happily find a "\" or an literal "F".  And this "/[\d127-\UFFFFFFFF]"
will error out as "reverse range in character class).

Interestingly, the max Unicode codepoint value is U+10FFFF which still
fits into an ordinary integer value,  which means, that we don't even
need to parse 8 hex characters, but 6 should have been enough.

However, let's not limit Vim to search for only max 6 hex characters
(which would be a backward incompatible change), but instead allow all 8
characters and only if the codepoint reaches INT_MAX, give a more
precise error message (about what the max unicode codepoint value is).
This allows to search for "[\U7FFFFFFE]" (will likely return "E486
Pattern not found") and "[/\U7FFFFFF]" now errors "E1517: Value too
large, max Unicode codepoint is U+10FFFF".

While this change is straight forward on architectures where long is 8
bytes, this is not so simple on Windows or 32bit architectures where long
is 4 bytes (and therefore the test fails there).  To account for that,
let's make use of the vimlong_T number type and make a few corresponding
changes in the regex engine code and cast the value to the expected data
type. This however may not work correctly on systems that doesn't have
the long long datatype (e.g. OpenVMS) and probably the test will fail
there.

fixes: #16949
closes: #16994

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1257: Mixing vim_strsize() with mb_ptr2cells() in pum_redraw() v9.1.1257
zeertzjq [Sat, 29 Mar 2025 08:05:52 +0000 (09:05 +0100)] 
patch 9.1.1257: Mixing vim_strsize() with mb_ptr2cells() in pum_redraw()

Problem:  Mixing vim_strsize() with mb_ptr2cells() in pum_redraw().
Solution: Change vim_strsize() to mb_string2cells() (zeertzjq).

Since vim_strsize() uses ptr2cells() for the cell width of each char, it
is strange to mix it with mb_ptr2cells(), which is used both just below
and in pum_screen_puts_with_attr(), and screen_puts_len() also uses
something similar.  Meanwhile mb_string2cells() uses mb_ptr2cells() for
the cell width of each char.

Note that the vim_strsize() and mb_string2cells() actually return the
same value here, as the transstr() above makes sure the string only
contains printable chars, and ptr2cells() and mb_ptr2cells() only return
different values for unprintable chars.

closes: #17003

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(lf): add lf r34 keywords to syntax script
Andis Spriņķis [Sat, 29 Mar 2025 08:03:54 +0000 (09:03 +0100)] 
runtime(lf): add lf r34 keywords to syntax script

closes: #17002

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1256: if_python: duplicate tuple data entries v9.1.1256
Yegappan Lakshmanan [Sat, 29 Mar 2025 07:53:12 +0000 (08:53 +0100)] 
patch 9.1.1256: if_python: duplicate tuple data entries

Problem:  if_python: duplicate tuple data entries
          (after v9.1.1239)
Solution: clean up duplicates (Yegappan Lakshmanan)

closes: #17004

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(vim): Update base-syntax, match tuples
Doug Kearns [Fri, 28 Mar 2025 18:36:37 +0000 (19:36 +0100)] 
runtime(vim): Update base-syntax, match tuples

Tuples were introduced in commit 9cb865e.  See PR #16776.

fixes: #16965
closes: #16935

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1255: missing test condition for 'pummaxwidth' setting v9.1.1255
glepnir [Fri, 28 Mar 2025 18:21:59 +0000 (19:21 +0100)] 
patch 9.1.1255: missing test condition for 'pummaxwidth' setting

Problem:  missing test condition for 'pummaxwidth' setting, pummaxwidth
          not effective when width is 32 and height is 10
          (after v9.1.1250)
Solution: add missing comparison condition in pum_width()
          (glepnir)

closes: #16999

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1254: need more tests for the comment plugin v9.1.1254
Maxim Kim [Fri, 28 Mar 2025 18:17:53 +0000 (19:17 +0100)] 
patch 9.1.1254: need more tests for the comment plugin

Problem:  need more tests for the comment plugin
Solution: add a tests for the [gb]:comment_first_col setting
          (Maxim Kim)

closes: #16995

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1253: abort when closing window with attached quickfix data v9.1.1253
Christian Brabandt [Fri, 28 Mar 2025 18:13:32 +0000 (19:13 +0100)] 
patch 9.1.1253: abort when closing window with attached quickfix data

Problem:  If win_close() is called with a window that has quickfix stack
          attached to it, the corresponding quickfix buffer will be
          closed and freed after the buffer was already closed. At that
          time curwin->w_buffer points to NULL, which the CHECK_CURBUF
          will catch and abort if ABORT_ON_ERROR is defined
Solution: in wipe_qf_buffer() temporarily point curwin->w_buffer back to
          curbuf, the window will be closed anyhow, so it shouldn't
          matter that curbuf->b_nwindows isn't incremented.

closes: #16993
closes: #16985

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): non-portable sed regex in Makefile for pi_netrw.txt rule
Yee Cheng Chin [Fri, 28 Mar 2025 18:09:13 +0000 (19:09 +0100)] 
runtime(doc): non-portable sed regex in Makefile for pi_netrw.txt rule

Previously it was using '\0' in sed which is non-portable and does not
work in macOS. Fix this by using the '$' (end-of-line) regex atom (which
needs to be doubled in the Makefile) to append at the end instead. An
alternative would have been to use '&' which is the more portable
version of '\0'.

closes: #16996

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1252: typos in code and docs related to 'diffopt' "inline:" v9.1.1252
zeertzjq [Fri, 28 Mar 2025 18:01:32 +0000 (19:01 +0100)] 
patch 9.1.1252: typos in code and docs related to 'diffopt' "inline:"

Problem:  Typos in code and docs related to 'diffopt' "inline:".
          (after v9.1.1243)
Solution: Fix typos and slightly improve the docs.
          (zeertzjq)

closes: #16997

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1251: if_python: build error with tuples and dynamic python v9.1.1251
Yee Cheng Chin [Thu, 27 Mar 2025 19:13:33 +0000 (20:13 +0100)] 
patch 9.1.1251: if_python: build error with tuples and dynamic python

Problem:  if_python: build error with tuples and dynamic python
          (after v9.1.1239)
Solution: Fix build error and test failures (Yee Cheng Cin)

closes: #16992

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1250: cannot set the maximum popup menu width v9.1.1250
glepnir [Thu, 27 Mar 2025 19:09:07 +0000 (20:09 +0100)] 
patch 9.1.1250: cannot set the maximum popup menu width

Problem:  cannot set the maximum popup menu width
          (Lucas Mior)
Solution: add the new global option value 'pummaxwidth'
          (glepnir)

fixes: #10901
closes: #16943

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1249: tests: no test that 'listchars' "eol" doesn't affect "gM" v9.1.1249
zeertzjq [Thu, 27 Mar 2025 17:21:49 +0000 (18:21 +0100)] 
patch 9.1.1249: tests: no test that 'listchars' "eol" doesn't affect "gM"

Problem:  No test that 'listchars' "eol" doesn't affect "gM".
Solution: Add a test (zeertzjq).

closes: #16990

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): group python interface related items in todo.txt
Yegappan Lakshmanan [Thu, 27 Mar 2025 17:19:30 +0000 (18:19 +0100)] 
runtime(doc): group python interface related items in todo.txt

While at it, remove the item about merged PR #12032

closes: #16984

Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
3 months agopatch 9.1.1248: compile error when building without FEAT_QUICKFIX v9.1.1248
John Marriott [Thu, 27 Mar 2025 17:12:32 +0000 (18:12 +0100)] 
patch 9.1.1248: compile error when building without FEAT_QUICKFIX

Problem:  compile error when building without FEAT_QUICKFIX
Solution: adjust ifdefs in popupwin.c, add CheckFeature quickfix
          to a few tests (John Marriott, Hirohito Higashi)

closes: #16940
closes: #16962

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Co-authored-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1247: fragile setup to get (preferred) keys from key_name_entry v9.1.1247
Yee Cheng Chin [Thu, 27 Mar 2025 16:43:41 +0000 (17:43 +0100)] 
patch 9.1.1247: fragile setup to get (preferred) keys from key_name_entry

Problem:  fragile setup to get (preferred) keys from key_name_entry
          (after v9.1.1179)
Solution: refactor the code further, fix a bug with "pref_name" key
          entry introduced in v9.1.1180 (Yee Cheng Chin)

The optimization introduced for using bsearch() with key_name_entry
in #16788 was fragile as it required synchronizing a non-obvious index
(e.g. IDX_KEYNAME_SWU) with the array that could be accidentally changed
by any one adding a key to it. Furthermore, the "pref_name" that was
introduced in that change was unnecessary, and in fact introduced a bug,
as we don't always want to use the canonical name.

The bug is triggered when the user triggers auto-complete using a
keycode, such as `:set <Scroll<Tab>`. The bug would end up showing two
copies of `<ScrollWheelUp>` because both entries end up using the
canonical name.

In this change, remove `pref_name`, and simply use a boolean to track
whether an entry is an alt name or not and modify logic to respect that.

Add test to make sure auto-complete works with alt names

closes: #16987

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1246: coverity complains about some changes in v9.1.1243 v9.1.1246
Yee Cheng Chin [Thu, 27 Mar 2025 16:34:50 +0000 (17:34 +0100)] 
patch 9.1.1246: coverity complains about some changes in v9.1.1243

Problem:  coverity complains about some changes in v9.1.1243
Solution: remove duplicate code in diff_find_changed() (Yee Cheng Chin)

closes: #16988

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1245: need some more tests for curly braces evaluation v9.1.1245
Yegappan Lakshmanan [Thu, 27 Mar 2025 16:31:31 +0000 (17:31 +0100)] 
patch 9.1.1245: need some more tests for curly braces evaluation

Problem:  need some more tests for curly braces evaluation
Solution: Add a test for the regression introduced by patch v9.1.1242
          (Yegappan Lakshmanan)

closes: #16986

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1244: part of patch v9.1.1242 was wrong v9.1.1244
Christian Brabandt [Wed, 26 Mar 2025 19:36:12 +0000 (20:36 +0100)] 
patch 9.1.1244: part of patch v9.1.1242 was wrong

Problem:  part of patch v9.1.1242 was wrong
Solution: revert part of the patch

fixes: #16983
related: #16972

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(omnimark): update and rewrite syntax script in Vim9 script
Peter Kenny [Wed, 26 Mar 2025 18:52:50 +0000 (19:52 +0100)] 
runtime(omnimark): update and rewrite syntax script in Vim9 script

Note: this commit rewrites the omnimark syntax script in Vim9 script and
      is therefore probably incompatible with Neovim

closes: #16979

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1243: diff mode is lacking for changes within lines v9.1.1243
Yee Cheng Chin [Wed, 26 Mar 2025 18:41:02 +0000 (19:41 +0100)] 
patch 9.1.1243: diff mode is lacking for changes within lines

Problem:  Diff mode's inline highlighting is lackluster. It only
          performs a line-by-line comparison, and calculates a single
          shortest range within a line that could encompass all the
          changes. In lines with multiple changes, or those that span
          multiple lines, this approach tends to end up highlighting
          much more than necessary.

Solution: Implement new inline highlighting modes by doing per-character
          or per-word diff within the diff block, and highlight only the
          relevant parts, add "inline:simple" to the defaults (which is
          the old behaviour)

This change introduces a new diffopt option "inline:<type>". Setting to
"none" will disable all inline highlighting, "simple" (the default) will
use the old behavior, "char" / "word" will perform a character/word-wise
diff of the texts within each diff block and only highlight the
differences.

The new char/word inline diff only use the internal xdiff, and will
respect diff options such as algorithm choice, icase, and misc iwhite
options. indent-heuristics is always on to perform better sliding.

For character highlight, a post-process of the diff results is first
applied before we show the highlight. This is because a naive diff will
create a result with a lot of small diff chunks and gaps, due to the
repetitive nature of individual characters. The post-process is a
heuristic-based refinement that attempts to merge adjacent diff blocks
if they are separated by a short gap (1-3 characters), and can be
further tuned in the future for better results. This process results in
more characters than necessary being highlighted but overall less visual
noise.

For word highlight, always use first buffer's iskeyword definition.
Otherwise if each buffer has different iskeyword settings we would not
be able to group words properly.

The char/word diffing is always per-diff block, not per line, meaning
that changes that span multiple lines will show up correctly.
Added/removed newlines are not shown by default, but if the user has
'list' set (with "eol" listchar defined), the eol character will be be
highlighted correctly for the specific newline characters.

Also, add a new "DiffTextAdd" highlight group linked to "DiffText" by
default. It allows color schemes to use different colors for texts that
have been added within a line versus modified.

This doesn't interact with linematch perfectly currently. The linematch
feature splits up diff blocks into multiple smaller blocks for better
visual matching, which makes inline highlight less useful especially for
multi-line change (e.g. a line is broken into two lines). This could be
addressed in the future.

As a side change, this also removes the bounds checking introduced to
diff_read() as they were added to mask existing logic bugs that were
properly fixed in #16768.

closes: #16881

Signed-off-by: Yee Cheng Chin <ychin.git@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1242: Crash when evaluating variable name v9.1.1242
Christian Brabandt [Wed, 26 Mar 2025 18:25:57 +0000 (19:25 +0100)] 
patch 9.1.1242: Crash when evaluating variable name

Problem:  Crash when evaluating variable name (after v9.1.0870)
Solution: calculate the strlen() directly instead of pointer
          arithmetics, fix missing assignment to lp->ll_name_end in
          get_lval() (zeertzjq)

closes: #16972
fixes: vim-airline/vim-airline#2710
related: #16066

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1241: wrong preprocessort indentation in term.c v9.1.1241
Hirohito Higashi [Wed, 26 Mar 2025 18:08:46 +0000 (19:08 +0100)] 
patch 9.1.1241: wrong preprocessort indentation in term.c

Problem:  wrong preprocessort indentation in term.c
Solution: update indentation (Hirohito Higashi)

closes: #16981

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1240: Regression with ic/ac text objects and comment plugin v9.1.1240
Maxim Kim [Wed, 26 Mar 2025 18:04:20 +0000 (19:04 +0100)] 
patch 9.1.1240: Regression with ic/ac text objects and comment plugin

Problem:  Regression with ic/ac text objects and comment plugin
Solution: Fix regression, update tests (Maxim Kim)

fix regression: sometimes ic/ac should be line-wise

```
int main() {
    // multilple comments
    // cursor is between them
}

 # dac ->

int main() {
}
```

closes: #16947
closes: #16980

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(hyprlang): save and restore cpo setting in syntax script
Christian Brabandt [Wed, 26 Mar 2025 18:00:15 +0000 (19:00 +0100)] 
runtime(hyprlang): save and restore cpo setting in syntax script

fixes: #16970
closes: #16973

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(solidity): update syntax script with error definitions
S0AndS0 [Wed, 26 Mar 2025 17:57:55 +0000 (18:57 +0100)] 
runtime(solidity): update syntax script with error definitions

closes: #16978

References:
- https://docs.soliditylang.org/en/latest/contracts.html#transient-storage
- https://soliditylang.org/blog/2021/04/21/custom-errors/

Signed-off-by: S0AndS0 <strangerthanbland@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): add back help tag "pi_netrw.txt"
Christian Brabandt [Wed, 26 Mar 2025 17:53:46 +0000 (18:53 +0100)] 
runtime(doc): add back help tag "pi_netrw.txt"

closes: #16974

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1239: if_python: no tuple data type support v9.1.1239
Yegappan Lakshmanan [Wed, 26 Mar 2025 17:46:21 +0000 (18:46 +0100)] 
patch 9.1.1239: if_python: no tuple data type support

Problem:  if_python: no tuple data type support (after v9.1.1232)
Solution: Add support for using Vim tuple in the python interface
          (Yegappan Lakshmanan)

closes: #16964

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): Add missing garbagecollect() hypertext link
Doug Kearns [Tue, 25 Mar 2025 20:04:23 +0000 (21:04 +0100)] 
runtime(doc): Add missing garbagecollect() hypertext link

closes: #16975

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoImprove contributing guide by adding a section on signing off commits
Christian Brabandt [Tue, 25 Mar 2025 20:02:20 +0000 (21:02 +0100)] 
Improve contributing guide by adding a section on signing off commits

related: #16957
closes: #16976

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1238: wrong cursor column with 'set splitkeep=screen' v9.1.1238
phanium [Tue, 25 Mar 2025 19:15:31 +0000 (20:15 +0100)] 
patch 9.1.1238: wrong cursor column with 'set splitkeep=screen'

Problem:  With ':set splitkeep=screen', cursor did't restore column
          correctly when splitting a window on a line longer than the
          last line on the screen (after v9.1.0707)
Solution: Restore cursor column in `win_fix_scroll()` since it may be
          changed in `getvcol()` after 396fd1ec2956 (phanium).

Example:
```
echo longlonglongling\nshort | vim - -u NONE --cmd 'set
splitkeep=screen' +'norm $' +new +q
```

fixes: #16968
closes: #16971

Signed-off-by: phanium <91544758+phanen@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1237: Compile error with C89 compiler in term.c v9.1.1237
Hirohito Higashi [Tue, 25 Mar 2025 19:08:32 +0000 (20:08 +0100)] 
patch 9.1.1237: Compile error with C89 compiler in term.c

Problem:  Compile error with C89 compiler in term.c
          (Zoltan Arpadffy)
Solution: split out LOG_TR macro into 2 different macros. LOG_TR1 that
          takes only a single argument and LOG_TRN that takes 2
          arguments. Remove the use of ##__VA_ARGS__ since the macro is
          now always called with 2 arguments (Hirohito Higashi)

related: #16962
closes: #16969

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1236: tests: test_comments leaves swapfiles around v9.1.1236
Christian Brabandt [Mon, 24 Mar 2025 19:38:42 +0000 (20:38 +0100)] 
patch 9.1.1236: tests: test_comments leaves swapfiles around

Problem:  tests: test_comments leaves swapfiles around
Solution: use ':bw!' instead of ':close!'

closes: #16955

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1235: cproto files are outdated v9.1.1235
Yegappan Lakshmanan [Mon, 24 Mar 2025 19:36:14 +0000 (20:36 +0100)] 
patch 9.1.1235: cproto files are outdated

Problem:  cproto files are outdated
Solution: regenerate proto files by running make proto
          (Yegappan Lakshmanan)

closes: #16956

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1234: Compile error when SIZE_MAX is not defined v9.1.1234
Zoltan Arpadffy [Mon, 24 Mar 2025 19:31:12 +0000 (20:31 +0100)] 
patch 9.1.1234: Compile error when SIZE_MAX is not defined

Problem:  Compile error when SIZE_MAX is not defined
Solution: Define SIZE_MAX (Zoltan Arpadffy)

related: #16962

Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1233: Coverity warns about NULL pointer when triggering WinResized v9.1.1233
zeertzjq [Mon, 24 Mar 2025 19:22:23 +0000 (20:22 +0100)] 
patch 9.1.1233: Coverity warns about NULL pointer when triggering WinResized

Problem:  Coverity warns about NULL pointer when triggering WinResized
Solution: Add OOM checks for windows_list like for scroll_dict. Remove
          void casts that are unnecessary after 9.1.1084 (zeertzjq).

closes: #16959

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): Fix an omission in the documentation.
Christ van Willegen [Mon, 24 Mar 2025 19:12:37 +0000 (20:12 +0100)] 
runtime(doc): Fix an omission in the documentation.

closes: #16960

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.1232: Vim script is missing the tuple data type v9.1.1232
Yegappan Lakshmanan [Sun, 23 Mar 2025 15:42:16 +0000 (16:42 +0100)] 
patch 9.1.1232: Vim script is missing the tuple data type

Problem:  Vim script is missing the tuple data type
Solution: Add support for the tuple data type
          (Yegappan Lakshmanan)

closes: #16776

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>