]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 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>
4 months agoruntime(vim): Update base-syntax, match protected constructors
Doug Kearns [Sun, 23 Mar 2025 15:14:20 +0000 (16:14 +0100)] 
runtime(vim): Update base-syntax, match protected constructors

Support for protected constructors was added in commit 7e89800.

closes: 16618

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(syntax-tests): Do not ignore failed screendumps
Aliaksei Budavei [Sun, 23 Mar 2025 09:42:23 +0000 (10:42 +0100)] 
runtime(syntax-tests): Do not ignore failed screendumps

The process of preparing and submitting syntax tests is
fraught with challenges that can turn away many aspiring
contributors from ever attempting it.  (Out of 69 languages
introduced since v9.0.1627, there are only syntax tests for
Tera.)

After v9.1.1176~1, one visual clue for admitting syntax test
failures previously available with e.g. "git status" is gone
after all files under "failed/" have been made ignored for
Git and Mercurial.  There isn't a single way to go about it:
some people may move files from "failed/" to "dumps/" after
each iteration; some people may only move "good" iteration
files; when a test file is refactored to a great extent,
some people may prefer deleting all test-related files under
"dumps/" before moving files from "failed/".  The usability
of reporting, at any time, that there are some _untracked_
files under "failed/" cannot be overstated.  Without it, the
chances are greater for pushing mismatched changesets.  And
when tests fail then everyone but the author will be kept in
the dark about the cause: were some updated screendumps not
committed _or_ was a wrong version of the syntax plugin
committed?

Another file, "testdir/Xfilter" (v9.1.0763), that will be
created to establish communication from Make to Vim about
what subset of syntax tests is requested for running, should
also be not ignored but rather deleted once its contents are
read.  Unless it is explicitly deleted _after test failure_,
the file may contain new *and* old test names when another
testing attempt is under way.  And by virtue of it being
ignored, the reason for also running not requested tests
will be as ever puzzling.

Both Git and Mercurial support per-user configuration; such
wide-reaching settings hardly belong to clonable defaults.

Also, match literal dots in testname filters.

Also, discover and report _some_ disused screendump files
tracked under "dumps/".

References:
- https://git-scm.com/docs/gitignore
- https://www.mercurial-scm.org/help/topics/config#ui

closes: #16917

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1231: filetype: SPA JSON files are not recognized v9.1.1231
David Mandelberg [Sun, 23 Mar 2025 09:26:00 +0000 (10:26 +0100)] 
patch 9.1.1231: filetype: SPA JSON files are not recognized

Problem:  filetype: SPA (single page application) JSON files are not
          recognized (used by pipewire and wireplumber)
Solution: detect pipewire and wireplumber configuration files as spajson
          filetype, include filetype, indent and syntax scripts for this
          new filetype (David Mandelberg).

I looked at all the files found by this command to see if the syntax
highlighting looked reasonable:

```
find {~/.config,/etc,/usr/share}/{pipewire,wireplumber} -type f -name \*.conf
```

References:
*   pipewire config files: https://docs.pipewire.org/page_config.html
*   wireplumber config files:
    https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/conf_file.html
    and
*   https://pipewire.pages.freedesktop.org/wireplumber/daemon/locations.html

closes: #16950

Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(doc): update and correct str2blob() and blob2str() examples
Hirohito Higashi [Sun, 23 Mar 2025 09:20:20 +0000 (10:20 +0100)] 
runtime(doc): update and correct str2blob() and blob2str() examples

closes: #16952

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(hlyank): update the hlyank package
Hirohito Higashi [Sat, 22 Mar 2025 14:58:59 +0000 (15:58 +0100)] 
runtime(hlyank): update the hlyank package

closes: #16944

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(syntax-tests): Add non-Latin-1 character filters for C syntax tests
Doug Kearns [Fri, 21 Mar 2025 17:16:12 +0000 (18:16 +0100)] 
runtime(syntax-tests): Add non-Latin-1 character filters for C syntax tests

See pull request #14767.

Rename the Vim :keymap filter files so they're, again, associated with
the correct dump files.

