Skip to content

Commit 19f411e

Browse files
committed
Merge remote-tracking branch 'vim/master'
Contains a local fix to regenerate the help tags to keep them sorted.
2 parents 007cbac + 110656b commit 19f411e

File tree

24 files changed

+353
-105
lines changed

24 files changed

+353
-105
lines changed

runtime/autoload/dist/ft.vim

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ vim9script
33
# Vim functions for file type detection
44
#
55
# Maintainer: The Vim Project <https://github.com/vim/vim>
6-
# Last Change: 2025 Oct 09
6+
# Last Change: 2025 Oct 28
77
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
88

99
# These functions are moved here from runtime/filetype.vim to make startup
@@ -2473,6 +2473,7 @@ const ft_from_ext = {
24732473
"textproto": "pbtxt",
24742474
"textpb": "pbtxt",
24752475
"pbtxt": "pbtxt",
2476+
"aconfig": "pbtxt", # Android aconfig files
24762477
# Poke
24772478
"pk": "poke",
24782479
# Nvidia PTX (Parallel Thread Execution)

runtime/compiler/tombi.vim

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
" Vim compiler file
2+
" Language: TOML
3+
" Maintainer: Konfekt
4+
" Last Change: 2025 Oct 28
5+
6+
if exists("current_compiler") | finish | endif
7+
let current_compiler = "tombi"
8+
9+
let s:cpo_save = &cpo
10+
set cpo&vim
11+
12+
if !executable('tombi')
13+
echoerr "tombi compiler: 'tombi' executable not found in PATH"
14+
let &cpo = s:cpo_save
15+
unlet s:cpo_save
16+
finish
17+
endif
18+
19+
" NO_COLOR support requires tombi 0.6.40 or later
20+
if !exists('s:tombi_nocolor')
21+
" Expect output like: 'tombi 0.6.40' or '0.6.40'
22+
let s:out = trim(system('tombi --version'))
23+
let s:tombi_ver = matchstr(s:out, '\v\s\d+\.\d+\.\d+$')
24+
25+
function s:VersionGE(ver, req) abort
26+
" Compare semantic versions a.b.c ≥ x.y.z
27+
let l:pa = map(split(a:ver, '\.'), 'str2nr(v:val)')
28+
let l:pb = map(split(a:req, '\.'), 'str2nr(v:val)')
29+
while len(l:pa) < 3 | call add(l:pa, 0) | endwhile
30+
while len(l:pb) < 3 | call add(l:pb, 0) | endwhile
31+
for i in range(0, 2)
32+
if l:pa[i] > l:pb[i] | return 1
33+
elseif l:pa[i] < l:pb[i] | return 0
34+
endif
35+
endfor
36+
return 1
37+
endfunction
38+
let s:tombi_nocolor = s:VersionGE(s:tombi_ver, '0.6.40')
39+
delfunction s:VersionGE
40+
endif
41+
42+
if s:tombi_nocolor
43+
if has('win32')
44+
if &shell =~# '\v<%(cmd|cmd)>'
45+
CompilerSet makeprg=set\ NO_COLOR=1\ &&\ tombi\ lint
46+
elseif &shell =~# '\v<%(powershell|pwsh)>'
47+
CompilerSet makeprg=$env:NO_COLOR="1";\ tombi\ lint
48+
else
49+
echoerr "tombi compiler: Unsupported shell for Windows"
50+
endif
51+
else " if has('unix')
52+
CompilerSet makeprg=env\ NO_COLOR=1\ tombi\ lint
53+
endif
54+
else
55+
" Older tombi: strip ANSI color codes with sed.
56+
if executable('sed')
57+
CompilerSet makeprg=tombi\ lint\ $*\ \|\ sed\ -E\ \"s/\\x1B(\\[[0-9;]*[JKmsu]\|\\(B)//g\"
58+
else
59+
echoerr "tombi compiler: tombi version < 0.6.40 requires 'sed' to strip ANSI color codes"
60+
endif
61+
endif
62+
63+
CompilerSet errorformat=%E%*\\sError:\ %m,%Z%*\\sat\ %f:%l:%c
64+
CompilerSet errorformat+=%W%*\\sWarning:\ %m,%Z%*\\sat\ %f:%l:%c
65+
CompilerSet errorformat+=%-G1\ file\ failed\ to\ be\ linted
66+
CompilerSet errorformat+=%-G1\ file\ linted\ successfully
67+
68+
let &cpo = s:cpo_save
69+
unlet s:cpo_save

runtime/doc/options.txt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*options.txt* For Vim version 9.1. Last change: 2025 Oct 26
1+
*options.txt* For Vim version 9.1. Last change: 2025 Oct 28
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -5223,10 +5223,9 @@ A jump table for the options with a short description can be found at |Q_op|.
52235223
{not available when compiled without the
52245224
|+extra_search| features}
52255225
While typing a search command, show where the pattern, as it was typed
5226-
so far, matches (ignoring {offset} and {address} modifiers). The
5227-
matched string is highlighted. If the pattern is invalid or not
5228-
found, nothing is shown. The screen will be updated often, this is
5229-
only useful on fast terminals.
5226+
so far, matches. The matched string is highlighted. If the pattern
5227+
is invalid or not found, nothing is shown. The screen will be updated
5228+
often, this is only useful on fast terminals.
52305229
Also applies to the pattern in commands: >
52315230
:global
52325231
:lvimgrep

runtime/doc/quickfix.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*quickfix.txt* For Vim version 9.1. Last change: 2025 Oct 12
1+
*quickfix.txt* For Vim version 9.1. Last change: 2025 Oct 28
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1724,6 +1724,16 @@ shells and OSes and also does not allow to use other available TeX options,
17241724
if any. If your TeX doesn't support "-interaction=nonstopmode", please
17251725
report it with different means to express \nonstopmode from the command line.
17261726

1727+
TOMBI *quickfix-toml* *compiler-tombi*
1728+
1729+
The tombi compiler plugin does not compile.
1730+
1731+
It runs "tombi lint" and parses diagnostics into the quickfix list.
1732+
1733+
Color codes are stripped from the linter output to keep |errorformat|
1734+
parsing reliable. This may require a working "sed" for old versions of the
1735+
tombi linter.
1736+
17271737
TSC COMPILER *compiler-tsc*
17281738

17291739
The executable and compiler options can be added to 'makeprg' by setting the

runtime/doc/tags

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6865,6 +6865,7 @@ compiler-ruff quickfix.txt /*compiler-ruff*
68656865
compiler-select quickfix.txt /*compiler-select*
68666866
compiler-spotbugs quickfix.txt /*compiler-spotbugs*
68676867
compiler-tex quickfix.txt /*compiler-tex*
6868+
compiler-tombi quickfix.txt /*compiler-tombi*
68686869
compiler-tsc quickfix.txt /*compiler-tsc*
68696870
compiler-typst quickfix.txt /*compiler-typst*
68706871
compiler-vaxada ft_ada.txt /*compiler-vaxada*
@@ -10117,6 +10118,7 @@ quickfix-perl quickfix.txt /*quickfix-perl*
1011710118
quickfix-size quickfix.txt /*quickfix-size*
1011810119
quickfix-stack quickfix.txt /*quickfix-stack*
1011910120
quickfix-title quickfix.txt /*quickfix-title*
10121+
quickfix-toml quickfix.txt /*quickfix-toml*
1012010122
quickfix-valid quickfix.txt /*quickfix-valid*
1012110123
quickfix-window quickfix.txt /*quickfix-window*
1012210124
quickfix-window-ID quickfix.txt /*quickfix-window-ID*

runtime/doc/userfunc.txt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*userfunc.txt* For Vim version 9.1. Last change: 2025 Oct 12
1+
*userfunc.txt* For Vim version 9.1. Last change: 2025 Oct 28
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -189,9 +189,9 @@ See |:verbose-cmd| for more information.
189189
With the ! there is no error if the function does not
190190
exist.
191191
*:retu* *:return* *E133*
192-
:retu[rn] [expr] Return from a function. When "[expr]" is given, it is
192+
:retu[rn] [expr] Return from a function. When [expr] is given, it is
193193
evaluated and returned as the result of the function.
194-
If "[expr]" is not given, the number 0 is returned.
194+
If [expr] is not given, the number 0 is returned.
195195
When a function ends without an explicit ":return",
196196
the number 0 is returned.
197197

@@ -449,6 +449,15 @@ or altering execution outside of deferred functions.
449449
No range is accepted. The function can be a partial with extra arguments, but
450450
not with a dictionary. *E1300*
451451

452+
In a |:def| function, a lambda can be used with |:defer|. Example: >
453+
454+
def Fn()
455+
set lazyredraw
456+
defer () => {
457+
set lazyredraw&
458+
}()
459+
enddef
460+
<
452461
==============================================================================
453462

454463
4. Automatically loading functions ~

runtime/pack/dist/opt/netrw/autoload/netrw.vim

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
" 2025 Sep 18 by Vim Project 'equalalways' not always respected #18358
1212
" 2025 Oct 01 by Vim Project fix navigate to parent folder #18464
1313
" 2025 Oct 26 by Vim Project fix parsing of remote user names #18611
14+
" 2025 Oct 27 by Vim Project align comment after #18611
1415
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
1516
" Permission is hereby granted to use and distribute this code,
1617
" with or without modifications, provided that this copyright
@@ -9312,7 +9313,7 @@ endfunction
93129313
" s:RemotePathAnalysis: {{{2
93139314
function s:RemotePathAnalysis(dirname)
93149315

9315-
" method :// user @ machine :port /path
9316+
" method :// user @ machine :port /path
93169317
let dirpat = '^\(\w\{-}\)://\(\([^@]\+\)@\)\=\([^/:#]\+\)\%([:#]\(\d\+\)\)\=/\(.*\)$'
93179318
let s:method = substitute(a:dirname,dirpat,'\1','')
93189319
let s:user = substitute(a:dirname,dirpat,'\3','')

runtime/syntax/generator/vim.vim.base

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
" Language: Vim script
33
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
44
" Doug Kearns <dougkearns@gmail.com>
5-
" Last Change: 2025 Oct 22
5+
" Last Change: 2025 Oct 27
66
" Former Maintainer: Charles E. Campbell
77

88
" DO NOT CHANGE DIRECTLY.
@@ -318,7 +318,7 @@ syn match vimDebuggreedy "\<0\=debugg\%[reedy]\>" contains=vimCount
318318

319319
" Defer {{{2
320320
" =====
321-
syn match vimDefer "\<defer\=\>" skipwhite nextgroup=@vimFunc
321+
syn match vimDefer "\<defer\=\>" skipwhite nextgroup=@vimFunc,vim9LambdaParams
322322

323323
" Exception Handling {{{2
324324
syn keyword vimThrow th[row] skipwhite nextgroup=@vimExprList

runtime/syntax/testdir/dumps/vim_ex_defer_00.dump

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
|d+0#af5f00255&|e|f| +0#0000000&|B|a|r|(+0#e000e06&|)| +0#0000000&@65
1111
@2|d+0#af5f00255&|e|f|e|r| +0#0000000&|d+0#00e0e07&|e|l|e|t|e|(+0#e000e06&|"+0#e000002&|t|m|p|f|i|l|e|"|)+0#e000e06&| +0#0000000&@49
1212
@2|d+0#af5f00255&|e|f|e|r| +0#0000000&|D+0#0000001#ffff4012|e|l|e|t|e|(+0#e000e06#ffffff0|"+0#e000002&|t|m|p|f|i|l|e|"|)+0#e000e06&| +0#0000000&@49
13+
@2|d+0#af5f00255&|e|f|e|r| +0#0000000&|(+0#e000e06&|)| +0#0000000&|=+0#af5f00255&|>| +0#0000000&|{+0#e000e06&| +0#0000000&@59
14+
@4|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|.@2|"| +0#0000000&@60
15+
@2|}+0#e000e06&|(|)| +0#0000000&@69
1316
|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
1417
@75
1518
|~+0#4040ff13&| @73
1619
|~| @73
17-
|~| @73
18-
|~| @73
19-
|~| @73
2020
| +0#0000000&@56|1|,|1| @10|A|l@1|

runtime/syntax/testdir/input/vim_ex_defer.vim

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,8 @@ endfunction
1010
def Bar()
1111
defer delete("tmpfile")
1212
defer Delete("tmpfile")
13+
defer () => {
14+
echo "..."
15+
}()
1316
enddef
1417

0 commit comments

Comments
 (0)