Skip to content

Commit 78e3217

Browse files
committed
Merge remote-tracking branch 'vim/master'
2 parents 06f8b8e + 6daeef1 commit 78e3217

88 files changed

Lines changed: 1694 additions & 1840 deletions

Some content is hidden

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

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ src/pathdef.c
3838
src/Obj*/pathdef.c
3939
gvimext.dll
4040
gvimext.lib
41+
gvim.lib
4142
runtime/doc/uganda.nsis.txt
4243

4344
# Borland C++

Filelist

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,7 @@ SRC_DOS = \
406406
src/msvcsetup.bat \
407407
src/msvc2008.bat \
408408
src/msvc2010.bat \
409+
src/msvc2015.bat \
409410
src/dimm.idl \
410411
src/dlldata.c \
411412
src/dosinst.c \

Makefile

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -120,28 +120,28 @@ MINOR = 0
120120
#
121121
# MS-Windows:
122122
# - Run make on Unix to update the ".mo" files.
123-
# - Get libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
123+
# - Get 32 bit libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
124124
# https://mlocati.github.io/gettext-iconv-windows/ .
125125
# Use the "shared-32.zip file and extract the archive to get the files.
126-
# Put them in the top directory, "make dosrt" uses them.
126+
# Put them in the gettext32 directory, "make dosrt" uses them.
127+
# - Get 64 bit libintl-8.dll and libiconv-2.dll. E.g. from
128+
# https://mlocati.github.io/gettext-iconv-windows/ .
129+
# Use the "shared-64.zip file and extract the archive to get the files.
130+
# Put them in the gettext64 directory, "make dosrt" uses them.
127131
# - > make dossrc
128132
# > make dosrt
129133
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
134+
# This creates the directory vim/vim80 and puts all files in there.
130135
# Win32 console version build:
131-
# - Set environment for Visual C++ 2008, e.g.:
132-
# > src/msvc2008.bat
133-
# Or:
134-
# > C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat
135-
# Or, when using the Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the
136-
# paths when necessary).
137-
# For Windows 98/ME the 2003 version is required, but then the executable
138-
# won't work on Windows 7 and 64 bit systems.
139-
# - > cd src
136+
# - See src/INSTALLpc.txt for installing the compiler and SDK.
137+
# - Set environment for Visual C++ 2015:
138+
# > cd src
139+
# > msvc2015.bat
140+
# - Build the console binary:
140141
# > nmake -f Make_mvc.mak
141-
# - Run the tests:
142+
# - Run the tests and check the ouput:
142143
# > nmake -f Make_mvc.mak testclean
143144
# > nmake -f Make_mvc.mak test
144-
# - check the output.
145145
# - Rename (using ../tools/rename.bat):
146146
# vim.exe to vimw32.exe
147147
# tee/tee.exe to teew32.exe
@@ -152,19 +152,18 @@ MINOR = 0
152152
# Win32 GUI version build:
153153
# - > cd src
154154
# > nmake -f Make_mvc.mak GUI=yes
155-
# - Run the tests:
155+
# - Run the tests and check the output:
156156
# > nmake -f Make_mvc.mak testclean
157157
# > nmake -f Make_mvc.mak testgvim
158-
# - check the output.
159158
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
160159
# - Move gvim.pdb to here.
161160
# - Copy "GvimExt/gvimext.dll" to here.
162161
# - Delete vimrun.exe, install.exe and uninstal.exe.
163162
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
164163
# - Install the interfaces you want, see src/INSTALLpc.txt
164+
# Adjust bigvim.bat to match the version of each interface you want.
165165
# - Build:
166166
# > cd src
167-
# Adjust bigvim.bat to match the version of each interface you want.
168167
# > bigvim.bat
169168
# - Run the tests:
170169
# > nmake -f Make_mvc.mak testclean
@@ -188,10 +187,11 @@ MINOR = 0
188187
# gvimext64.dll in src/GvimExt
189188
# VisVim.dll in src/VisVim
190189
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
191-
# gvimext64.dll can be obtained from http://code.google.com/p/vim-win3264/
192-
# It is part of vim72.zip as vim72/gvimext.dll.
190+
# gvimext64.dll can be obtained from:
191+
# https://github.com/vim/vim-win32-installer/releases
192+
# It is part of gvim_8.0.*_x64.zip as vim/vim80/GvimExt/gvimext64.dll.
193193
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
194-
# version).
194+
# version). Also put winpty32.dll and winpty-agent.exe there.
195195
# - go to ../nsis and do:
196196
# > makensis gvim.nsi (takes a few minutes).
197197
# ignore warning for libwinpthread-1.dll
@@ -467,9 +467,13 @@ dosrt_files: dist prepare no_title.vim
467467
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
468468
fi \
469469
done
470-
cp libintl-8.dll dist/vim/$(VIMRTDIR)/
471-
cp libiconv-2.dll dist/vim/$(VIMRTDIR)/
472-
cp libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/
470+
mkdir dist/vim/$(VIMRTDIR)/gettext32
471+
cp gettext32/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext32/
472+
cp gettext32/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext32/
473+
cp gettext32/libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/gettext32/
474+
mkdir dist/vim/$(VIMRTDIR)/gettext64
475+
cp gettext64/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext64/
476+
cp gettext64/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext64/
473477

