Skip to content

Commit 4e39985

Browse files
committed
Merge remote-tracking branch 'vim/master'
2 parents 73ed6d9 + 0f4054f commit 4e39985

File tree

514 files changed

+11776
-3400
lines changed

Some content is hidden

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

514 files changed

+11776
-3400
lines changed

.github/CODEOWNERS_vim

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ runtime/autoload/freebasic.vim @dkearns
1313
runtime/autoload/getscript.vim @cecamp
1414
runtime/autoload/haskell.vim @alx741
1515
runtime/autoload/javascript.vim @jsit
16+
runtime/autoload/modula2.vim @dkearns
1617
runtime/autoload/netrw.vim @cecamp
1718
runtime/autoload/netrwFileHandlers.vim @cecamp
1819
runtime/autoload/netrwSettings.vim @cecamp
@@ -65,6 +66,7 @@ runtime/compiler/eruby.vim @dkearns
6566
runtime/compiler/fbc.vim @dkearns
6667
runtime/compiler/gawk.vim @dkearns
6768
runtime/compiler/gjs.vim @dkearns
69+
runtime/compiler/gm2.vim @dkearns
6870
runtime/compiler/go.vim @dbarnett
6971
runtime/compiler/haml.vim @tpope
7072
runtime/compiler/hare.vim @rsaihe
@@ -182,6 +184,7 @@ runtime/ftplugin/m3quake.vim @dkearns
182184
runtime/ftplugin/markdown.vim @tpope
183185
runtime/ftplugin/matlab.vim @cecamp
184186
runtime/ftplugin/meson.vim @Liambeguin
187+
runtime/ftplugin/modula2.vim @dkearns
185188
runtime/ftplugin/modula3.vim @dkearns
186189
runtime/ftplugin/nginx.vim @chr4
187190
runtime/ftplugin/nroff.vim @a-vrma
@@ -339,6 +342,7 @@ runtime/syntax/shared/hgcommitDiff.vim @vegerot
339342
runtime/syntax/abaqus.vim @costerwi
340343
runtime/syntax/aidl.vim @dpelle
341344
runtime/syntax/amiga.vim @cecamp
345+
runtime/syntax/ant.vim @dkearns
342346
runtime/syntax/arduino.vim @johshoff
343347
runtime/syntax/asciidoc.vim @aerostitch
344348
runtime/syntax/asm.vim @dkearns
@@ -355,6 +359,7 @@ runtime/syntax/cabalconfig.vim @coot
355359
runtime/syntax/cabalproject.vim @coot
356360
runtime/syntax/cf.vim @ernstvanderlinden
357361
runtime/syntax/chatito.vim @ObserverOfTime
362+
runtime/syntax/chuck.vim @gacallea
358363
runtime/syntax/clojure.vim @axvr
359364
runtime/syntax/cs.vim @nickspoons
360365
runtime/syntax/csh.vim @cecamp
@@ -442,6 +447,10 @@ runtime/syntax/maple.vim @cecamp
442447
runtime/syntax/markdown.vim @tpope
443448
runtime/syntax/mason.vim @petdance
444449
runtime/syntax/meson.vim @Liambeguin
450+
runtime/syntax/modula2.vim @dkearns
451+
runtime/syntax/modula2/opt/iso.vim @trijezdci
452+
runtime/syntax/modula2/opt/pim.vim @trijezdci
453+
runtime/syntax/modula2/opt/r10.vim @trijezdci
445454
runtime/syntax/modula3.vim @dkearns
446455
runtime/syntax/n1ql.vim @pr3d4t0r
447456
runtime/syntax/netrw.vim @cecamp

