Skip to content

Commit 2b7f6ee

Browse files
committed
Merge remote-tracking branch 'vim/master'
2 parents 4177195 + 0ef9a5c commit 2b7f6ee

158 files changed

Lines changed: 8049 additions & 5272 deletions

File tree

Some content is hidden

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

.appveyor.yml

Lines changed: 25 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,31 @@
11
version: "{build}"
22

3+
image: Visual Studio 2015
4+
35
skip_tags: true
46

57
environment:
68
matrix:
79
- FEATURE: HUGE
10+
11+
# Alternate environments, not used right now. 2022 is a lot slower.
12+
#
13+
# - job_name: VS-2015
14+
# appveyor_build_worker_image: Visual Studio 2015
15+
# FEATURE: HUGE
16+
17+
# - job_name: VS-2017
18+
# appveyor_build_worker_image: Visual Studio 2017
19+
# FEATURE: HUGE
20+
21+
# - job_name: VS-2019
22+
# appveyor_build_worker_image: Visual Studio 2019
23+
# FEATURE: HUGE
24+
25+
# - job_name: VS-2022
26+
# appveyor_build_worker_image: Visual Studio 2022
27+
# FEATURE: HUGE
28+
829
# disabled
930
# - FEATURE: TINY
1031
# - FEATURE: NORMAL
@@ -14,20 +35,14 @@ matrix:
1435
fast_finish: true
1536

1637
before_build:
17-
# Use Visual Studio 2015 compiler tools (default is 2012)
18-
- '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64'
38+
- call ver
39+
- ci\appveyor.bat install
1940

2041
build_script:
21-
- ci/appveyor.bat
42+
- ci\appveyor.bat build
2243

2344
test_script:
24-
- cd src/testdir
25-
# Testing with MSVC gvim
26-
- path C:\Python35-x64;%PATH%
27-
- nmake -f Make_mvc.mak VIMPROG=..\gvim
28-
- nmake -f Make_mvc.mak clean
29-
# Testing with MSVC console version
30-
- nmake -f Make_mvc.mak VIMPROG=..\vim
45+
- ci\appveyor.bat test
3146

3247
artifacts:
3348
- path: src/vim.exe

.github/CODEOWNERS_vim

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,6 +334,7 @@ runtime/syntax/dot.vim @mmottl
334334
runtime/syntax/doxygen.vim @frogonwheels
335335
runtime/syntax/dtd.vim @chrisbra
336336
runtime/syntax/dts.vim @zonque
337+
runtime/syntax/editorconfig.vim @gpanders
337338
runtime/syntax/eiffel.vim @jocelyn
338339
runtime/syntax/elmfilt.vim @cecamp
339340
runtime/syntax/erlang.vim @hcs42
@@ -374,6 +375,7 @@ runtime/syntax/indent.vim @dkearns
374375
runtime/syntax/j.vim @glts
375376
runtime/syntax/jargon.vim @h3xx
376377
runtime/syntax/java.vim @fleiner
378+
runtime/syntax/javascript.vim @fleiner
377379
runtime/syntax/jsonc.vim @izhakjakov
378380
runtime/syntax/julia.vim @carlobaldassi
379381
runtime/syntax/kconfig.vim @chrisbra