474478

475479
# Used before uploading. Don't delete the AAPDIR/sign files!
@@ -496,7 +500,10 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
496500
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
497501
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
498502
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
499-
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
503+
mkdir dist/vim/$(VIMRTDIR)/GvimExt32
504+
cp gvimext.dll dist/vim/$(VIMRTDIR)/GvimExt32/gvimext.dll
505+
mkdir dist/vim/$(VIMRTDIR)/GvimExt64
506+
cp gvimext64.dll dist/vim/$(VIMRTDIR)/GvimExt64/gvimext.dll
500507
cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
501508
cp gvim.pdb dist/gvim$(VERSION).pdb
502509

nsis/README.txt

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
This builds a one-click install for Vim for Win32 using the Nullsoft
2-
Installation System (NSIS), available at http://www.nullsoft.com/free/nsis/
2+
Installation System (NSIS), available at http://nsis.sourceforge.net/
33

44
To build the installable .exe:
55

@@ -17,8 +17,14 @@ To build the installable .exe:
1717
uninstal.exe,
1818
xxd/xxd.exe,
1919

20+
Then execute tools/rename.bat to rename the executables. (mv command is
21+
required.)
22+
2023
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
21-
archive).
24+
archive). Both 64- and 32-bit versions are needed and should be placed
25+
as follows:
26+
64-bit: src/GvimExt/gvimext64.dll
27+
32-bit: src/GvimExt/gvimext.dll
2228

2329
4. Go to the VisVim directory and build VisVim.dll (or get it from a binary
2430
archive).
@@ -27,13 +33,35 @@ To build the installable .exe:
2733
get them from a binary archive).
2834

