Skip to content

Commit d25ae00

Browse files
committed
Merge remote-tracking branch 'vim/master'
2 parents cf2c1e7 + a87462a commit d25ae00

File tree

209 files changed

+8565
-2397
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

209 files changed

+8565
-2397
lines changed

.cirrus.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,10 @@ freebsd_task:
2222
- chown -R cirrus:cirrus .
2323
- sudo -u cirrus make test
2424
on_failure:
25-
screendump_artifacts:
25+
test_artifacts:
2626
name: "Cirrus-CI-freebsd-failed-tests"
2727
path: |
28+
runtime/indent/testdir/*.fail
2829
runtime/syntax/testdir/failed/*
2930
src/testdir/failed/*
3031
type: application/octet-stream

.editorconfig

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# https://spec.editorconfig.org/#supported-pairs
2+
root = true
3+
4+
[*]
5+
indent_style = tab
6+
tab_width = 8
7+
trim_trailing_whitespace = true
8+
insert_final_newline = true
9+
10+
[*.{c,h,proto}]
11+
indent_size = 4
12+
13+
[*.{md,yml,sh,bat}]
14+
# This will become the default after we migrate the codebase
15+
indent_style = space
16+
indent_size = 2
17+
18+
[*.md]
19+
# Markdown uses trailing whitespaces to do an hard line break
20+
# https://spec.commonmark.org/0.31.2/#hard-line-breaks
21+
trim_trailing_whitespace = false
22+
23+
[runtime/doc/**.txt]
24+
# It can mess up some documentation by trying to strip trailing whitespaces
25+
trim_trailing_whitespace = false

.git-blame-ignore-revs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# When making commits that are strictly formatting/style changes, add the
2+
# commit hash here, so git blame can ignore the change. See docs for more details:
3+
#
4+
# https://git-scm.com/docs/git-config#Documentation/git-config.txt-blameignoreRevsFile
5+
#
6+
# Run this command to always ignore formatting commits in git blame
7+
# git config blame.ignoreRevsFile .git-blame-ignore-revs
8+
9+
# Patch v9.1.0829 expanded tabs to spaces in sound.c
10+
8ce738de3fd7192fa6274730594305cde780074c

.github/MAINTAINERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ runtime/ftplugin/chatito.vim @ObserverOfTime
128128
runtime/ftplugin/chicken.vim @evhan
129129
runtime/ftplugin/clojure.vim @axvr
130130
runtime/ftplugin/cmakecache.vim @ribru17
131+
runtime/ftplugin/cook.vim @ribru17
131132
runtime/ftplugin/cs.vim @nickspoons
132133
runtime/ftplugin/csh.vim @dkearns
133134
runtime/ftplugin/css.vim @dkearns
@@ -201,6 +202,7 @@ runtime/ftplugin/kdl.vim @imsnif @jiangyinzuo
201202
runtime/ftplugin/kivy.vim @ribru17
202203
runtime/ftplugin/kotlin.vim @udalov
203204
runtime/ftplugin/ldapconf.vim @ribru17
205+
runtime/ftplugin/leo.vim @ribru17
204206
runtime/ftplugin/less.vim @genoma
205207
runtime/ftplugin/lex.vim @ribru17
206208
runtime/ftplugin/liquid.vim @tpope
@@ -215,6 +217,7 @@ runtime/ftplugin/meson.vim @Liambeguin
215217
runtime/ftplugin/modula2.vim @dkearns
216218
runtime/ftplugin/modula3.vim @dkearns
217219
runtime/ftplugin/mojo.vim @ribru17
220+
runtime/ftplugin/mss.vim @Freed-Wu
218221
runtime/ftplugin/nginx.vim @chr4
219222
runtime/ftplugin/nim.vim @ribru17
220223
runtime/ftplugin/nroff.vim @a-vrma
@@ -263,6 +266,7 @@ runtime/ftplugin/squirrel.vim @ribru17
263266
runtime/ftplugin/ssa.vim @ObserverOfTime
264267
runtime/ftplugin/sshdconfig.vim @jiangyinzuo
265268
runtime/ftplugin/svelte.vim @igorlfs
269+
runtime/ftplugin/sway.vim @ribru17
266270
runtime/ftplugin/swayconfig.vim @jamespeapen
267271
runtime/ftplugin/systemverilog.vim @Kocha
268272
runtime/ftplugin/swig.vim @jmarrec
@@ -513,6 +517,7 @@ runtime/syntax/modula2/opt/iso.vim @trijezdci
513517
runtime/syntax/modula2/opt/pim.vim @trijezdci
514518
runtime/syntax/modula2/opt/r10.vim @trijezdci
515519
runtime/syntax/modula3.vim @dkearns
520+
runtime/syntax/mss.vim @Freed-Wu
516521
runtime/syntax/n1ql.vim @pr3d4t0r
517522
runtime/syntax/nginx.vim @chr4
518523
runtime/syntax/ninja.vim @nico

.github/actions/screendump/action.yml renamed to .github/actions/test_artifacts/action.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
name: 'screendump'
2-
description: "Upload failed screendump tests"
1+
name: 'test_artifacts'
2+
description: "Upload failed test artifacts"
33
runs:
44
using: "composite"
55
steps:
@@ -12,6 +12,7 @@ runs:
1212
# A file, directory or wildcard pattern that describes what
1313
# to upload.
1414
path: |
15+
${{ github.workspace }}/runtime/indent/testdir/*.fail
1516
${{ github.workspace }}/runtime/syntax/testdir/failed/*
1617
${{ github.workspace }}/src/testdir/failed/*
1718
# The desired behavior if no files are found using the

.github/workflows/ci-macvim.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ jobs:
366366

367367
- name: Upload failed test files
368368
if: ${{ !cancelled() && failure() }}
369-
uses: ./.github/actions/screendump
369+
uses: ./.github/actions/test_artifacts
370370

371371
- name: Test Vim (GUI)
372372
timeout-minutes: 25

Filelist

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,20 @@
55
SRC_ALL = \
66
.cirrus.yml \
77
.gitattributes \
8+
.git-blame-ignore-revs \
89
.github/MAINTAINERS \
910
.github/ISSUE_TEMPLATE/bug_report.yml \
1011
.github/ISSUE_TEMPLATE/feature_request.md \
1112
.github/workflows/ci.yml \
1213
.github/workflows/codeql-analysis.yml \
13-
.github/actions/screendump/action.yml \
1414
.github/workflows/coverity.yml \
15+
.github/actions/test_artifacts/action.yml \
1516
.github/dependabot.yml \
1617
.gitignore \
1718
.hgignore \
1819
.appveyor.yml \
1920
.codecov.yml \
21+
.editorconfig \
2022
ci/appveyor.bat \
2123
ci/config.mk*.sed \
2224
ci/if_ver*.vim \
@@ -761,7 +763,13 @@ RT_ALL = \
761763
runtime/tools/[a-z]*[a-z0-9] \
762764
runtime/tutor/README.txt \
763765
runtime/tutor/tutor \
766+
runtime/tutor/en/vim-01-beginner.tutor \
767+
runtime/tutor/en/vim-01-beginner.tutor.json \
768+
runtime/tutor/tutor.tutor \
769+
runtime/tutor/tutor.tutor.json \
764770
runtime/tutor/tutor.vim \
771+
runtime/tutor/tutor2 \
772+
runtime/tutor/tutor2.utf-8 \
765773
runtime/vimrc_example.vim \
766774
runtime/pack/dist/opt/cfilter/plugin/cfilter.vim \
767775
runtime/pack/dist/opt/comment/plugin/comment.vim \
@@ -783,6 +791,8 @@ RT_ALL = \
783791
runtime/pack/dist/opt/editorconfig/doc/editorconfig.txt \
784792
runtime/pack/dist/opt/editorconfig/ftdetect/editorconfig.vim \
785793
runtime/pack/dist/opt/editorconfig/plugin/editorconfig.vim \
794+
runtime/pack/dist/opt/helptoc/autoload/helptoc.vim \
795+
runtime/pack/dist/opt/helptoc/plugin/helptoc.vim \
786796
runtime/pack/dist/opt/justify/plugin/justify.vim \
787797
runtime/pack/dist/opt/matchit/plugin/matchit.vim \
788798
runtime/pack/dist/opt/matchit/doc/matchit.txt \

runtime/autoload/dist/ft.vim

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,14 @@ export def FTcls()
169169
endif
170170
enddef
171171

172+
export def FTll()
173+
if getline(1) =~ ';\|\<source_filename\>\|\<target\>'
174+
setf llvm
175+
else
176+
setf lifelines
177+
endif
178+
enddef
179+
172180
export def FTlpc()
173181
if exists("g:lpc_syntax_for_c")
174182
var lnum = 1

runtime/autoload/dist/vimindent.vim

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,11 @@ vim9script
22

33
# Language: Vim script
44
# Maintainer: github user lacygoill
5-
# Last Change: 2023 Jun 29
5+
# Last Change: 2024 Nov 08
66
#
7-
# Includes Changes from Vim:
7+
# Includes changes from The Vim Project:
88
# - 2024 Feb 09: Fix indent after literal Dict (A. Radev via #13966)
9+
# - 2024 Nov 08: Fix indent after :silent! function (D. Kearns via #16009)
910

1011
# NOTE: Whenever you change the code, make sure the tests are still passing:
1112
#
@@ -295,7 +296,7 @@ patterns = []
295296
endfor
296297
}
297298

298-
const STARTS_NAMED_BLOCK: string = $'^\s*\%(sil\%[ent]\s\+\)\=\%({patterns->join('\|')}\)\>\%(\s\|$\|!\)\@='
299+
const STARTS_NAMED_BLOCK: string = $'^\s*\%(sil\%[ent]!\=\s\+\)\=\%({patterns->join('\|')}\)\>\%(\s\|$\|!\)\@='
299300

300301
# STARTS_CURLY_BLOCK {{{3
301302

runtime/autoload/getscript.vim

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
" 2024 Sep 23 by Vim Project: runtime dir selection fix (#15722)
1212
" autoloading search path fix
1313
" substitution of hardcoded commands with global variables
14+
" 2024 Nov 12 by Vim Project: fix problems on Windows (#16036)
1415
" }}}
1516
"
1617
" GetLatestVimScripts: 642 1 :AutoInstall: getscript.vim
@@ -27,9 +28,9 @@ if &cp
2728
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
2829
finish
2930
endif
30-
if v:version < 702
31+
if v:version < 901
3132
echohl WarningMsg
32-
echo "***warning*** this version of GetLatestVimScripts needs vim 7.2"
33+
echo "***warning*** this version of GetLatestVimScripts needs vim 9.1"
3334
echohl Normal
3435
finish
3536
endif
@@ -57,6 +58,9 @@ endif
5758
if !exists("g:GetLatestVimScripts_wget")
5859
if executable("wget")
5960
let g:GetLatestVimScripts_wget= "wget"
61+
elseif executable("curl.exe")
62+
" enforce extension: windows powershell desktop version has a curl alias that hides curl.exe
63+
let g:GetLatestVimScripts_wget= "curl.exe"
6064
elseif executable("curl")
6165
let g:GetLatestVimScripts_wget= "curl"
6266
else
@@ -69,7 +73,7 @@ endif
6973
if !exists("g:GetLatestVimScripts_options")
7074
if g:GetLatestVimScripts_wget == "wget"
7175
let g:GetLatestVimScripts_options= "-q -O"
72-
elseif g:GetLatestVimScripts_wget == "curl"
76+
elseif g:GetLatestVimScripts_wget =~ "curl"
7377
let g:GetLatestVimScripts_options= "-s -o"
7478
else
7579
let g:GetLatestVimScripts_options= ""
@@ -121,11 +125,14 @@ if g:GetLatestVimScripts_allowautoinstall
121125
let s:dotvim= s:is_windows ? "vimfiles" : ".vim"
122126

123127
if !exists("g:GetLatestVimScripts_mv")
124-
if s:is_windows && &shell !~ '\cbash\|pwsh\|powershell'
128+
if &shell =~? '\<pwsh\>\|\<powershell\>'
129+
let g:GetLatestVimScripts_mv= "move -Force"
130+
elseif s:is_windows && &shell =~? '\<cmd\>'
125131
" windows (but not cygwin/bash)
126-
let g:GetLatestVimScripts_mv= "move"
132+
let g:GetLatestVimScripts_mv= "move /Y"
127133
else
128-
" unix
134+
" unix or cygwin bash/zsh
135+
" 'mv' overrides existing files without asking
129136
let g:GetLatestVimScripts_mv= "mv"
130137
endif
131138
endif
@@ -160,12 +167,6 @@ fun! getscript#GetLatestVimScripts()
160167
return
161168
endif
162169

163-
" insure that fnameescape() is available
164-
if !exists("*fnameescape")
165-
echoerr "GetLatestVimScripts needs fnameescape() (provided by 7.1.299 or later)"
166-
return
167-
endif
168-
169170
" Find the .../GetLatest subdirectory under the runtimepath
170171
for datadir in split(&rtp,',') + ['']
171172
if isdirectory(datadir."/GetLatest")
@@ -377,7 +378,16 @@ fun! s:GetOneScript(...)
377378
let t_ti= &t_ti
378379
let t_te= &t_te
379380
let rs = &rs
381+
let ssl = &ssl
382+
380383
set t_ti= t_te= nors
384+
" avoid issues with shellescape() on Windows
385+
if s:is_windows && &shell =~? '\<cmd\>'
386+
set noshellslash
387+
endif
388+
389+
" restore valures afterwards
390+
defer execute("let @a = rega | let &t_ti = t_ti | let &t_te = t_te | let &rs = rs | let &ssl = ssl")
381391

382392
" put current line on top-of-screen and interpret it into
383393
" a script identifier : used to obtain webpage
@@ -394,7 +404,6 @@ fun! s:GetOneScript(...)
394404
else
395405
let curline = getline(".")
396406
if curline =~ '^\s*#'
397-
let @a= rega
398407
" call Dret("GetOneScript : skipping a pure comment line")
399408
return
400409
endif
@@ -429,7 +438,6 @@ fun! s:GetOneScript(...)
429438
" plugin author protection from downloading his/her own scripts atop their latest work
430439
if scriptid == 0 || srcid == 0
431440
" When looking for :AutoInstall: lines, skip scripts that have 0 0 scriptname
432-
let @a= rega
433441
" call Dret("GetOneScript : skipping a scriptid==srcid==0 line")
434442
return
435443
endif
@@ -497,7 +505,6 @@ fun! s:GetOneScript(...)
497505
" call Decho("***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">")
498506
echomsg "***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">"
499507
" call Dret("GetOneScript : srch for /Click on the package/ failed")
500-
let @a= rega
501508
return
502509
endif
503510
" call Decho('found "Click on the package to download"')
@@ -513,7 +520,6 @@ fun! s:GetOneScript(...)
513520
let s:downerrors = s:downerrors + 1
514521
" call Decho("***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">")
515522
echomsg "***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">"
516-
let @a= rega
517523
" call Dret("GetOneScript : srch for /src_id/ failed")
518524
return
519525
endif
@@ -547,11 +553,11 @@ fun! s:GetOneScript(...)
547553
" call Decho(".downloading new <".sname.">")
548554
echomsg ".downloading new <".sname.">"
549555
if has("win32") || has("win16") || has("win95")
550-
" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)."|q")
551-
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)|q
556+
" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)."|bw!")
557+
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)|bw!
552558
else
553-
" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr).latestsrcid
554-
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr).latestsrcid
559+
" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)
560+
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape(g:GetLatestVimScripts_downloadaddr.latestsrcid)
555561
endif
556562

557563
" --------------------------------------------------------------------------
@@ -654,8 +660,8 @@ fun! s:GetOneScript(...)
654660
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".installdir
655661
endif
656662
if tgtdir != "plugin"
657-
" call Decho("exe silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir)
658-
exe "silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir
663+
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape("plugin/".pname)." ".tgtdir)
664+
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape("plugin/".pname)." ".tgtdir
659665
endif
660666

661667
" helptags step
@@ -680,13 +686,7 @@ fun! s:GetOneScript(...)
680686
" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."], no need to update")
681687
endif
682688

683-
" restore options
684-
let &t_ti = t_ti
685-
let &t_te = t_te
686-
let &rs = rs
687-
let @a = rega
688689
" call Dredir("BUFFER TEST (GetOneScript)","ls!")
689-
690690
" call Dret("GetOneScript")
691691
endfun
692692

0 commit comments

Comments
 (0)