README_vim.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[![Vim Logo](https://github.com/vim/vim/raw/master/runtime/vimlogo.gif)](https://www.vim.org)
22

3-
[![Github Build status](https://github.com/vim/vim/workflows/GitHub%20CI/badge.svg)](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22) [![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim) [![Cirrus Build Status](https://api.cirrus-ci.com/github/vim/vim.svg)](https://cirrus-ci.com/github/vim/vim) [![Coverage Status](https://codecov.io/gh/vim/vim/coverage.svg?branch=master)](https://codecov.io/gh/vim/vim?branch=master) [![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim) [![Language Grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/vim/vim.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/vim/vim/context:cpp) [![Debian CI](https://badges.debian.net/badges/debian/testing/vim/version.svg)](https://buildd.debian.org/vim) [![Packages](https://repology.org/badge/tiny-repos/vim.svg)](https://repology.org/metapackage/vim) [![Fossies codespell report](https://fossies.org/linux/test/vim-master.tar.gz/codespell.svg)](https://fossies.org/linux/test/vim-master.tar.gz/codespell.html)
3+
[![Github Build status](https://github.com/vim/vim/workflows/GitHub%20CI/badge.svg)](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22) [![Appveyor Build status](https://ci.appveyor.com/api/projects/status/o2qht2kjm02sgghk?svg=true)](https://ci.appveyor.com/project/chrisbra/vim) [![Cirrus Build Status](https://api.cirrus-ci.com/github/vim/vim.svg)](https://cirrus-ci.com/github/vim/vim) [![Coverage Status](https://codecov.io/gh/vim/vim/coverage.svg?branch=master)](https://codecov.io/gh/vim/vim?branch=master) [![Coverity Scan](https://scan.coverity.com/projects/241/badge.svg)](https://scan.coverity.com/projects/vim) [![Debian CI](https://badges.debian.net/badges/debian/testing/vim/version.svg)](https://buildd.debian.org/vim) [![Packages](https://repology.org/badge/tiny-repos/vim.svg)](https://repology.org/metapackage/vim) [![Fossies codespell report](https://fossies.org/linux/test/vim-master.tar.gz/codespell.svg)](https://fossies.org/linux/test/vim-master.tar.gz/codespell.html)
44

55
<sub>For translations of this README see the end.</sub>
66

ci/appveyor.bat

Lines changed: 74 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,54 @@
11
@echo off
22
:: Batch file for building/testing Vim on AppVeyor
3+
set target=%1
34

45
setlocal ENABLEDELAYEDEXPANSION
56
cd %APPVEYOR_BUILD_FOLDER%
67

8+
:: Python3
9+
set PYTHON3_VER=311
10+
set PYTHON3_RELEASE=3.11.1
11+
set PYTHON3_URL=https://www.python.org/ftp/python/%PYTHON3_RELEASE%/python-%PYTHON3_RELEASE%-amd64.exe
12+
set PYTHON3_DIR=C:\python%PYTHON3_VER%-x64
13+
14+
set "VSWHERE=%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe"
15+
16+
if exist "%VSWHERE%" (
17+
for /f "usebackq delims=" %%i in (
18+
`"%VSWHERE%" -products * -latest -property installationPath`
19+
) do (
20+
set "VCVARSALL=%%i\VC\Auxiliary\Build\vcvarsall.bat"
21+
)
22+
)
23+
24+
if not exist "%VCVARSALL%" (
25+
set "VCVARSALL=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
26+
)
27+
call "%VCVARSALL%" x64
28+
29+
goto %target%
30+
echo Unknown build target.
31+
exit 1
32+
33+
:: ----------------------------------------------------------------------------
34+
:install
35+
@echo on
36+
if not exist downloads mkdir downloads
37+
38+
:: Python 3
39+
if not exist %PYTHON3_DIR% (
40+
call :downloadfile %PYTHON3_URL% downloads\python3.exe
41+
cmd /c start /wait downloads\python3.exe /quiet TargetDir=%PYTHON3_DIR% ^
42+
Include_pip=0 Include_tcltk=0 Include_test=0 Include_tools=0 ^
43+
AssociateFiles=0 Shortcuts=0 Include_doc=0 Include_launcher=0 ^
44+
InstallLauncherAllUsers=0
45+
)
46+
@echo off
47+
goto :eof
48+
49+
:: ----------------------------------------------------------------------------
50+
:build
51+
752
cd src
853

954
echo "Building MSVC 64bit console Version"
@@ -22,7 +67,7 @@ if "%FEATURE%" == "HUGE" (
2267
nmake -f Make_mvc.mak CPU=AMD64 ^
2368
OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no POSTSCRIPT=yes ^
2469
PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 ^
25-
PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35-x64 ^
70+
PYTHON3_VER=%PYTHON3_VER% DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^
2671
FEATURES=%FEATURE%
2772
) ELSE (
2873
nmake -f Make_mvc.mak CPU=AMD64 ^
@@ -39,4 +84,31 @@ echo "version output MSVC console"
3984
.\vim --version || exit 1
4085
echo "version output MSVC GUI"
4186
type ver_msvc.txt || exit 1
42-
cd ..
87+
88+
goto :eof
89+
90+
:: ----------------------------------------------------------------------------
91+
:test
92+
@echo on
93+
cd src/testdir
94+
:: Testing with MSVC gvim
95+
path %PYTHON3_DIR%;%PATH%
96+
nmake -f Make_mvc.mak VIMPROG=..\gvim
97+
nmake -f Make_mvc.mak clean
98+
:: Testing with MSVC console version
99+
nmake -f Make_mvc.mak VIMPROG=..\vim
100+
101+
@echo off
102+
goto :eof
103+
104+
:: ----------------------------------------------------------------------------
105+
:downloadfile
106+
:: call :downloadfile <URL> <localfile>
107+
if not exist %2 (
108+
curl -f -L %1 -o %2
109+
)
110+
if ERRORLEVEL 1 (
111+
rem Retry once.
112+
curl -f -L %1 -o %2 || exit 1
113+
)
114+
@goto :eof

nsis/README.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ To build the installable .exe:
2929

3030
4. Get a "diff.exe" program. If you skip this the built-in diff will always
3131
be used (which is fine for most users). If you do have your own
32-
"diff.exe" put it in the "../.." directory (above the "vim82" directory,
32+
"diff.exe" put it in the "../.." directory (above the "vim90" directory,
3333
it's the same for all Vim versions).
3434
You can find one in previous Vim versions or in this archive:
3535
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
3636

37-
5 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim82"
37+
5 Also put winpty32.dll and winpty-agent.exe in "../.." (above the "vim90"
3838
directory). This is required for the terminal window.
3939

4040
6. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have

runtime/autoload/dist/vimindent.vim

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ vim9script
22

33
# Language: Vim script
44
# Maintainer: github user lacygoill
5-
# Last Change: 2022 Oct 15
5+
# Last Change: 2023 Jan 03
66

77
# NOTE: Whenever you change the code, make sure the tests are still passing:
88
#
@@ -201,6 +201,7 @@ const ENDS_BLOCK: string = '^\s*\%('
201201
.. '\|' .. 'endw\%[hile]'
202202
.. '\|' .. 'endt\%[ry]'
203203
.. '\|' .. 'enddef'
204+
.. '\|' .. 'endclass'
204205
.. '\|' .. 'endf\%[unction]'
205206
.. '\|' .. 'aug\%[roup]\s\+[eE][nN][dD]'
206207
.. '\|' .. CLOSING_BRACKET
@@ -212,6 +213,7 @@ patterns =<< trim END
212213
en\%[dif]
213214
el\%[se]
214215
endfor\=
216+
endclass
215217
endw\%[hile]
216218
endt\%[ry]
217219
fina\|finally\=
@@ -251,6 +253,7 @@ patterns =<< trim END
251253
el\%[se]
252254
elseif\=
253255
for
256+
class
254257
wh\%[ile]
255258
try
256259
cat\%[ch]
@@ -278,6 +281,8 @@ const START_MIDDLE_END: dict<list<string>> = {
278281
endif: ['if', 'el\%[se]\|elseif\=', 'en\%[dif]'],
279282
for: ['for', '', 'endfor\='],
280283
endfor: ['for', '', 'endfor\='],
284+
class: ['class', '', 'endclass'],
285+
endclass: ['class', '', 'endclass'],
281286
while: ['wh\%[ile]', '', 'endw\%[hile]'],
282287
endwhile: ['wh\%[ile]', '', 'endw\%[hile]'],
283288
try: ['try', 'cat\%[ch]\|fina\|finally\=', 'endt\%[ry]'],

runtime/doc/builtin.txt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ getbufline({buf}, {lnum} [, {end}])
211211
getbufoneline({buf}, {lnum}) String line {lnum} of buffer {buf}
212212
getbufvar({buf}, {varname} [, {def}])
213213
any variable {varname} in buffer {buf}
214+
getcellwidths() List get character cell width overrides
214215
getchangelist([{buf}]) List list of change list items
215216
getchar([expr]) Number or String
216217
get one character from the user
@@ -3264,6 +3265,13 @@ getbufvar({buf}, {varname} [, {def}]) *getbufvar()*
32643265
< Can also be used as a |method|: >
32653266
GetBufnr()->getbufvar(varname)
32663267
<
3268+
getcellwidths() *getcellwidths()*
3269+
Returns a |List| of cell widths of character ranges overridden
3270+
by |setcellwidths()|. The format is equal to the argument of
3271+
|setcellwidths()|. If no character ranges have their cell
3272+
widths overridden, an empty List is returned.
3273+
3274+
32673275
getchangelist([{buf}]) *getchangelist()*
32683276
Returns the |changelist| for the buffer {buf}. For the use
32693277
of {buf}, see |bufname()| above. If buffer {buf} doesn't
@@ -9971,6 +9979,8 @@ type({expr}) The result is a Number representing the type of {expr}.
99719979
Job: 8 |v:t_job|
99729980
Channel: 9 |v:t_channel|
99739981
Blob: 10 |v:t_blob|
9982+
Class 12 |v:t_class|
9983+
Object 13 |v:t_object|
99749984
For backward compatibility, this method can be used: >
99759985
:if type(myvar) == type(0)
99769986
:if type(myvar) == type("")
@@ -9991,7 +10001,7 @@ typename({expr}) *typename()*
999110001
Return a string representation of the type of {expr}.
999210002
Example: >
999310003
echo typename([1, 2, 3])
9994-
list<number>
10004+
< list<number> ~
999510005

999610006

999710007
undofile({name}) *undofile()*

runtime/doc/eval.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*eval.txt* For Vim version 9.0. Last change: 2022 Dec 11
1+
*eval.txt* For Vim version 9.0. Last change: 2023 Jan 03
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2516,6 +2516,10 @@ v:t_number Value of |Number| type. Read-only. See: |type()|
25162516
v:t_string Value of |String| type. Read-only. See: |type()|
25172517
*v:t_blob* *t_blob-variable*
25182518
v:t_blob Value of |Blob| type. Read-only. See: |type()|
2519+
*v:t_class* *t_class-variable*
2520+
v:t_class Value of |class| type. Read-only. See: |type()|
2521+
*v:t_object* *t_object-variable*
2522+
v:t_object Value of |object| type. Read-only. See: |type()|
25192523

25202524
*v:termresponse* *termresponse-variable*
25212525
v:termresponse The escape sequence returned by the terminal for the |t_RV|
@@ -2982,6 +2986,8 @@ text...
29822986
deleted when the script ends). Function-local
29832987
variables are automatically deleted when the function
29842988
ends.
2989+
In |Vim9| script variables declared in a function or
2990+
script cannot be removed.
29852991

29862992
:unl[et] ${env-name} ... *:unlet-environment* *:unlet-$*
29872993
Remove environment variable {env-name}.

runtime/doc/index.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*index.txt* For Vim version 9.0. Last change: 2022 Oct 15
1+
*index.txt* For Vim version 9.0. Last change: 2023 Jan 09
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1239,6 +1239,7 @@ tag command action ~
12391239
|:checkpath| :che[ckpath] list included files
12401240
|:checktime| :checkt[ime] check timestamp of loaded buffers
12411241
|:chistory| :chi[story] list the error lists
1242+
|:class| :class start of a class specification
12421243
|:clast| :cla[st] go to the specified error, default last one
12431244
|:clearjumps| :cle[arjumps] clear the jump list
12441245
|:clist| :cl[ist] list all errors
@@ -1313,6 +1314,7 @@ tag command action ~
13131314
|:else| :el[se] part of an :if command
13141315
|:elseif| :elsei[f] part of an :if command
13151316
|:emenu| :em[enu] execute a menu by name
1317+
|:endclass| :endclass end of a class specification
13161318
|:enddef| :enddef end of a user function started with :def
13171319
|:endif| :en[dif] end previous :if
13181320
|:endfor| :endfo[r] end previous :for
@@ -1531,6 +1533,7 @@ tag command action ~
15311533
|:ptprevious| :ptp[revious] |:tprevious| in preview window
15321534
|:ptrewind| :ptr[ewind] |:trewind| in preview window
15331535
|:ptselect| :pts[elect] |:tselect| and show tag in preview window
1536+
|:public| :public prefix for a class or object member
15341537
|:put| :pu[t] insert contents of register in the text
15351538
|:pwd| :pw[d] print current directory
15361539
|:py3| :py3 execute Python 3 command
@@ -1641,6 +1644,7 @@ tag command action ~
16411644
|:startinsert| :star[tinsert] start Insert mode
16421645
|:startgreplace| :startg[replace] start Virtual Replace mode
16431646
|:startreplace| :startr[eplace] start Replace mode
1647+
|:static| :static prefix for a class member or function
16441648
|:stopinsert| :stopi[nsert] stop Insert mode
16451649
|:stjump| :stj[ump] do ":tjump" and split window
16461650
|:stselect| :sts[elect] do ":tselect" and split window

runtime/doc/map.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*map.txt* For Vim version 9.0. Last change: 2022 Dec 01
1+
*map.txt* For Vim version 9.0. Last change: 2023 Jan 09
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -777,8 +777,8 @@ To avoid mapping of the characters you type in insert or Command-line mode,
777777
type a CTRL-V first. The mapping in Insert mode is disabled if the 'paste'
778778
option is on.
779779
*map-error*
780-
Note that when an error is encountered (that causes an error message or beep)
781-
the rest of the mapping is not executed. This is Vi-compatible.
780+
Note that when an error is encountered (that causes an error message or might
781+
cause a beep) the rest of the mapping is not executed. This is Vi-compatible.
782782

783783
Note that the second character (argument) of the commands @zZtTfF[]rm'`"v
784784
and CTRL-X is not mapped. This was done to be able to use all the named

0 commit comments

Comments
 (0)