closes: #16560

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1230: inconsistent CTRL-C behaviour for popup windows v9.1.1230
glepnir [Fri, 21 Mar 2025 17:12:32 +0000 (18:12 +0100)] 
patch 9.1.1230: inconsistent CTRL-C behaviour for popup windows

Problem:  Ctrl-C closes popup windows that have a filter callback,
          but does not close popups without a filter callback.
Solution: Modified popup_do_filter() to also close popups without
          filter callback when Ctrl-C is pressed (glepnir).

fixes: #16839
closes: #16928

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1229: the comment plugin can be improved v9.1.1229
Maxim Kim [Fri, 21 Mar 2025 17:02:56 +0000 (18:02 +0100)] 
patch 9.1.1229: the comment plugin can be improved

Problem:  the comment plugin can be improved
Solution: add comment text objects "ic" and "ac"
          (Maxim Kim)

closes: #16938

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(sh): consider sh as POSIX shell by default
Mohamed Akram [Fri, 21 Mar 2025 16:52:08 +0000 (17:52 +0100)] 
runtime(sh): consider sh as POSIX shell by default

Also, do not set g:is_kornshell when g:is_posix is set. BSD shells are
POSIX but many are derived from the ash shell.

closes: #16939

Signed-off-by: Mohamed Akram <mohd.akram@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1228: completion: current position column wrong after got a match v9.1.1228
glepnir [Fri, 21 Mar 2025 16:16:21 +0000 (17:16 +0100)] 
patch 9.1.1228: completion: current position column wrong after got a match

Problem:  The current_pos.col was incorrectly updated to the length of
          the matching text. This will cause the next search to start
          from the wrong position.
Solution: current_pos has already been updated in search_str_in_line and
          does not need to be changed (glepnir)

closes: #16941

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(hlyank): add the hlyank package
Christian Brabandt [Wed, 19 Mar 2025 20:55:59 +0000 (21:55 +0100)] 
runtime(hlyank): add the hlyank package

closes: #16919
related: #16866

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1227: no tests for the comment package v9.1.1227
Maxim Kim [Wed, 19 Mar 2025 19:54:12 +0000 (20:54 +0100)] 
patch 9.1.1227: no tests for the comment package

Problem:  no tests for the comment package
Solution: add some tests (Maxim Kim).

closes: #16933

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1226: "shellcmdline" completion doesn't work with input() v9.1.1226
zeertzjq [Wed, 19 Mar 2025 19:29:58 +0000 (20:29 +0100)] 
patch 9.1.1226: "shellcmdline" completion doesn't work with input()

Problem:  "shellcmdline" completion doesn't work with input().
Solution: Use set_context_for_wildcard_arg().  Fix indent in nextwild()
          (zeertzjq).