Filelist

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ SRC_ALL = \
2020
ci/config.mk*.sed \
2121
ci/if_ver*.vim \
2222
ci/setup-xvfb.sh \
23+
ci/remove_snap.sh \
2324
src/Make_all.mak \
2425
src/README.md \
2526
src/alloc.c \
@@ -818,6 +819,7 @@ RT_SCRIPTS = \
818819
runtime/plugin/README.txt \
819820
runtime/syntax/*.vim \
820821
runtime/syntax/README.txt \
822+
runtime/syntax/modula2/opt/*.vim \
821823
runtime/syntax/shared/*.vim \
822824
runtime/syntax/shared/README.txt \
823825
runtime/syntax/Makefile \
@@ -871,6 +873,7 @@ RT_DOS_BIN = \
871873
runtime/vimlogo.eps \
872874
runtime/vimlogo.gif \
873875
runtime/vimlogo.pdf \
876+
runtime/vimlogo.svg \
874877

875878
# Amiga runtime (also in the extra archive)
876879
RT_AMI = \
@@ -977,6 +980,7 @@ IN_README_DIR = \
977980
README_src.txt \
978981
README_srcdos.txt \
979982
README_unix.txt \
983+
README_vimlogo.txt \
980984
README_vms.txt \
981985
README_w32s.txt \
982986
Contents \

READMEdir/README_vimlogo.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
The Python project that creates `vimlogo.svg` can be found at
2+
`https://github.com/ShayHill/vimlogo`. The Vim license applies.
3+
4+
`vimlogo.svg` is an effort to remove errors and inadvertant inconsistencies
5+
from the original vim logo while maintaing the original design. `vimlogo.svg`
6+
is based on the `vimlogo.svg` file (previously?) found at
7+
`https://www.vim.org/logos.php`
8+
9+
As of 2024 Jan 30, `vimlogo.svg` is a separate project from `vimlogo.cdr`,
10+
`vimlogo.eps`, `vimlogo.gif`, `vimlogo.pdf`, and `vimlogo.xpm`, all of which
11+
are slightly different from each other.

READMEdir/README_vms.txt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,25 @@ src/INSTALLvms.txt.
1919

2020
To use the binary version, you need one of these archives:
2121

22-
vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables
23-
vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables
24-
vim-XX-exe-ia64-term.zip IA64 console executables
22+
vim-XX-exe-x86-gui.zip X86_64 GUI/Motif executables
23+
vim-XX-exe-x86-term.zip X86_64 console executables
24+
vim-XX-exe-ia64-gui.zip IA64 GUI/Motif executables
25+
vim-XX-exe-ia64-gtk.zip IA64 GUI/GTK executables
26+
vim-XX-exe-ia64-term.zip IA64 console executables
2527
vim-XX-exe-axp-gui.zip Alpha GUI/Motif executables
2628
vim-XX-exe-axp-gtk.zip Alpha GUI/GTK executables
27-
vim-XX-exe-axp-term.zip Alpha console executables
29+
vim-XX-exe-axp-term.zip Alpha console executables
2830
vim-XX-exe-vax-gui.zip VAX GUI executables
29-
vim-XX-exe-vax-term.zip VAX console executables
31+
vim-XX-exe-vax-term.zip VAX console executables
3032

3133
and of course
3234
vim-XX-runtime.zip runtime files
3335

3436
The binary archives contain: vim.exe, ctags.exe, xxd.exe files,
3537
but there are also prepared "deploy ready" archives:
3638

39+
vim-XX-x86.zip GUI and console executables with runtime and
40+
help files for X86_64 systems
3741
vim-XX-ia64.zip GUI and console executables with runtime and
3842
help files for IA64 systems
3943
vim-XX-axp.zip GUI and console executables with runtime and

ci/remove_snap.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!/usr/bin/env sh
2+
pushd /etc/apt/preferences.d/
3+
cat > nosnap.pref <<EOF
4+
# To prevent repository packages from triggering the installation of snap,
5+
# this file forbids snapd from being installed by APT.
6+
7+
Package: snapd
8+
Pin: release a=*
9+
Pin-Priority: -10
10+
EOF
11+
popd
12+
snap remove --purge $(snap list | awk '!/^Name|^core/ {print $1}')
13+
apt-get purge -y snapd

nsis/gvim.nsi

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,9 @@ Section "$(str_section_exe)" id_section_exe
397397
SetOutPath $0\indent
398398
File ${VIMRT}\indent\*.*
399399

400+
SetOutPath $0\keymap
401+
File ${VIMRT}\keymap\*.*
402+
400403
SetOutPath $0\macros
401404
File /r ${VIMRT}\macros\*.*
402405

@@ -416,7 +419,7 @@ Section "$(str_section_exe)" id_section_exe
416419
File ${VIMSRC}\vim.ico
417420

418421
SetOutPath $0\syntax
419-
File /r ${VIMRT}\syntax\*.*
422+
File /r /x testdir ${VIMRT}\syntax\*.*
420423

421424
SetOutPath $0\spell
422425
File ${VIMRT}\spell\*.txt

runtime/autoload/dist/ft.vim

Lines changed: 55 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ vim9script
22

33
# Vim functions for file type detection
44
#
5-
# Maintainer: The Vim Project <https://github.com/vim/vim>
6-
# Last Change: 2023 Aug 10
5+
# Maintainer: The Vim Project <https://github.com/vim/vim>
6+
# Last Change: 2024 Jan 05
77
# Former Maintainer: Bram Moolenaar <[email protected]>
88

99
# These functions are moved here from runtime/filetype.vim to make startup
@@ -279,6 +279,19 @@ export def DtraceCheck()
279279
endif
280280
enddef
281281

282+
export def FTdef()
283+
if get(g:, "filetype_def", "") == "modula2" || IsModula2()
284+
SetFiletypeModula2()
285+
return
286+
endif
287+
288+
if exists("g:filetype_def")
289+
exe "setf " .. g:filetype_def
290+
else
291+
setf def
292+
endif
293+
enddef
294+
282295
export def FTe()
283296
if exists('g:filetype_euphoria')
284297
exe 'setf ' .. g:filetype_euphoria
@@ -517,16 +530,53 @@ def IsLProlog(): bool
517530
return getline(lnum) =~ '\<module\s\+\w\+\s*\.\s*\(%\|$\)'
518531
enddef
519532

533+
def IsModula2(): bool
534+
return getline(nextnonblank(1)) =~ '\<MODULE\s\+\w\+\s*;\|^\s*(\*'
535+
enddef
536+
537+
def SetFiletypeModula2()
538+
const KNOWN_DIALECTS = ["iso", "pim", "r10"]
539+
const KNOWN_EXTENSIONS = ["gm2"]
540+
const LINE_COUNT = 200
541+
const TAG = '(\*!m2\(\w\+\)\%(+\(\w\+\)\)\=\*)'
542+
543+
var dialect = get(g:, "modula2_default_dialect", "pim")
544+
var extension = get(g:, "modula2_default_extension", "")
545+
546+
var matches = []
547+
548+
# ignore unknown dialects or badly formatted tags
549+
for lnum in range(1, min([line("$"), LINE_COUNT]))
550+
matches = matchlist(getline(lnum), TAG)
551+
if !empty(matches)
552+
if index(KNOWN_DIALECTS, matches[1]) >= 0
553+
dialect = matches[1]
554+
endif
555+
if index(KNOWN_EXTENSIONS, matches[2]) >= 0
556+
extension = matches[2]
557+
endif
558+
break
559+
endif
560+
endfor
561+
562+
modula2#SetDialect(dialect, extension)
563+
564+
setf modula2
565+
enddef
566+
520567
# Determine if *.mod is ABB RAPID, LambdaProlog, Modula-2, Modsim III or go.mod
521568
export def FTmod()
569+
if get(g:, "filetype_mod", "") == "modula2" || IsModula2()
570+
SetFiletypeModula2()
571+
return
572+
endif
573+
522574
if exists("g:filetype_mod")
523575
exe "setf " .. g:filetype_mod
524576
elseif expand("<afile>") =~ '\<go.mod$'
525577
setf gomod
526578
elseif IsLProlog()
527579
setf lprolog
528-
elseif getline(nextnonblank(1)) =~ '\%(\<MODULE\s\+\w\+\s*;\|^\s*(\*\)'
529-
setf modula2
530580
elseif IsRapid()
531581
setf rapid
532582
else
@@ -1243,4 +1293,4 @@ export def FTvba()
12431293
enddef
12441294

12451295
# Uncomment this line to check for compilation errors early
1246-
# defcompile
1296+
defcompile

runtime/autoload/dist/man.vim

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
" Maintainer: Jason Franklin <[email protected]>
44
" Maintainer: SungHyun Nam <[email protected]>
55
" Autoload Split: Bram Moolenaar
6-
" Last Change: 2023 Jun 28
6+
" Last Change: 2024 Jan 17 (make it work on AIX, see #13847)
77

88
let s:cpo_save = &cpo
99
set cpo-=C
@@ -13,14 +13,26 @@ let s:man_tag_depth = 0
1313
let s:man_sect_arg = ""
1414
let s:man_find_arg = "-w"
1515
try
16-
if !has("win32") && $OSTYPE !~ 'cygwin\|linux' && system('uname -s') =~ "SunOS" && system('uname -r') =~ "^5"
17-
let s:man_sect_arg = "-s"
18-
let s:man_find_arg = "-l"
16+
if !has("win32") && $OSTYPE !~ 'cygwin\|linux'
17+
" cache the value
18+
let uname_s = system('uname -s')
19+
20+
if uname_s =~ "SunOS" && system('uname -r') =~ "^5"
21+
" Special Case for Man on SunOS
22+
let s:man_sect_arg = "-s"
23+
let s:man_find_arg = "-l"
24+
elseif uname_s =~? 'AIX'
25+
" Special Case for Man on AIX
26+
let s:man_sect_arg = ""
27+
let s:man_find_arg = ""
28+
endif
1929
endif
2030
catch /E145:/
2131
" Ignore the error in restricted mode
2232
endtry
2333

34+
unlet! uname_s
35+
2436
func s:ParseIntoPageAndSection()
2537
" Accommodate a reference that terminates in a hyphen.
2638
"

runtime/autoload/modula2.vim

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
" Vim filetype plugin file
2+
" Language: Modula-2
3+
" Maintainer: Doug Kearns <[email protected]>
4+
" Last Change: 2024 Jan 04
5+
6+
" Dialect can be one of pim, iso, r10
7+
function modula2#GetDialect() abort
8+
9+
if exists("b:modula2.dialect")
10+
return b:modula2.dialect
11+
endif
12+
13+
if exists("g:modula2_default_dialect")
14+
let dialect = g:modula2_default_dialect
15+
else
16+
let dialect = "pim"
17+
endif
18+
19+
return dialect
20+
endfunction
21+
22+
function modula2#SetDialect(dialect, extension = "") abort
23+
if exists("b:modula2")
24+
unlockvar! b:modula2
25+
endif
26+
27+
let b:modula2 = #{ dialect: a:dialect, extension: a:extension }
28+
lockvar! b:modula2
29+
endfunction
30+
31+
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:

0 commit comments

Comments
 (0)