2935
6. Get a "diff.exe" program and put it in the "../.." directory (above the
30-
"vim61" directory, it's the same for all Vim versions).
36+
"vim80" directory, it's the same for all Vim versions).
3137
You can find one in previous Vim versions or in this archive:
3238
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
39+
Also put winpty32.dll and winpty-agent.exe there.
3340

3441
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
3542
to do this on Unix. Make sure the file is in DOS file format!
3643

44+
8. Get gettext and iconv DLLs from the following site:
45+
https://github.com/mlocati/gettext-iconv-windows/releases
46+
Both 64- and 32-bit versions are needed.
47+
Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
48+
DLLs and place them as follows:
49+
50+
<GETTEXT directory>
51+
|
52+
+ gettext32/
53+
| libintl-8.dll
54+
| libiconv-2.dll
55+
| libgcc_s_sjlj-1.dll
56+
|
57+
` gettext64/
58+
libintl-8.dll
59+
libiconv-2.dll
60+
61+
The default <GETTEXT directory> is "..", however, you can change it by
62+
passing /DGETTEXT=... option to the makensis command.
63+
64+
3765
Install NSIS if you didn't do that already.
3866
Also install UPX, if you want a compressed file.
3967

nsis/gvim.nsi

Lines changed: 71 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,15 @@
2020
!define VIMTOOLS ..\..
2121
!endif
2222

23+
# Location of gettext.
24+
# It must contain two directories: gettext32 and gettext64.
25+
# See README.txt for detail.
26+
!ifndef GETTEXT
27+
!define GETTEXT ${VIMRT}
28+
!endif
29+
2330
# Comment the next line if you don't have UPX.
24-
# Get it at http://upx.sourceforge.net
31+
# Get it at https://upx.github.io/
2532
!define HAVE_UPX
2633

2734
# comment the next line if you do not want to add Native Language Support
@@ -328,24 +335,67 @@ Section "Add an Edit-with-Vim context menu entry"
328335
SetOutPath $0
329336
ClearErrors
330337
SetOverwrite try
338+
331339
${If} ${RunningX64}
340+
# Install 64-bit gvimext.dll into the GvimExt64 directory.
341+
SetOutPath $0\GvimExt64
342+
ClearErrors
332343
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
333-
${Else}
334-
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
344+
!ifdef HAVE_NLS
345+
File ${GETTEXT}\gettext64\libintl-8.dll
346+
File ${GETTEXT}\gettext64\libiconv-2.dll
347+
!endif
348+
349+
IfErrors 0 GvimExt64Done
350+
351+
# Can't copy gvimext.dll, create it under another name and rename it
352+
# on next reboot.
353+
GetTempFileName $3 $0\GvimExt64
354+
File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
355+
Rename /REBOOTOK $3 $0\GvimExt64\gvimext.dll
356+
!ifdef HAVE_NLS
357+
GetTempFileName $3 $0\GvimExt64
358+
File /oname=$3 ${GETTEXT}\gettext64\libintl-8.dll
359+
Rename /REBOOTOK $3 $0\GvimExt64\libintl-8.dll
360+
GetTempFileName $3 $0\GvimExt64
361+
File /oname=$3 ${GETTEXT}\gettext64\libiconv-2.dll
362+
Rename /REBOOTOK $3 $0\GvimExt64\libiconv-2.dll
363+
!endif
335364
${EndIf}
336-
IfErrors 0 GvimExtDone
365+
366+
GvimExt64Done:
367+
368+
# Install 32-bit gvimext.dll into the GvimExt32 directory.
369+
SetOutPath $0\GvimExt32
370+
ClearErrors
371+
372+
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
373+
!ifdef HAVE_NLS
374+
File ${GETTEXT}\gettext32\libintl-8.dll
375+
File ${GETTEXT}\gettext32\libiconv-2.dll
376+
File ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
377+
!endif
378+
379+
IfErrors 0 GvimExt32Done
337380

338381
# Can't copy gvimext.dll, create it under another name and rename it on
339382
# next reboot.
340-
GetTempFileName $3 $0
341-
${If} ${RunningX64}
342-
File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
343-
${Else}
344-
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
345-
${EndIf}
346-
Rename /REBOOTOK $3 $0\gvimext.dll
383+
GetTempFileName $3 $0\GvimExt32
384+
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
385+
Rename /REBOOTOK $3 $0\GvimExt32\gvimext.dll
386+
!ifdef HAVE_NLS
387+
GetTempFileName $3 $0\GvimExt32
388+
File /oname=$3 ${GETTEXT}\gettext32\libintl-8.dll
389+
Rename /REBOOTOK $3 $0\GvimExt32\libintl-8.dll
390+
GetTempFileName $3 $0\GvimExt32
391+
File /oname=$3 ${GETTEXT}\gettext32\libiconv-2.dll
392+
Rename /REBOOTOK $3 $0\GvimExt32\libiconv-2.dll
393+
GetTempFileName $3 $0\GvimExt32
394+
File /oname=$3 ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
395+
Rename /REBOOTOK $3 $0\GvimExt32\libgcc_s_sjlj-1.dll
396+
!endif
347397

348-
GvimExtDone:
398+
GvimExt32Done:
349399
SetOverwrite lastused
350400

351401
# We don't have a separate entry for the "Open With..." menu, assume
@@ -394,10 +444,10 @@ SectionEnd
394444
File ${VIMRT}\keymap\README.txt
395445
File ${VIMRT}\keymap\*.vim
396446
SetOutPath $0
397-
File ${VIMRT}\libintl-8.dll
398-
File ${VIMRT}\libiconv-2.dll
399-
File /nonfatal ${VIMRT}\libwinpthread-1.dll
400-
File /nonfatal ${VIMRT}\libgcc_s_sjlj-1.dll
447+
File ${GETTEXT}\gettext32\libintl-8.dll
448+
File ${GETTEXT}\gettext32\libiconv-2.dll
449+
#File /nonfatal ${VIMRT}\libwinpthread-1.dll
450+
File /nonfatal ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
401451
SectionEnd
402452
!endif
403453

@@ -437,6 +487,11 @@ Section Uninstall
437487
$\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes
438488

439489
Delete /REBOOTOK $0\*.dll
490+
Delete /REBOOTOK $0\GvimExt32\*.dll
491+
${If} ${RunningX64}
492+
Delete /REBOOTOK $0\GvimExt64\*.dll
493+
${EndIf}
494+
440495
ClearErrors
441496
# Remove everything but *.dll files. Avoids that
442497
# a lot remains when gvimext.dll cannot be deleted.

runtime/doc/eval.txt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1912,11 +1912,16 @@ v:termstyleresp The escape sequence returned by the terminal for the |t_RS|
19121912
termcap entry. This is used to find out what the shape of the
19131913
cursor is. This is used by |term_getcursor()|.
19141914

1915-
*v:termrgbresp*
1916-
v:termrgbresp The escape sequence returned by the terminal for the |t_RB|
1915+
*v:termrbgresp*
1916+
v:termrbgresp The escape sequence returned by the terminal for the |t_RB|
19171917
termcap entry. This is used to find out what the terminal
19181918
background color is, see 'background'.
19191919

1920+
*v:termrfgresp*
1921+
v:termrfgresp The escape sequence returned by the terminal for the |t_RF|
1922+
termcap entry. This is used to find out what the terminal
1923+
foreground color is.
1924+
19201925
*v:termu7resp*
19211926
v:termu7resp The escape sequence returned by the terminal for the |t_u7|
19221927
termcap entry. This is used to find out what the terminal

runtime/doc/if_mzsch.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*if_mzsch.txt* For Vim version 8.0. Last change: 2016 Jan 24
1+
*if_mzsch.txt* For Vim version 8.0. Last change: 2017 Oct 08
22

33

44
VIM REFERENCE MANUAL by Sergey Khorev
@@ -278,12 +278,15 @@ When you don't use the MzScheme interface you don't need them, thus you can
278278
use Vim without these DLL files.
279279
NOTE: Newer version of MzScheme (Racket) require earlier (trampolined)
280280
initialisation via scheme_main_setup. So Vim always loads the MzScheme DLL at
281-
startup if possible.
281+
startup if possible. This may make Vim startup slower.
282282

283283
To use the MzScheme interface the MzScheme DLLs must be in your search path.
284284
In a console window type "path" to see what directories are used.
285285

286-
The names of the DLLs must match the MzScheme version Vim was compiled with.
286+
On MS-Windows the options 'mzschemedll' and 'mzschemegcdll' are used for the
287+
name of the library to load. The initial value is specified at build time.
288+
289+
The version of the DLL must match the MzScheme version Vim was compiled with.
287290
For MzScheme version 209 they will be "libmzsch209_000.dll" and
288291
"libmzgc209_000.dll". To know for sure look at the output of the ":version"
289292
command, look for -DDYNAMIC_MZSCH_DLL="something" and

runtime/doc/message.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -463,12 +463,6 @@ changed. To avoid the message reset the 'warn' option.
463463
Something inside Vim went wrong and resulted in a NULL pointer. If you know
464464
how to reproduce this problem, please report it. |bugs|
465465

466-
*E172* >
467-
Only one file name allowed
468-
469-
The ":edit" command only accepts one file name. When you want to specify
470-
several files for editing use ":next" |:next|.
471-
472466
*E41* *E82* *E83* *E342* >
473467
Out of memory!
474468
Out of memory! (allocating {number} bytes)

runtime/doc/motion.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1317,7 +1317,10 @@ the current line is included. You can then use "%" to go to the matching line.
13171317
H To line [count] from top (Home) of window (default:
13181318
first line on the window) on the first non-blank
13191319
character |linewise|. See also 'startofline' option.
1320-
Cursor is adjusted for 'scrolloff' option.
1320+
Cursor is adjusted for 'scrolloff' option, unless an
1321+
operator is pending, in which case the text may
1322+
scroll. E.g. "yH" yanks from the first visible line
1323+
until the cursor line (inclusive).
13211324

13221325
*M*
13231326
M To Middle line of window, on the first non-blank
@@ -1327,7 +1330,10 @@ M To Middle line of window, on the first non-blank
13271330
L To line [count] from bottom of window (default: Last
13281331
line on the window) on the first non-blank character
13291332
|linewise|. See also 'startofline' option.
1330-
Cursor is adjusted for 'scrolloff' option.
1333+
Cursor is adjusted for 'scrolloff' option, unless an
1334+
operator is pending, in which case the text may
1335+
scroll. E.g. "yL" yanks from the cursor to the last
1336+
visible line.
13311337

13321338
<LeftMouse> Moves to the position on the screen where the mouse
13331339
click is |exclusive|. See also |<LeftMouse>|. If the

0 commit comments

Comments
 (0)