There are some other inconsistencies for input() completion (ref #948),
but since "shellcmdline" currently doesn't work at all, it makse sense
to at least make it work.

fixes: #16932
closes: #16934

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1225: extra NULL check in VIM_CLEAR() v9.1.1225
Hirohito Higashi [Wed, 19 Mar 2025 19:25:21 +0000 (20:25 +0100)] 
patch 9.1.1225: extra NULL check in VIM_CLEAR()

Problem:  extra NULL check in VIM_CLEAR()
Solution: remove the NULL check and rely on the NULL check in vim_free()
          instead (Hirohito Higashi).

closes: #16936

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(sh): remove invalid commented out line in syntax script
Christian Brabandt [Tue, 18 Mar 2025 22:12:52 +0000 (23:12 +0100)] 
runtime(sh): remove invalid commented out line in syntax script

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(sh): update sh indent script
Christian Brabandt [Tue, 18 Mar 2025 21:36:28 +0000 (22:36 +0100)] 
runtime(sh): update sh indent script

fixes: #16930

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1224: cannot :put while keeping indent v9.1.1224
64-bitman [Tue, 18 Mar 2025 21:14:34 +0000 (22:14 +0100)] 
patch 9.1.1224: cannot :put while keeping indent

Problem:  cannot :put while keeping indent (Peter Aronoff)
Solution: add the :iput ex command (64-bitman)

fixes: #16225
closes: #16886

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
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>
4 months agoruntime(go): use :term for keywordprg for nvim/gvim
Phạm Bình An [Tue, 18 Mar 2025 20:05:35 +0000 (21:05 +0100)] 
runtime(go): use :term for keywordprg for nvim/gvim

Problem:
- The document from `go doc` can be very long, and you can scroll if
  using `!` to run shell command in Gvim.
- I realize that I didn't fully mimic behavior of default keywordprg
  in Nvim in the last commit.

Solution:
- Use builtin terminal for keywordprg in Gvim
- In Nvim (both TUI and GUI), it should mimic the behavior of Vim
  `:term`, `:Man`, and `:help`

closes: #16911

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1223: wrong translation used for encoding failures v9.1.1223
Christian Brabandt [Tue, 18 Mar 2025 19:55:42 +0000 (20:55 +0100)] 
patch 9.1.1223: wrong translation used for encoding failures

Problem:  wrong translation for encoding failures because of using
          literal "from" and "to" in the resulting error message
          (RestorerZ)
Solution: use separate error messages for errors "from" and "to"
          encoding errors.

fixes: #16898
closes: #16918

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1222: using wrong length for last inserted string v9.1.1222
John Marriott [Tue, 18 Mar 2025 19:49:01 +0000 (20:49 +0100)] 
patch 9.1.1222: using wrong length for last inserted string

Problem:  using wrong length for last inserted string
          (Christ van Willegen, after v9.1.1212)
Solution: use the correct length in get_last_insert_save(), make
          get_last_insert() return a string_T (John Marriott)

closes: #16921

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1221: Wrong cursor pos when leaving Insert mode just after 'autoindent' v9.1.1221
zeertzjq [Tue, 18 Mar 2025 19:41:24 +0000 (20:41 +0100)] 
patch 9.1.1221: Wrong cursor pos when leaving Insert mode just after 'autoindent'

Problem:  Wrong cursor position and '^' mark when leaving Insert mode
          just after 'autoindent' and cursor on last char of line.
Solution: Don't move cursor to NUL when it wasn't moved to the left
          (zeertzjq).

fixes: #15581
related: neovim/neovim#30165 neovim/neovim#32943
closes: #16922

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1220: filetype: uv.lock file not recognized v9.1.1220
Acaibird [Tue, 18 Mar 2025 19:35:29 +0000 (20:35 +0100)] 
patch 9.1.1220: filetype: uv.lock file not recognized

Problem:  filetype: uv.lock file not recognized
Solution: detect uv.lock file as toml filetype
          (Acaibird)

closes: #16924

Signed-off-by: Acaibird <durbannhawkey42@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1219: Strange error with wrong type for matchfuzzy() "camelcase" v9.1.1219
zeertzjq [Tue, 18 Mar 2025 19:28:00 +0000 (20:28 +0100)] 
patch 9.1.1219: Strange error with wrong type for matchfuzzy() "camelcase"

Problem:  Strange error with type for matchfuzzy() "camelcase".
Solution: Show the error "Invalid value for argument camelcase" instead
          of "Invalid argument: camelcase" (zeertzjq).

Note that using tv_get_string() will lead to confusion, as when the
value cannot be converted to a string tv_get_string() will also give an
error about that, but "camelcase" takes a boolean, not a string.  Also
don't use tv_get_string() for the "limit" argument above.

closes: #16926

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1218: missing out-of-memory check in filepath.c v9.1.1218
John Marriott [Mon, 17 Mar 2025 20:14:17 +0000 (21:14 +0100)] 
patch 9.1.1218: missing out-of-memory check in filepath.c

Problem:  missing out-of-memory check in filepath.c
Solution: Add check for NULL (John Marriott)

closes: #16906

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1217: tests: typos in test_matchfuzzy.vim v9.1.1217
zeertzjq [Mon, 17 Mar 2025 20:06:02 +0000 (21:06 +0100)] 
patch 9.1.1217: tests: typos in test_matchfuzzy.vim

Problem:  tests: typos in test_matchfuzzy.vim (after 9.1.1214).
Solution: Fix the typos.  Consistently put the function call on the
          second line in assertions for camelcase (zeertzjq).

closes: #16907

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1216: Pasting the '.' register multiple times may not work v9.1.1216
zeertzjq [Mon, 17 Mar 2025 20:02:50 +0000 (21:02 +0100)] 
patch 9.1.1216: Pasting the '.' register multiple times may not work

Problem:  Pasting the '.' register multiple times may work incorrectly
          when the last insert starts with Ctrl-D and ends with '0'.
          (after 9.1.1212)
Solution: Restore the missing assignment (zeertzjq).

closes: #16908

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(keymap) Add forward slash (/) to russian-jcukenwin keymap
Marat Amerov [Mon, 17 Mar 2025 19:42:40 +0000 (20:42 +0100)] 
runtime(keymap) Add forward slash (/) to russian-jcukenwin keymap

closes: #16912

Signed-off-by: Marat Amerov <maratamerov@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(vim): Update base-syntax, match multiline return types
Doug Kearns [Mon, 17 Mar 2025 19:27:13 +0000 (20:27 +0100)] 
runtime(vim): Update base-syntax, match multiline return types

fixes #14442.
closes: #16914

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1215: Patch 9.1.1213 has some issues v9.1.1215
Christian Brabandt [Sun, 16 Mar 2025 20:39:58 +0000 (21:39 +0100)] 
patch 9.1.1215: Patch 9.1.1213 has some issues

Problem:  Patch 9.1.1213 has some issues
Solution: revert it for now

This reverts commit 250739d442b51ba76589d6eb67672d95645527ec.

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1214: matchfuzzy() can be improved for camel case matches v9.1.1214
glepnir [Sun, 16 Mar 2025 20:24:22 +0000 (21:24 +0100)] 
patch 9.1.1214: matchfuzzy() can be improved for camel case matches

Problem:  When searching for "Cur", CamelCase matches like "lCursor" score
          higher than exact prefix matches like Cursor, which is
          counter-intuitive (Maxim Kim).
Solution: Add a 'camelcase' option to matchfuzzy() that lets users disable
          CamelCase bonuses when needed, making prefix matches rank higher.
          (glepnir)

fixes: #16504
closes: #16797

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1213: cannot :put while keeping indent v9.1.1213
64-bitman [Sun, 16 Mar 2025 20:10:47 +0000 (21:10 +0100)] 
patch 9.1.1213: cannot :put while keeping indent

Problem:  cannot :put while keeping indent
          (Peter Aronoff)
Solution: add the :iput ex command (64-bitman)

fixes: #16225
closes: #16886

Signed-off-by: 64-bitman <60551350+64-bitman@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(syntax-tests): Support "wait-free" test failure
Aliaksei Budavei [Sun, 16 Mar 2025 19:59:28 +0000 (20:59 +0100)] 
runtime(syntax-tests): Support "wait-free" test failure

When certain changes guarantee failure for old syntax tests,
opt for faster failure by reducing the number of screendumps
made for each file "page" to be no greater than the assigned
value of a VIM_SYNTAX_TEST_WAIT_TIME environment variable.
(This variable will be ignored and more screendumps may be
made when Make is GNU Make and a parent Makefile is used.)

Barring regressions, and assuming that v9.1.1163~1 succeeds
in providing a correct synchronisation mechanism outside of
"VerifyScreenDump()", and assuming that "readfile()" always
obtains the latest contents written by "term_dumpwrite()" in
"VerifyScreenDump()"; making a single screendump of a file
"page" and following it with a single reading of the written
screendump file should be enough to decide whether to pass
or fail a syntax test.

In addition, re-enable self testing after v9.1.1183~2.

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1212: too many strlen() calls in edit.c
John Marriott [Sun, 16 Mar 2025 19:49:52 +0000 (20:49 +0100)] 
patch 9.1.1212: too many strlen() calls in edit.c

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

This commit attempts to make edit.c more efficient by:

- in truncate_spaces() pass in the length of the string.
- return a string_T from get_last_insert(), so that the length of the
  string is available to the caller.
- refactor stuff_insert():

  - replace calls to stuffReadbuff() (which calls STRLEN() on it's
    string argument) with stuffReadbuffLen() (which gets the length of
    it's string argument passed in).
  - replace call to vim_strrchr() which searches from the start of the
    string with a loop which searches from end of the string to find the
    last ESC character.

- change get_last_insert_save() to call get_last_insert() to get the
  last_insert string (the logic is in one place).

closes: #16863

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1212: filetype: logrotate'd pacmanlogs are not recognized v9.1.1212
Eisuke Kawashima [Sun, 16 Mar 2025 19:37:14 +0000 (20:37 +0100)] 
patch 9.1.1212: filetype: logrotate'd pacmanlogs are not recognized

Problem:  filetype: logrotate'd pacmanlogs are not recognized
Solution: also detect pacman.log* files as pacmanlog filetype,
          remove BufNewFile autocmd (Eisuke Kawashima)

closes: #16873

Signed-off-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(prql): include prql syntax script
Jonathan [Sun, 16 Mar 2025 19:32:13 +0000 (20:32 +0100)] 
runtime(prql): include prql syntax script

References:
https://prql-lang.org/
https://github.com/PRQL/prql

closes: #16885

Signed-off-by: Jonathan <vanillajonathan@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1211: TabClosedPre is triggered just before the tab is being freed v9.1.1211
Jim Zhou [Sun, 16 Mar 2025 19:24:57 +0000 (20:24 +0100)] 
patch 9.1.1211: TabClosedPre is triggered just before the tab is being freed

Problem:  TabClosedPre is triggered just before the tab is being freed,
          which limited its functionality.
Solution: Trigger it a bit earlier and also on :tabclose and :tabonly
          (Jim Zhou)

closes: #16890

Signed-off-by: Jim Zhou <jimzhouzzy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1210: translation(ru): missing Russian translation for the new tutor v9.1.1210
RestorerZ [Sun, 16 Mar 2025 18:49:41 +0000 (19:49 +0100)] 
patch 9.1.1210: translation(ru): missing Russian translation for the new tutor

Problem:  translation(ru): missing Russian translation for the new tutor
Solution: include new Russian translation, update the Makefile for
          installing the new translations (RestorerZ)

closes: #16901

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1209: colorcolumn not drawn after virtual text lines v9.1.1209
Matthias [Sun, 16 Mar 2025 18:27:51 +0000 (19:27 +0100)] 
patch 9.1.1209: colorcolumn not drawn after virtual text lines

Problem:  colorcolumn not drawn after virtual text lines
Solution: show colorcolumn on correct line with virtual text by adding
          the size of p_extra to virtual column offset (Matthias)

When a line has two or more lines of virtual text above it, the color
column used to appear on the line of the second virtual text line, while
the first virtual text line and the "real" text line did not have a
color column.

The color column for "above" virtual text is positioned by taking the
offset of the size of the virtual text lines and subtracting it from the
"virtual column" that we are in. If the result equals the color column,
this column is colored.

The "virtual column" is calculated from the beginning of the first
virtual text line and continues over the newlines up to the end of the
"real" text. However, the offset from the virtual text was reset at
every line.

Adding all those offsets together leads to the color column being placed
consistently at the line of the "real" text.

related: #12004
related: #16868
closes: #16904

Signed-off-by: Matthias <matthias.rader@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1208: MS-Windows: not correctly restoring alternate screen on Win 10 v9.1.1208
Christopher Plewright [Sun, 16 Mar 2025 18:14:31 +0000 (19:14 +0100)] 
patch 9.1.1208: MS-Windows: not correctly restoring alternate screen on Win 10

Problem:  MS-Windows: not correctly restoring alternate screen on Win 10
          after ssh (Daniel Viberg)
Solution: return a bit later in RestoreConsoleBuffer()
          (Christopher Plewright)

fixes: #16418
closes: #16897

Signed-off-by: Christopher Plewright <chris@createng.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1207: MS-Windows: build warning in filepath.c v9.1.1207
John Marriott [Sun, 16 Mar 2025 18:06:31 +0000 (19:06 +0100)] 
patch 9.1.1207: MS-Windows: build warning in filepath.c

Problem:  MS-Windows: build warning in filepath.c
          (after v9.1.1204)
Solution: add type cast (John Marriott)

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agotranslation(ru): include Russian translation for chapter two of the tutorial
RestorerZ [Sat, 15 Mar 2025 09:31:10 +0000 (10:31 +0100)] 
translation(ru): include Russian translation for chapter two of the tutorial

closes: #16900

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(matchparen): line continuation causes failure in CI
Christian Brabandt [Sat, 15 Mar 2025 09:24:11 +0000 (10:24 +0100)] 
runtime(matchparen): line continuation causes failure in CI

so let's remove the line continuation

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1206: tests: test_filetype fails when a file is a directory v9.1.1206
Christian Brabandt [Sat, 15 Mar 2025 09:19:48 +0000 (10:19 +0100)] 
patch 9.1.1206: tests: test_filetype fails when a file is a directory

Problem:  tests: test_filetype fails when a file is a directory
          (Eisuke Kawashima)
Solution: When encountering a directory instead of a file, skip that
          particular filetype test

fixes: #16894

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(doc): symlinking netrw.txt causes problems during install on Windows
Christian Brabandt [Sat, 15 Mar 2025 09:04:39 +0000 (10:04 +0100)] 
runtime(doc): symlinking netrw.txt causes problems during install on Windows

So let's remove the symlink and copy the netrw documentation back into
runtime/doc directory. While at it, add a Makefile target to do this
whenever runtime/pack/dist/opt/netrw/doc/netrw.txt is updated.

fixes: #16878
fixes: #16872

Co-authored-by: Brandon Maier <brandon.maier@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1205: completion: preinserted text not removed when closing pum v9.1.1205
glepnir [Sat, 15 Mar 2025 08:59:22 +0000 (09:59 +0100)] 
patch 9.1.1205: completion: preinserted text not removed when closing pum

Problem:  completion: preinserted text not removed when closing pum
Solution: delete preinsert text inside in ins_compl_stop() (glepnir).

closes: #16891

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(tutor): updated Russian translation for tutor chapter 1
RestorerZ [Sat, 15 Mar 2025 08:55:37 +0000 (09:55 +0100)] 
runtime(tutor): updated Russian translation for tutor chapter 1

closes: #16899

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1204: MS-Windows: crash when passing long string to expand() v9.1.1204
zeertzjq [Sat, 15 Mar 2025 08:53:32 +0000 (09:53 +0100)] 
patch 9.1.1204: MS-Windows: crash when passing long string to expand()

Problem:  MS-Windows: crash when passing long string to expand() with
          'wildignorecase'.
Solution: Use the same buflen as unix_expandpath() in dos_expandpath().
          Remove an unnecessary STRLEN() while at it (zeertzjq).

closes: #16896

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(cs): Update C# runtime files
Nick Jensen [Sat, 15 Mar 2025 08:49:13 +0000 (09:49 +0100)] 
runtime(cs): Update C# runtime files

closes: #16884

Signed-off-by: Nick Jensen <nickspoon@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1203: matchparen keeps cursor on case label in sh filetype v9.1.1203
zeertzjq [Sat, 15 Mar 2025 08:36:13 +0000 (09:36 +0100)] 
patch 9.1.1203: matchparen keeps cursor on case label in sh filetype

Problem:  matchparen keeps cursor on case label in sh filetype
          (@categorical, after 9.1.1187).
Solution: Use :defer so that cursor is always restored, remove checks
          for older Vims, finish early if Vim does not support :defer

fixes: #16887
closes: #16888

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(doc): fix a typo in gitrebase filetype
skshetry [Sat, 15 Mar 2025 08:34:39 +0000 (09:34 +0100)] 
runtime(doc): fix a typo in gitrebase filetype

Introduced in 4d2c4b90f.

closes: #16892

Signed-off-by: skshetry <18718008+skshetry@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(doc): Tweak documentation style a bit
Hirohito Higashi [Sat, 15 Mar 2025 08:32:28 +0000 (09:32 +0100)] 
runtime(doc): Tweak documentation style a bit

closes: #16893

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(vim): Sync syntax generator base file with output file.
Doug Kearns [Sat, 15 Mar 2025 08:29:31 +0000 (09:29 +0100)] 
runtime(vim): Sync syntax generator base file with output file.

Synchronisation was lost in commit 0fab891 and the error propagated to
the output file in commit 5606ca5.

closes: #16889

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(doc): update a few minor omissions from 5876016 and 4d2c4b9
Christian Brabandt [Fri, 14 Mar 2025 11:05:52 +0000 (12:05 +0100)] 
runtime(doc): update a few minor omissions from 5876016 and 4d2c4b9

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1202: Missing TabClosedPre autocommand v9.1.1202
Jim Zhou [Thu, 13 Mar 2025 20:58:25 +0000 (21:58 +0100)] 
patch 9.1.1202: Missing TabClosedPre autocommand

Problem:  Missing TabClosedPre autocommand
          (zoumi)
Solution: Add the TabClosedPre autcommand (Jim Zhou).

fixes: #16518
closes: #16855

Signed-off-by: Jim Zhou <jimzhouzzy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1201: 'completefuzzycollect' does not handle dictionary correctly v9.1.1201
glepnir [Thu, 13 Mar 2025 20:39:51 +0000 (21:39 +0100)] 
patch 9.1.1201: 'completefuzzycollect' does not handle dictionary correctly

Problem:  'completefuzzycollect' does not handle dictionary correctly
Solution: check for ctrl_x_mode_dictionary (glepnir)

closes: #16867

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(doc): make :h 'completefuzzycollect' a bit clearer
zeertzjq [Thu, 13 Mar 2025 20:30:10 +0000 (21:30 +0100)] 
runtime(doc): make :h 'completefuzzycollect' a bit clearer

- Fix grammar
- Use "matches" instead of "items" ("completion candidates" is used in
  some other places, but it's a bit verbose)
- "When set" is a bit vague, instead use "For specified modes"

closes: #16871

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(doc): document gitrebase filetype
Christian Brabandt [Thu, 13 Mar 2025 20:20:20 +0000 (21:20 +0100)] 
runtime(doc): document gitrebase filetype

closes: #16883

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agotranslation(it): update menu_it
Antonio Giovanni Colombo [Thu, 13 Mar 2025 19:38:44 +0000 (20:38 +0100)] 
translation(it): update menu_it

Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agotranslation(sr): Add chapter two of the new tutor
Ivan Pešić [Thu, 13 Mar 2025 19:33:26 +0000 (20:33 +0100)] 
translation(sr): Add chapter two of the new tutor

Add chapter two to the Serbian translation of the new tutor.
Update the Filelist with two new files.

closes: #16875

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1200: cmdline pum not cleared for input() completion v9.1.1200
zeertzjq [Thu, 13 Mar 2025 19:29:13 +0000 (20:29 +0100)] 
patch 9.1.1200: cmdline pum not cleared for input() completion

Problem:  Cmdline pum not cleared for input() completion.
Solution: Temporary reset RedrawingDisabled in cmdline_pum_cleanup(),
          like what is done in wildmenu_cleanup() (zeertzjq).

fixes: #16874
closes: #16876

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1199: gvim uses hardcoded xpm icon file v9.1.1199
Aurelien Gateau [Wed, 12 Mar 2025 22:16:42 +0000 (23:16 +0100)] 
patch 9.1.1199: gvim uses hardcoded xpm icon file

Problem:  Many X11/Wayland desktops support icon themes, and many themes
          provide a gvim icon, but this icon is ignored for the window
          itself because it is hardcoded in the source code.
Solution: Read the icon from the theme instead (Aurelien Gateau).

closes: #16859

Signed-off-by: Aurelien Gateau <mail@agateau.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(indent-tests): GitHub Actions doesn't show why indent tests failed
David Mandelberg [Wed, 12 Mar 2025 21:43:08 +0000 (22:43 +0100)] 
runtime(indent-tests): GitHub Actions doesn't show why indent tests failed

Problem:  GitHub Actions doesn't show why indent tests failed
Solution: Send the .fail files to stdout

References:
https://github.com/vim/vim/pull/16852#issuecomment-2719041781

closes: #16870

Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1198: [security]: potential data loss with zip.vim v9.1.1198
Christian Brabandt [Wed, 12 Mar 2025 21:04:01 +0000 (22:04 +0100)] 
patch 9.1.1198: [security]: potential data loss with zip.vim

Problem:  [security]: potential data loss with zip.vim and special
          crafted zip files (RyotaK)
Solution: use glob '[-]' to protect filenames starting with '-'

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-693p-m996-3rmf

Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1197: process_next_cpt_value() uses wrong condition v9.1.1197
glepnir [Wed, 12 Mar 2025 20:28:39 +0000 (21:28 +0100)] 
patch 9.1.1197: process_next_cpt_value() uses wrong condition

Problem:  process_next_cpt_value() uses wrong condition
Solution: use cfc_has_mode() instead and remove redundant else if branch
          (glepnir)

closes: #16833

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1196: filetype: config files for container tools are not recognized v9.1.1196
David Mandelberg [Wed, 12 Mar 2025 20:23:39 +0000 (21:23 +0100)] 
patch 9.1.1196: filetype: config files for container tools are not recognized

Problem:  filetype: config files for container tools are not recognized
Solution: detect the ones that aren't detected yet as toml filetype
          (David Mandelberg)

The .containerignore format doesn't look exactly the same as gitignore,
but very close. And .dockerignore is already using gitignore.

References:
https://github.com/containers/common/blob/main/docs/containerignore.5.md
https://github.com/containers/common/blob/main/docs/containers.conf.5.md
https://github.com/containers/storage/blob/main/docs/containers-storage.conf.5.md
https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md
https://github.com/containers/image/blob/main/docs/containers-registries.conf.d.5.md

I wasn't sure exactly how to interpret what containers.conf(5) was
saying about modules, so I looked at
https://github.com/containers/common/tree/main/pkg/config/testdata/modules
to get examples, and based the detection off those.

closes: #16852

Signed-off-by: David Mandelberg <david@mandelberg.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(doc): remove unnecessary "an"
zeertzjq [Wed, 12 Mar 2025 20:16:13 +0000 (21:16 +0100)] 
runtime(doc): remove unnecessary "an"

"umask" is pronounce like "youmask", so having an "an" before it is a
bit strange.  In other places in the help, "umask" is not preceded by
either "a" or "an", and sometimes preceded by "the".

Also, "Note" is usually followed either by ":" or "that" in builtin.txt,
so add a ":" after "Note".

closes: 16860

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agopatch 9.1.1195: inside try-block: fn body executed with default arg undefined v9.1.1195
Shane Harper [Wed, 12 Mar 2025 20:12:12 +0000 (21:12 +0100)] 
patch 9.1.1195: inside try-block: fn body executed with default arg undefined

Problem:  inside try-block: fn body executed when default arg is
          undefined
Solution: When inside a try-block do not execute function body after an
          error in evaluating a default argument expression
          (Shane Harper).

closes: #16865

Signed-off-by: Shane Harper <shane@shaneharper.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(doc): Update doc 52.6
Jim Zhou [Wed, 12 Mar 2025 19:57:24 +0000 (20:57 +0100)] 
runtime(doc): Update doc 52.6

Problem: the highlight-yank plugin exmaple provided in the doc behaves
 incorrectly when selection is set to exclusive.

Solution: use a unified offset of 1 and pass 'exclusive: false' to
  getregionpos(), while at it, also clarify when the
          TextYankPost autocommand triggers.

closes: #16866

Signed-off-by: Jim Zhou <jimzhouzzy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
4 months agoruntime(compiler): allow customizing exe and args for tsc
Konfekt [Tue, 11 Mar 2025 20:40:04 +0000 (21:40 +0100)] 
runtime(compiler): allow customizing exe and args for tsc

closes: #16853

Signed-off-by: Konfekt <Konfekt@users.noreply.github.com>
Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>