Merge remote-tracking branch 'vim/master'

This commit is contained in:
Kazuki Sakamoto
2016-08-28 22:44:35 -07:00
34 changed files with 749 additions and 203 deletions
+4
View File
@@ -93,6 +93,7 @@ SRC_ALL = \
src/vim.h \
src/winclip.c \
src/window.c \
src/tee/tee.c \
src/xxd/xxd.c \
src/main.aap \
src/testdir/main.aap \
@@ -263,6 +264,7 @@ SRC_UNIX = \
src/workshop.h \
src/wsdebug.c \
src/wsdebug.h \
src/tee/Makefile \
src/xxd/Makefile \
# source files for both DOS and Unix
@@ -314,6 +316,7 @@ SRC_DOS = \
src/Make_dvc.mak \
src/Make_ming.mak \
src/Make_mvc.mak \
tools/rename.bat \
src/bigvim.bat \
src/bigvim64.bat \
src/msvcsetup.bat \
@@ -357,6 +360,7 @@ SRC_DOS = \
src/vimrun.c \
src/xpm_w32.c \
src/xpm_w32.h \
src/tee/Make_mvc.mak \
src/xxd/Make_bc5.mak \
src/xxd/Make_ming.mak \
src/xxd/Make_mvc.mak \
+19 -90
View File
@@ -51,12 +51,9 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
#
# dossrc vim##src.zip sources for MS-DOS
# dosrt vim##rt.zip runtime for MS-DOS
# dosbin vim##d16.zip binary for MS-DOS 16 bits
# vim##d32.zip binary for MS-DOS 32 bits
# vim##w32.zip binary for Win32
# dosbin vim##w32.zip binary for Win32
# gvim##.zip binary for GUI Win32
# gvim##ole.zip OLE exe for Win32 GUI
# gvim##_s.zip exe for Win32s GUI
#
# OBSOLETE
# amisrc vim##src.tgz sources for Amiga
@@ -73,15 +70,6 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
MAJOR = 7
MINOR = 4
# Uncomment this line if the Win32s version is to be included.
# DOSBIN_S = dosbin_s
# Uncomment this line if the 16 bit DOS version is to be included.
# DOSBIN_D16 = dosbin_d16
# Uncomment this line if the 32 bit DOS version is to be included.
# DOSBIN_D32 = dosbin_d32
# CHECKLIST for creating a new version:
#
# - Update Vim version number. For a test version in: src/version.h, Contents,
@@ -149,17 +137,21 @@ MINOR = 4
# - > cd src
# > nmake -f Make_mvc.mak
# - Run the tests:
# > rm testdir/*.out testdir/*.res
# > nmake -f Make_mvc.mak testclean
# > nmake -f Make_mvc.mak test
# - check the output.
# - Rename vim.exe to vimw32.exe, xxd/xxd.exe to xxdw32.exe.
# - Rename vim.pdb to vimw32.pdb.
# - Rename install.exe to installw32.exe and uninstal.exe to uninstalw32.exe.
# - Rename (using tools/rename.bat):
# vim.exe to vimw32.exe
# tee/tee.exe to teew32.exe
# xxd/xxd.exe to xxdw32.exe
# vim.pdb to vimw32.pdb
# install.exe to installw32.exe
# uninstal.exe to uninstalw32.exe
# Win32 GUI version build:
# - > cd src
# > nmake -f Make_mvc.mak GUI=yes
# - Run the tests:
# > rm testdir/*.out testdir/*.res
# > nmake -f Make_mvc.mak testclean
# > nmake -f Make_mvc.mak testgvim
# - check the output.
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
@@ -173,7 +165,7 @@ MINOR = 4
# Adjust bigvim.bat to match the version of each interface you want.
# > bigvim.bat
# - Run the tests:
# > rm testdir/*.out testdir/*.res
# > nmake -f Make_mvc.mak testclean
# > nmake -f Make_mvc.mak testgvim
# - check the output.
# - Rename "gvim.exe" to "gvim_ole.exe".
@@ -187,7 +179,8 @@ MINOR = 4
# NSIS self installing exe:
# - To get NSIS see http://nsis.sourceforge.net
# - Make sure gvim_ole.exe, vimw32.exe, installw32.exe,
# uninstalw32.exe and xxdw32.exe have been build as mentioned above.
# uninstalw32.exe, teew32.exe and xxdw32.exe have been build as mentioned
# above.
# - copy these files (get them from a binary archive or build them):
# gvimext.dll in src/GvimExt
# gvimext64.dll in src/GvimExt
@@ -221,15 +214,7 @@ MINOR = 4
# 32 bit DOS version: Support was removed in 7.4.1399. When syncing to before
# that it probably won't build.
#
# Win32s GUI version: (requires a very old compiler)
# - Set environment for Visual C++ 4.1 (requires a new console window):
# "vcvars32.bat" (use the path for VC 4.1 e:\msdev\bin)
# - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
# - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
# - Rename "gvim.exe" to "gvim_w32s.exe".
# - Rename "install.exe" to "installw32.exe"
# - Rename "uninstal.exe" to "uninstalw32.exe"
# - The produced uninstalw32.exe and vimrun.exe are used.
# Win32s GUI version: Support was removed in patch 7.4.1364.
#
# OS/2 support was removed in patch 7.4.1008. If you want to give it a try
# sync to before that and check the old version of this Makefile for
@@ -268,12 +253,9 @@ dist/comment:
mkdir dist/comment
COMMENT_RT = comment/$(VERSION)-rt
COMMENT_D16 = comment/$(VERSION)-bin-d16
COMMENT_D32 = comment/$(VERSION)-bin-d32
COMMENT_W32 = comment/$(VERSION)-bin-w32
COMMENT_GVIM = comment/$(VERSION)-bin-gvim
COMMENT_OLE = comment/$(VERSION)-bin-ole
COMMENT_W32S = comment/$(VERSION)-bin-w32s
COMMENT_SRC = comment/$(VERSION)-src
COMMENT_HTML = comment/$(VERSION)-html
COMMENT_FARSI = comment/$(VERSION)-farsi
@@ -281,12 +263,6 @@ COMMENT_FARSI = comment/$(VERSION)-farsi
dist/$(COMMENT_RT): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) runtime files for MS-DOS and MS-Windows" > dist/$(COMMENT_RT)
dist/$(COMMENT_D16): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 16 bit real mode" > dist/$(COMMENT_D16)
dist/$(COMMENT_D32): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 32 bit protected mode" > dist/$(COMMENT_D32)
dist/$(COMMENT_W32): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-Windows NT/95" > dist/$(COMMENT_W32)
@@ -296,9 +272,6 @@ dist/$(COMMENT_GVIM): dist/comment
dist/$(COMMENT_OLE): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows GUI binaries with OLE support" > dist/$(COMMENT_OLE)
dist/$(COMMENT_W32S): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) GUI binaries for MS-Windows 3.1/3.11" > dist/$(COMMENT_W32S)
dist/$(COMMENT_SRC): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) sources for MS-DOS and MS-Windows" > dist/$(COMMENT_SRC)
@@ -501,7 +474,8 @@ runtime_unix2dos: dosrt_files
cd dist/vim/$(VIMRTDIR); tar cf - * \
| (cd ../../../runtime/dos; tar xf -)
dosbin: prepare dosbin_gvim dosbin_w32 $(DOSBIN_D32) dosbin_ole $(DOSBIN_S) $(DOSBIN_D16)
dosbin: prepare dosbin_gvim dosbin_w32 dosbin_ole $(DOSBIN_S)
-rm $(IN_README_DIR)
# make Win32 gvim
dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
@@ -512,8 +486,8 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
-rm $(IN_README_DIR)
cp gvim.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp teew32.exe dist/vim/$(VIMRTDIR)/tee.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -532,43 +506,13 @@ dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp vimw32.exe dist/vim/$(VIMRTDIR)/vim.exe
cp teew32.exe dist/vim/$(VIMRTDIR)/tee.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cd dist && zip -9 -rD -z vim$(VERSION)w32.zip vim <$(COMMENT_W32)
cp vimw32.pdb dist/vim$(VERSION)w32.pdb
# make 32bit DOS
dosbin_d32: dist no_title.vim dist/$(COMMENT_D32)
-rm -rf dist/vim$(VERSION)d32.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp vimd32.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installd32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstald32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cp csdpmi4b.zip dist/vim/$(VIMRTDIR)
cd dist && zip -9 -rD -z vim$(VERSION)d32.zip vim <$(COMMENT_D32)
# make 16bit DOS
dosbin_d16: dist no_title.vim dist/$(COMMENT_D16)
-rm -rf dist/vim$(VERSION)d16.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp vimd16.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdd16.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installd16.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstald16.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cd dist && zip -9 -rD -z vim$(VERSION)d16.zip vim <$(COMMENT_D16)
# make Win32 gvim with OLE
dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
-rm -rf dist/gvim$(VERSION)ole.zip
@@ -579,6 +523,7 @@ dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp gvim_ole.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp teew32.exe dist/vim/$(VIMRTDIR)/tee.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -590,22 +535,6 @@ dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
cd dist && zip -9 -rD -z gvim$(VERSION)ole.zip vim <$(COMMENT_OLE)
cp gvim_ole.pdb dist/gvim$(VERSION)ole.pdb
# make Win32s gvim
dosbin_s: dist no_title.vim dist/$(COMMENT_W32S)
-rm -rf dist/gvim$(VERSION)_s.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cp gvim_w32s.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp README_w32s.txt dist/vim/$(VIMRTDIR)
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cd dist && zip -9 -rD -z gvim$(VERSION)_s.zip vim <$(COMMENT_W32S)
html: dist dist/$(COMMENT_HTML)
-rm -rf dist/vim$(VERSION)html.zip
cd runtime/doc && zip -9 -z ../../dist/vim$(VERSION)html.zip *.html <../../dist/$(COMMENT_HTML)
+1
View File
@@ -188,6 +188,7 @@ Section "Vim executables and runtime files"
File /oname=install.exe ${VIMSRC}\installw32.exe
File /oname=uninstal.exe ${VIMSRC}\uninstalw32.exe
File ${VIMSRC}\vimrun.exe
File /oname=tee.exe ${VIMSRC}\teew32.exe
File /oname=xxd.exe ${VIMSRC}\xxdw32.exe
File ${VIMTOOLS}\diff.exe
File ${VIMRT}\vimtutor.bat
+4 -1
View File
@@ -1,7 +1,7 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2016 Aug 21
" Last change: 2016 Aug 28
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".
@@ -31,6 +31,9 @@ set ttimeoutlen=100 " wait up to 100ms after Esc for special key
" Show @@@ in the last line if it is truncated.
set display=truncate
" Show a few lines of context around the cursor.
set scrolloff=5
" Do incremental searching when it's possible to timeout.
if has('reltime')
set incsearch
+4 -2
View File
@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.4. Last change: 2016 Aug 27
*eval.txt* For Vim version 7.4. Last change: 2016 Aug 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3272,6 +3272,8 @@ delete({fname} [, {flags}]) *delete()*
When {flags} is "rf": Deletes the directory by the name
{fname} and everything in it, recursively. BE CAREFUL!
Note: on MS-Windows it is not possible to delete a directory
that is being used.
A symbolic link itself is deleted, not what it points to.
@@ -6344,7 +6346,7 @@ round({expr}) *round()*
{only available when compiled with the |+float| feature}
screenattr(row, col) *screenattr()*
Like screenchar(), but return the attribute. This is a rather
Like |screenchar()|, but return the attribute. This is a rather
arbitrary number that can only be used to compare to the
attribute at other positions.
+12 -5
View File
@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.4. Last change: 2016 Aug 26
*options.txt* For Vim version 7.4. Last change: 2016 Aug 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2869,10 +2869,17 @@ A jump table for the options with a short description can be found at |Q_op|.
global
{not in Vi}
Enables the reading of .vimrc, .exrc and .gvimrc in the current
directory. If you switch this option on you should also consider
setting the 'secure' option (see |initialization|). Using a local
.exrc, .vimrc or .gvimrc is a potential security leak, use with care!
also see |.vimrc| and |gui-init|.
directory.
Setting this option is a potential security leak. E.g., consider
unpacking a package or fetching files from github, a .vimrc in there
might be a trojan horse. BETTER NOT SET THIS OPTION!
Instead, define an autocommand in your .vimrc to set options for a
matching directory.
If you do switch this option on you should also consider setting the
'secure' option (see |initialization|).
Also see |.vimrc| and |gui-init|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
+2 -2
View File
@@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.4. Last change: 2016 Aug 26
*starting.txt* For Vim version 7.4. Last change: 2016 Aug 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -839,7 +839,7 @@ accordingly. Vim proceeds in this order:
options values and has "syntax on" and "filetype on" commands,
which is what most new users will want. See |defaults.vim|.
d. If the 'exrc' option is on (which is not the default), the current
d. If the 'exrc' option is on (which is NOT the default), the current
directory is searched for three files. The first that exists is used,
the others are ignored.
- The file ".vimrc" (for Unix, Amiga and OS/2) (*)
+417 -1
View File
@@ -1,4 +1,4 @@
*version8.txt* For Vim version 8.0. Last change: 2016 Aug 26
*version8.txt* For Vim version 8.0. Last change: 2016 Aug 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -163,6 +163,9 @@ checked with the |+num64| feature.
Many items were added so support |new-style-testing|.
printf() now accepts any type of argument for %s. It is converted to a string
like with string().
Various new items *new-items-8*
-----------------
@@ -208,6 +211,7 @@ Ex commands: ~
|:cfdo| execute command in each file in error list
|:chistory| display quickfix list stack
|:clearjumps| clear the jump list
:filter only output lines that (do not) match a pattern
|:helpclose| close one help window
|:lbottom| scroll to the bottom of the location window
|:ldo| execute command in valid location list entries
@@ -444,6 +448,7 @@ supposed to be. The blowfish2 method has been added to fix that. Note that
this still isn't a state-of-the-art encryption, but good enough for most
usage. See 'cryptmethod'.
==============================================================================
COMPILE TIME CHANGES *compile-changes-8*
@@ -13566,6 +13571,417 @@ Problem: When using matchaddpos() a character after the end of the line can
Solution: Only highlight existing characters. (Hirohito Higashi)
Files: src/screen.c, src/structs.h, src/testdir/test_match.vim
Patch 7.4.2218
Problem: Can't build with +timers when +digraph is not included.
Solution: Change #ifdef for e_number_exp. (Damien)
Files: src/globals.h
Patch 7.4.2219
Problem: Recursive call to substitute gets stuck in sandbox. (Nikolai
Pavlov)
Solution: Handle the recursive call. (Christian Brabandt, closes #950)
Add a test.
Files: src/ex_cmds.c, src/testdir/test_regexp_latin.vim
Patch 7.4.2220
Problem: printf() gives an error when the argument for %s is not a string.
(Ozaki Kiichi)
Solution: Behave like invoking string() on the argument. (Ken Takata)
Files: runtime/doc/eval.txt, src/message.c, src/testdir/test_expr.vim
Patch 7.4.2221
Problem: printf() does not support binary format.
Solution: Add %b and %B. (Ozaki Kiichi)
Files: runtime/doc/eval.txt, src/message.c, src/testdir/test_expr.vim
Patch 7.4.2222
Problem: Sourcing a script where a character has 0x80 as a second byte does
not work. (Filipe L B Correia)
Solution: Turn 0x80 into K_SPECIAL KS_SPECIAL KE_FILLER. (Christian
Brabandt, closes #728) Add a test case.
Files: src/getchar.c, src/proto/getchar.pro, src/misc1.c,
src/testdir/test_regexp_utf8.vim
Patch 7.4.2223
Problem: Buffer overflow when using latin1 character with feedkeys().
Solution: Check for an illegal character. Add a test.
Files: src/testdir/test_regexp_utf8.vim, src/testdir/test_source.vim,
src/testdir/test_alot_utf8.vim, src/Makefile, src/getchar.c,
src/macros.h, src/evalfunc.c, src/os_unix.c, src/os_win32.c,
src/spell.c,
Patch 7.4.2224
Problem: Compiler warnings with older compiler and 64 bit numbers.
Solution: Add "LL" to large values. (Mike Williams)
Files: src/eval.c, src/evalfunc.c
Patch 7.4.2225
Problem: Crash when placing a sign in a deleted buffer.
Solution: Check for missing buffer name. (Dominique Pelle). Add a test.
Files: src/ex_cmds.c, src/testdir/test_signs.vim
Patch 7.4.2226
Problem: The field names used by getbufinfo(), gettabinfo() and
getwininfo() are not consistent.
Solution: Use bufnr, winnr and tabnr. (Yegappan Lakshmanan)
Files: runtime/doc/eval.txt, src/evalfunc.c,
src/testdir/test_bufwintabinfo.vim
Patch 7.4.2227
Problem: Tab page tests are old style.
Solution: Change into new style tests. (Hirohito Higashi)
Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/test62.in,
src/testdir/test62.ok, src/testdir/test_alot.vim,
src/testdir/test_tabpage.vim
Patch 7.4.2228
Problem: Test files have inconsistent modelines.
Solution: Don't set 'tabstop' to 2, use 'sts' and 'sw'.
Files: src/testdir/README.txt, src/testdir/test_backspace_opt.vim,
src/testdir/test_digraph.vim, src/testdir/test_gn.vim
src/testdir/test_help_tagjump.vim,
src/testdir/test_increment_dbcs.vim,
src/testdir/test_increment.vim, src/testdir/test_match.vim,
src/testdir/test_tagjump.vim, src/testdir/test_window_cmd.vim,
src/testdir/test_regexp_latin.vim, src/testdir/test_timers.vim
Patch 7.4.2229
Problem: Startup test fails on Solaris.
Solution: Recognize a character device. (Danek Duvall)
Files: src/buffer.c, src/fileio.c, src/proto/fileio.pro, src/vim.h
Patch 7.4.2230
Problem: There is no equivalent of 'smartcase' for a tag search.
Solution: Add value "followscs" and "smart" to 'tagcase'. (Christian
Brabandt, closes #712) Turn tagcase test into new style.
Files: runtime/doc/options.txt, runtime/doc/tagsrch.txt, src/option.h,
src/tag.c, src/search.c, src/proto/search.pro,
src/testdir/test_tagcase.in, src/testdir/test_tagcase.ok,
src/testdir/test_tagcase.vim, src/Makefile,
src/testdir/Make_all.mak, src/testdir/test_alot.vim
Patch 7.4.2231
Problem: ":oldfiles" output is a very long list.
Solution: Add a pattern argument. (Coot, closes #575)
Files: runtime/doc/starting.txt, src/ex_cmds.h, src/eval.c,
src/ex_cmds.c, src/proto/eval.pro, src/proto/ex_cmds.pro,
src/testdir/test_viminfo.vim
Patch 7.4.2232
Problem: The default ttimeoutlen is very long.
Solution: Use "100". (Hirohito Higashi)
Files: runtime/defaults.vim
Patch 7.4.2233
Problem: Crash when using funcref() with invalid name. (Dominique Pelle)
Solution: Check for NULL translated name.
Files: src/evalfunc.c, src/testdir/test_expr.vim
Patch 7.4.2234
Problem: Can't build with +eval but without +quickfix. (John Marriott)
Solution: Move skip_vimgrep_pat() to separate #ifdef block.
Files: src/quickfix.c
Patch 7.4.2235
Problem: submatch() does not check for a valid argument.
Solution: Give an error if the argument is out of range. (Dominique Pelle)
Files: src/evalfunc.c, src/testdir/test_expr.vim
Patch 7.4.2236
Problem: The 'langnoremap' option leads to double negatives. And it does
not work for the last character of a mapping.
Solution: Add 'langremap' with the opposite value. Keep 'langnoremap' for
backwards compatibility. Make it work for the last character of a
mapping. Make the test work.
Files: runtime/doc/options.txt, runtime/defaults.vim, src/option.c,
src/option.h, src/macros.h, src/testdir/test_mapping.vim
Patch 7.4.2237
Problem: Can't use "." and "$" with ":tab".
Solution: Support a range for ":tab". (Hirohito Higashi)
Files: runtime/doc/tabpage.txt, src/ex_docmd.c,
src/testdir/test_tabpage.vim
Patch 7.4.2238
Problem: With SGR mouse reporting (suckless terminal) the mouse release and
scroll up/down is confused.
Solution: Don't see a release as a scroll up/down. (Ralph Eastwood)
Files: src/term.c
Patch 7.4.2239
Problem: Warning for missing declaration of skip_vimgrep_pat(). (John
Marriott)
Solution: Move it to another file.
Files: src/quickfix.c, src/proto/quickfix.pro, src/ex_cmds.c,
src/proto/ex_cmds.pro
Patch 7.4.2240
Problem: Tests using the sleep time can be flaky.
Solution: Use reltime() if available. (Partly by Shane Harper)
Files: src/testdir/shared.vim, src/testdir/test_timers.vim
Patch 7.4.2241 (after 7.4.2240)
Problem: Timer test sometimes fails.
Solution: Increase the maximum time for repeating timer.
Files: src/testdir/test_timers.vim
Patch 7.4.2242 (after 7.4.2240)
Problem: Timer test sometimes fails.
Solution: Increase the maximum time for callback timer test.
Files: src/testdir/test_timers.vim
Patch 7.4.2243
Problem: Warning for assigning negative value to unsigned. (Danek Duvall)
Solution: Make cterm_normal_fg_gui_color and _bg_ guicolor_T, cast to long_u
only when an unsigned is needed.
Files: src/structs.h, src/globals.h, src/screen.c, src/term.c,
src/syntax.c, src/gui_gtk_x11.c, src/gui.c, src/gui_mac.c,
src/gui_photon.c, src/gui_w32.c, src/gui_x11.c,
src/proto/term.pro, src/proto/gui_gtk_x11.pro,
src/proto/gui_mac.pro, src/proto/gui_photon.pro,
src/proto/gui_w32.pro, src/proto/gui_x11.pro
Patch 7.4.2244
Problem: Adding pattern to ":oldfiles" is not a generic solution.
Solution: Add the ":filter /pat/ cmd" command modifier. Only works for some
commands right now.
Files: src/structs.h, src/ex_docmd.c, src/ex_cmds.h, src/message.c,
src/proto/message.pro, runtime/doc/starting.txt,
runtime/doc/various.txt, src/testdir/test_viminfo.vim,
src/testdir/test_alot.vim, src/testdir/test_filter_cmd.vim,
src/Makefile
Patch 7.4.2245 (after 7.4.2244)
Problem: Filter test fails.
Solution: Include missing changes.
Files: src/buffer.c
Patch 7.4.2246 (after 7.4.2244)
Problem: Oldfiles test fails.
Solution: Include missing changes.
Files: src/ex_cmds.c
Patch 7.4.2247 (after 7.4.2244)
Problem: Tiny build fails. (Tony Mechelynck)
Solution: Remove #ifdef.
Files: src/ex_cmds.c
Patch 7.4.2248
Problem: When cancelling the :ptjump prompt a preview window is opened for
a following command.
Solution: Reset g_do_tagpreview. (Hirohito Higashi) Add a test. Avoid that
the test runner gets stuck in trying to close a window.
Files: src/tag.c, src/testdir/test_tagjump.vim, src/testdir/runtest.vim
Patch 7.4.2249
Problem: Missing colon in error message.
Solution: Add the colon. (Dominique Pelle)
Files: src/userfunc.c
Patch 7.4.2250
Problem: Some error messages cannot be translated.
Solution: Enclose them in _() and N_(). (Dominique Pelle)
Files: src/channel.c, src/evalfunc.c, src/ex_cmds.c, src/spell.c,
src/window.c
Patch 7.4.2251
Problem: In rare cases diffing 4 buffers is not enough.
Solution: Raise the limit to 8. (closes #1000)
Files: src/structs.h, runtime/doc/diff.txt
Patch 7.4.2252
Problem: Compiler warnings for signed/unsigned in expression.
Solution: Remove type cast. (Dominique Pelle)
Files: src/vim.h
Patch 7.4.2253
Problem: Check for Windows 3.1 will always return false. (Christian
Brabandt)
Solution: Remove the dead code.
Files: src/gui_w32.c, src/evalfunc.c, src/ex_cmds.c, src/option.c,
src/os_win32.c, src/version.c, src/proto/gui_w32.pro
Patch 7.4.2254
Problem: Compiler warnings in MzScheme code.
Solution: Add UNUSED. Remove unreachable code.
Files: src/if_mzsch.c
Patch 7.4.2255
Problem: The script that checks translations can't handle plurals.
Solution: Check for plural msgid and msgstr entries. Leave the cursor on
the first error.
Files: src/po/check.vim
Patch 7.4.2256
Problem: Coverity complains about null pointer check.
Solution: Remove wrong and superfluous error check.
Files: src/eval.c
Patch 7.4.2257
Problem: Coverity complains about not checking for NULL.
Solution: Check for out of memory.
Files: src/if_py_both.h
Patch 7.4.2258
Problem: Two JSON messages are sent without a separator.
Solution: Separate messages with a NL. (closes #1001)
Files: src/json.c, src/channel.c, src/vim.h, src/testdir/test_channel.py,
src/testdir/test_channel.vim, runtime/doc/channel.txt
Patch 7.4.2259
Problem: With 'incsearch' can only see the next match.
Solution: Make CTRL-N/CTRL-P move to the previous/next match. (Christian
Brabandt)
Files: runtime/doc/cmdline.txt, src/ex_getln.c, src/testdir/Make_all.mak,
src/testdir/test_search.vim, src/Makefile
Patch 7.4.2260 (after 7.4.2258)
Problem: Channel test is flaky.
Solution: Add a newline to separate JSON messages.
Files: src/testdir/test_channel.vim
Patch 7.4.2261 (after 7.4.2259)
Problem: Build fails with small features.
Solution: Move "else" inside the #ifdef.
Files: src/ex_getln.c
Patch 7.4.2262
Problem: Fail to read register content from viminfo if it is 438 characters
long. (John Chen)
Solution: Adjust the check for line wrapping. (closes #1010)
Files: src/testdir/test_viminfo.vim, src/ex_cmds.c
Patch 7.4.2263
Problem: :filter does not work for many commands. Can only get matching
messages.
Solution: Make :filter work for :command, :map, :list, :number and :print.
Make ":filter!" show non-matching lines.
Files: src/getchar.c, src/ex_cmds.c, src/ex_cmds.h, src/ex_docmd.c,
src/message.c, src/structs.h, src/testdir/test_filter_cmd.vim
Patch 7.4.2264
Problem: When adding entries to an empty quickfix list the title is reset.
Solution: Improve handling of the title. (Yegappan Lakshmanan)
Files: src/testdir/test_quickfix.vim, src/quickfix.c
Patch 7.4.2265
Problem: printf() isn't tested much.
Solution: Add more tests for printf(). (Dominique Pelle)
Files: src/testdir/test_expr.vim
Patch 7.4.2266 (after 7.4.2265)
Problem: printf() test fails on Windows. "-inf" is not used.
Solution: Check for Windows-specific values for "nan". Add sign to "inf"
when appropriate.
Files: src/message.c, src/testdir/test_expr.vim
Patch 7.4.2267 (after 7.4.2266)
Problem: Build fails on MS-Windows.
Solution: Add define to get isinf().
Files: src/message.c
Patch 7.4.2268 (after 7.4.2259)
Problem: Using CTRL-N and CTRL-P for incsearch shadows completion keys.
Solution: Use CTRL-T and CTRL-G instead.
Files: runtime/doc/cmdline.txt, src/ex_getln.c,
src/testdir/test_search.vim
Patch 7.4.2269
Problem: Using 'hlsearch' highlighting instead of matchpos if there is no
search match.
Solution: Pass NULL as last item to next_search_hl() when searching for
'hlsearch' match. (Shane Harper, closes #1013)
Files: src/screen.c, src/testdir/test_match.vim.
Patch 7.4.2270
Problem: Insufficient testing for NUL bytes on a raw channel.
Solution: Add a test for writing and reading.
Files: src/testdir/test_channel.vim
Patch 7.4.2271
Problem: Netbeans test doesn't read settings from file.
Solution: Use "-Xnbauth".
Files: src/testdir/test_netbeans.vim
Patch 7.4.2272
Problem: getbufinfo(), getwininfo() and gettabinfo() are inefficient.
Solution: Instead of making a copy of the variables dictionary, use a
reference.
Files: src/evalfunc.c
Patch 7.4.2273
Problem: getwininfo() and getbufinfo() are inefficient.
Solution: Do not make a copy of all window/buffer-local options. Make it
possible to get them with gettabwinvar() or getbufvar().
Files: src/evalfunc.c, src/eval.c, src/testdir/test_bufwintabinfo.vim,
runtime/doc/eval.txt
Patch 7.4.2274
Problem: Command line completion on "find **/filename" drops sub-directory.
Solution: Handle this case separately. (Harm te Hennepe, closes #932, closes
#939)
Files: src/misc1.c, src/testdir/test_cmdline.vim
Patch 7.4.2275
Problem: ":diffoff!" does not remove filler lines.
Solution: Force a redraw and invalidate the cursor. (closes #1014)
Files: src/diff.c, src/testdir/test_diffmode.vim
Patch 7.4.2276
Problem: Command line test fails on Windows when run twice.
Solution: Wipe the buffer so that the directory can be deleted.
Files: src/testdir/test_cmdline.vim
Patch 7.4.2277
Problem: Memory leak in getbufinfo() when there is a sign. (Dominique
Pelle)
Solution: Remove extra vim_strsave().
Files: src/evalfunc.c
Patch 7.4.2278
Problem: New users have no idea of the 'scrolloff' option.
Solution: Set 'scrolloff' in defaults.vim.
Files: runtime/defaults.vim
Patch 7.4.2279
Problem: Starting diff mode with the cursor in the last line might end up
only showing one closed fold. (John Beckett)
Solution: Scroll the window to show the same relative cursor position.
Files: src/diff.c, src/window.c, src/proto/window.pro
Patch 7.4.2280
Problem: printf() doesn't handle infinity float values correctly.
Solution: Add a table with possible infinity values. (Dominique Pelle)
Files: src/message.c, src/testdir/test_expr.vim
Patch 7.4.2281
Problem: Timer test fails sometimes.
Solution: Reduce minimum time by 1 msec.
Files: src/testdir/test_timers.vim
Patch 7.4.2282
Problem: When a child process is very fast waiting 10 msec for it is
noticeable. (Ramel Eshed)
Solution: Start waiting for 1 msec and gradually increase.
Files: src/os_unix.c
Patch 7.4.2283
Problem: Part of ":oldfiles" command isn't cleared. (Lifepillar)
Solution: Clear the rest of the line. (closes 1018)
Files: src/ex_cmds.c
Patch 7.4.2284
Problem: Comment in scope header file is outdated. (KillTheMule)
Solution: Point to the help instead. (closes #1017)
Files: src/if_cscope.h
Patch 7.4.2285
Problem: Generated files are outdated.
Solution: Generate the files. Avoid errors when generating prototypes.
Files: src/if_mzsch.h, src/Makefile, src/option.h, src/os_mac_conv.c,
src/os_amiga.c, src/vim.h, src/structs.h, src/os_win32.c,
src/if_lua.c, src/proto/mbyte.pro
[STILL MORE COMING!]
vim:tw=78:ts=8:ft=help:norl:
+25 -27
View File
@@ -61,7 +61,6 @@ an 50.10.320 &Syntax.AB.Ascii\ Doc :cal SetSyn("asciidoc")<CR>
an 50.10.330 &Syntax.AB.ASP\ with\ VBScript :cal SetSyn("aspvbs")<CR>
an 50.10.340 &Syntax.AB.ASP\ with\ Perl :cal SetSyn("aspperl")<CR>
an 50.10.350 &Syntax.AB.Assembly.680x0 :cal SetSyn("asm68k")<CR>
an 50.10.355 &Syntax.AB.Assembly.AVR :cal SetSyn("avra")<CR>
an 50.10.360 &Syntax.AB.Assembly.Flat :cal SetSyn("fasm")<CR>
an 50.10.370 &Syntax.AB.Assembly.GNU :cal SetSyn("asm")<CR>
an 50.10.380 &Syntax.AB.Assembly.GNU\ H-8300 :cal SetSyn("asmh8300")<CR>
@@ -162,31 +161,31 @@ an 50.30.290 &Syntax.DE.Doxygen.C\ with\ doxygen :cal SetSyn("c.doxygen")<CR>
an 50.30.300 &Syntax.DE.Doxygen.C++\ with\ doxygen :cal SetSyn("cpp.doxygen")<CR>
an 50.30.310 &Syntax.DE.Doxygen.IDL\ with\ doxygen :cal SetSyn("idl.doxygen")<CR>
an 50.30.320 &Syntax.DE.Doxygen.Java\ with\ doxygen :cal SetSyn("java.doxygen")<CR>
an 50.30.320 &Syntax.DE.Doxygen.DataScript\ with\ doxygen :cal SetSyn("datascript.doxygen")<CR>
an 50.30.330 &Syntax.DE.Dracula :cal SetSyn("dracula")<CR>
an 50.30.340 &Syntax.DE.DSSSL :cal SetSyn("dsl")<CR>
an 50.30.350 &Syntax.DE.DTD :cal SetSyn("dtd")<CR>
an 50.30.360 &Syntax.DE.DTML\ (Zope) :cal SetSyn("dtml")<CR>
an 50.30.370 &Syntax.DE.DTrace :cal SetSyn("dtrace")<CR>
an 50.30.380 &Syntax.DE.Dts/dtsi :cal SetSyn("dts")<CR>
an 50.30.390 &Syntax.DE.Dylan.Dylan :cal SetSyn("dylan")<CR>
an 50.30.400 &Syntax.DE.Dylan.Dylan\ interface :cal SetSyn("dylanintr")<CR>
an 50.30.410 &Syntax.DE.Dylan.Dylan\ lid :cal SetSyn("dylanlid")<CR>
an 50.30.430 &Syntax.DE.EDIF :cal SetSyn("edif")<CR>
an 50.30.440 &Syntax.DE.Eiffel :cal SetSyn("eiffel")<CR>
an 50.30.450 &Syntax.DE.Elinks\ config :cal SetSyn("elinks")<CR>
an 50.30.460 &Syntax.DE.Elm\ filter\ rules :cal SetSyn("elmfilt")<CR>
an 50.30.470 &Syntax.DE.Embedix\ Component\ Description :cal SetSyn("ecd")<CR>
an 50.30.480 &Syntax.DE.ERicsson\ LANGuage :cal SetSyn("erlang")<CR>
an 50.30.490 &Syntax.DE.ESMTP\ rc :cal SetSyn("esmtprc")<CR>
an 50.30.500 &Syntax.DE.ESQL-C :cal SetSyn("esqlc")<CR>
an 50.30.510 &Syntax.DE.Essbase\ script :cal SetSyn("csc")<CR>
an 50.30.520 &Syntax.DE.Esterel :cal SetSyn("esterel")<CR>
an 50.30.530 &Syntax.DE.Eterm\ config :cal SetSyn("eterm")<CR>
an 50.30.540 &Syntax.DE.Eviews :cal SetSyn("eviews")<CR>
an 50.30.550 &Syntax.DE.Exim\ conf :cal SetSyn("exim")<CR>
an 50.30.560 &Syntax.DE.Expect :cal SetSyn("expect")<CR>
an 50.30.570 &Syntax.DE.Exports :cal SetSyn("exports")<CR>
an 50.30.330 &Syntax.DE.Doxygen.DataScript\ with\ doxygen :cal SetSyn("datascript.doxygen")<CR>
an 50.30.340 &Syntax.DE.Dracula :cal SetSyn("dracula")<CR>
an 50.30.350 &Syntax.DE.DSSSL :cal SetSyn("dsl")<CR>
an 50.30.360 &Syntax.DE.DTD :cal SetSyn("dtd")<CR>
an 50.30.370 &Syntax.DE.DTML\ (Zope) :cal SetSyn("dtml")<CR>
an 50.30.380 &Syntax.DE.DTrace :cal SetSyn("dtrace")<CR>
an 50.30.390 &Syntax.DE.Dts/dtsi :cal SetSyn("dts")<CR>
an 50.30.400 &Syntax.DE.Dylan.Dylan :cal SetSyn("dylan")<CR>
an 50.30.410 &Syntax.DE.Dylan.Dylan\ interface :cal SetSyn("dylanintr")<CR>
an 50.30.420 &Syntax.DE.Dylan.Dylan\ lid :cal SetSyn("dylanlid")<CR>
an 50.30.440 &Syntax.DE.EDIF :cal SetSyn("edif")<CR>
an 50.30.450 &Syntax.DE.Eiffel :cal SetSyn("eiffel")<CR>
an 50.30.460 &Syntax.DE.Elinks\ config :cal SetSyn("elinks")<CR>
an 50.30.470 &Syntax.DE.Elm\ filter\ rules :cal SetSyn("elmfilt")<CR>
an 50.30.480 &Syntax.DE.Embedix\ Component\ Description :cal SetSyn("ecd")<CR>
an 50.30.490 &Syntax.DE.ERicsson\ LANGuage :cal SetSyn("erlang")<CR>
an 50.30.500 &Syntax.DE.ESMTP\ rc :cal SetSyn("esmtprc")<CR>
an 50.30.510 &Syntax.DE.ESQL-C :cal SetSyn("esqlc")<CR>
an 50.30.520 &Syntax.DE.Essbase\ script :cal SetSyn("csc")<CR>
an 50.30.530 &Syntax.DE.Esterel :cal SetSyn("esterel")<CR>
an 50.30.540 &Syntax.DE.Eterm\ config :cal SetSyn("eterm")<CR>
an 50.30.550 &Syntax.DE.Eviews :cal SetSyn("eviews")<CR>
an 50.30.560 &Syntax.DE.Exim\ conf :cal SetSyn("exim")<CR>
an 50.30.570 &Syntax.DE.Expect :cal SetSyn("expect")<CR>
an 50.30.580 &Syntax.DE.Exports :cal SetSyn("exports")<CR>
an 50.40.100 &Syntax.FG.Falcon :cal SetSyn("falcon")<CR>
an 50.40.110 &Syntax.FG.Fantom :cal SetSyn("fan")<CR>
an 50.40.120 &Syntax.FG.Fetchmail :cal SetSyn("fetchmail")<CR>
@@ -328,7 +327,6 @@ an 50.70.270 &Syntax.M.Messages\ (/var/log) :cal SetSyn("messages")<CR>
an 50.70.280 &Syntax.M.Metafont :cal SetSyn("mf")<CR>
an 50.70.290 &Syntax.M.MetaPost :cal SetSyn("mp")<CR>
an 50.70.300 &Syntax.M.MGL :cal SetSyn("mgl")<CR>
an 50.70.305 &Syntax.M.MIX :cal SetSyn("mix")<CR>
an 50.70.310 &Syntax.M.MMIX :cal SetSyn("mmix")<CR>
an 50.70.320 &Syntax.M.Modconf :cal SetSyn("modconf")<CR>
an 50.70.330 &Syntax.M.Model :cal SetSyn("model")<CR>
+23 -6
View File
@@ -335,9 +335,13 @@ CClink = $(CC)
# Uncomment one of these lines if you have that GUI but don't want to use it.
# The automatic check will use another one that can be found.
# Gnome is disabled by default, it may cause trouble.
# Gnome is disabled by default, because it may cause trouble.
#
# When both GTK+ 2 and GTK+ 3 are possible then GTK+ 2 will be selected.
# To use GTK+ 3 instead use --enable-gui=gtk3 (see below).
#CONF_OPT_GUI = --disable-gtk2-check
#CONF_OPT_GUI = --enable-gnome2-check
#CONF_OPT_GUI = --disable-gtk3-check
#CONF_OPT_GUI = --disable-motif-check
#CONF_OPT_GUI = --disable-athena-check
#CONF_OPT_GUI = --disable-nextaw-check
@@ -348,18 +352,24 @@ CClink = $(CC)
#
# GTK versions that are known not to work 100% are rejected.
# Use "--disable-gtktest" to accept them anyway.
# Only GTK 2 is supported, for GTK 1 use Vim 7.2.
# For GTK 1 use Vim 7.2.
#
# GNOME means GTK with Gnome support. If using GTK and --enable-gnome-check
# is used then GNOME will automatically be used if it is found. If you have
# GNOME, but do not want to use it (e.g., want a GTK-only version), then use
# --enable-gui=gtk or leave out --enable-gnome-check.
#
# GNOME makes sense only for GTK+ 2. Avoid use of --enable-gnome-check with
# GTK+ 3 build, as the functionality of GNOME is already incooperated into
# GTK+ 3.
#
# If the selected GUI isn't found, the GUI is disabled automatically
#CONF_OPT_GUI = --enable-gui=gtk2
#CONF_OPT_GUI = --enable-gui=gtk2 --disable-gtktest
#CONF_OPT_GUI = --enable-gui=gnome2
#CONF_OPT_GUI = --enable-gui=gnome2 --disable-gtktest
#CONF_OPT_GUI = --enable-gui=gtk3
#CONF_OPT_GUI = --enable-gui=gtk3 --disable-gtktest
#CONF_OPT_GUI = --enable-gui=motif
#CONF_OPT_GUI = --enable-gui=motif --with-motif-lib="-static -lXm -shared"
#CONF_OPT_GUI = --enable-gui=athena
@@ -368,7 +378,7 @@ CClink = $(CC)
# Carbon GUI for Mac OS X
#CONF_OPT_GUI = --enable-gui=carbon
# Uncomment this line to run an indivisual test with gvim.
# Uncomment this line to run an individual test with gvim.
#GUI_TESTARG = GUI_FLAG=-g
# DARWIN - detecting Mac OS X
@@ -402,6 +412,7 @@ CClink = $(CC)
# MZSCHEME
# Uncomment this when you want to include the MzScheme interface.
# NOTE: does not work well together with valgrind.
#CONF_OPT_MZSCHEME = --enable-mzschemeinterp
# PLT/mrscheme/drscheme Home dir; the PLTHOME environment variable also works
#CONF_OPT_PLTHOME = --with-plthome=/usr/local/plt
@@ -2463,7 +2474,8 @@ install-languages: languages $(DEST_LANG) $(DEST_KMAP)
chmod $(FILEMOD) $(DEST_KMAP)/README.txt $(DEST_KMAP)/*.vim; \
fi
# install the icons for KDE, if the directory exists and the icon doesn't.
# Install the icons for KDE, if the directory exists and the icon doesn't.
# Always when $(DESTDIR) is not empty.
ICON48PATH = $(DESTDIR)$(DATADIR)/icons/hicolor/48x48/apps
ICON32PATH = $(DESTDIR)$(DATADIR)/icons/locolor/32x32/apps
ICON16PATH = $(DESTDIR)$(DATADIR)/icons/locolor/16x16/apps
@@ -2471,6 +2483,11 @@ ICONTHEMEPATH = $(DATADIR)/icons/hicolor
DESKTOPPATH = $(DESTDIR)$(DATADIR)/applications
KDEPATH = $(HOME)/.kde/share/icons
install-icons:
if test -n "$(DESTDIR)"; then \
$(SHELL) ./mkinstalldirs $(ICON48PATH) $(ICON32PATH) \
$(ICON16PATH) $(DESKTOPPATH); \
fi
if test -d $(ICON48PATH) -a -w $(ICON48PATH) \
-a ! -f $(ICON48PATH)/gvim.png; then \
$(INSTALL_DATA) $(SCRIPTSOURCE)/vim48x48.png $(ICON48PATH)/gvim.png; \
@@ -3430,7 +3447,7 @@ objects/option.o: option.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h
objects/os_unix.o: os_unix.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
globals.h farsi.h arabic.h os_unixx.h
globals.h farsi.h arabic.h if_mzsch.h os_unixx.h
objects/pathdef.o: auto/pathdef.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
@@ -3604,7 +3621,7 @@ objects/if_lua.o: if_lua.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h
objects/if_mzsch.o: if_mzsch.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
proto.h globals.h farsi.h arabic.h if_mzsch.h
proto.h globals.h farsi.h arabic.h if_mzsch.h mzscheme_base.c
objects/if_perl.o: auto/if_perl.c vim.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
regexp.h gui.h gui_beval.h proto/gui_beval.pro alloc.h ex_cmds.h spell.h \
+1 -1
View File
@@ -3481,7 +3481,7 @@ send_common(
EMSG2(_("E917: Cannot use a callback with %s()"), fun);
return NULL;
}
channel_set_req_callback(channel, part_send,
channel_set_req_callback(channel, *part_read,
opt->jo_callback, opt->jo_partial, id);
}
+7
View File
@@ -1075,6 +1075,10 @@ ex_diffsplit(exarg_T *eap)
#ifdef FEAT_GUI
need_mouse_correct = TRUE;
#endif
/* Need to compute w_fraction when no redraw happened yet. */
validate_cursor();
set_fraction(curwin);
/* don't use a new tab page, each tab page has its own diffs */
cmdmod.tab = 0;
@@ -1101,6 +1105,9 @@ ex_diffsplit(exarg_T *eap)
curbuf,
curwin->w_cursor.lnum);
}
/* Now that lines are folded scroll to show the cursor at the same
* relative position. */
scroll_to_fraction(curwin, curwin->w_height);
}
}
}
+1 -2
View File
@@ -3905,8 +3905,7 @@ get_buffer_signs(buf_T *buf, list_T *l)
{
dict_add_nr_str(d, "id", sign->id, NULL);
dict_add_nr_str(d, "lnum", sign->lnum, NULL);
dict_add_nr_str(d, "name", 0L,
vim_strsave(sign_typenr2name(sign->typenr)));
dict_add_nr_str(d, "name", 0L, sign_typenr2name(sign->typenr));
list_append_dict(l, d);
}
+1
View File
@@ -8471,6 +8471,7 @@ ex_oldfiles(exarg_T *eap UNUSED)
msg_outnum((long)nr);
MSG_PUTS(": ");
msg_outtrans(fname);
msg_clr_eos();
msg_putchar('\n');
out_flush(); /* output one line at a time */
ui_breakcheck();
+1 -10
View File
@@ -25,16 +25,7 @@
#define CSCOPE_PROMPT ">> "
/*
* s 0name Find this C symbol
* g 1name Find this definition
* d 2name Find functions called by this function
* c 3name Find functions calling this function
* t 4string find text string (cscope 12.9)
* t 4name Find assignments to (cscope 13.3)
* 5pattern change pattern -- NOT USED
* e 6pattern Find this egrep pattern
* f 7name Find this file
* i 8name Find files #including this file
* See ":help cscope-find" for the possible queries.
*/
typedef struct {
+3 -2
View File
@@ -398,14 +398,15 @@ lua_link_init(char *libname, int verbose)
}
return OK;
}
#endif /* DYNAMIC_LUA */
#if defined(DYNAMIC_LUA) || defined(PROTO)
int
lua_enabled(int verbose)
{
return lua_link_init((char *)p_luadll, verbose) == OK;
}
#endif /* DYNAMIC_LUA */
#endif
#if LUA_VERSION_NUM > 501
static int
+5
View File
@@ -10,6 +10,11 @@
# include <stdint.h>
#endif
#ifdef PROTO
/* avoid syntax error for defining Thread_Local_Variables. */
# define __thread /* empty */
#endif
/* #ifdef needed for "make depend" */
#ifdef FEAT_MZSCHEME
# include <schvers.h>
+49 -30
View File
@@ -3994,6 +3994,30 @@ tv_float(typval_T *tvs, int *idxp)
# endif
#endif
#ifdef FEAT_FLOAT
/*
* Return the representation of infinity for printf() function:
* "-inf", "inf", "+inf", " inf", "-INF", "INF", "+INF" or " INF".
*/
static const char *
infinity_str(int positive,
char fmt_spec,
int force_sign,
int space_for_positive)
{
static const char *table[] =
{
"-inf", "inf", "+inf", " inf",
"-INF", "INF", "+INF", " INF"
};
int idx = positive * (1 + force_sign + force_sign * space_for_positive);
if (ASCII_ISUPPER(fmt_spec))
idx += 4;
return table[idx];
}
#endif
/*
* This code was included to provide a portable vsnprintf() and snprintf().
* Some systems may provide their own, but we always use this one for
@@ -4012,8 +4036,8 @@ tv_float(typval_T *tvs, int *idxp)
*
* Limited support for floating point was added: 'f', 'e', 'E', 'g', 'G'.
*
* Length modifiers 'h' (short int) and 'l' (long int) are supported.
* 'll' (long long int) is not supported.
* Length modifiers 'h' (short int) and 'l' (long int) and 'll' (long long int)
* are supported.
*
* The locale is not used, the string is used as a byte string. This is only
* relevant for double-byte encodings where the second byte may be '%'.
@@ -4401,7 +4425,7 @@ vim_vsnprintf(
uvarnumber_T ullong_arg = 0;
# endif
/* only defined for b convertion */
/* only defined for b conversion */
uvarnumber_T bin_arg = 0;
/* pointer argument value -only defined for p
@@ -4706,7 +4730,6 @@ vim_vsnprintf(
char format[40];
int l;
int remove_trailing_zeroes = FALSE;
char *s;
f =
# if defined(FEAT_EVAL)
@@ -4736,16 +4759,10 @@ vim_vsnprintf(
)
{
/* Avoid a buffer overflow */
if (f < 0)
{
strcpy(tmp, "-inf");
str_arg_l = 4;
}
else
{
strcpy(tmp, "inf");
str_arg_l = 3;
}
STRCPY(tmp, infinity_str(f > 0.0, fmt_spec,
force_sign, space_for_positive));
str_arg_l = STRLEN(tmp);
zero_padding = 0;
}
else
{
@@ -4765,23 +4782,25 @@ vim_vsnprintf(
}
format[l] = fmt_spec;
format[l + 1] = NUL;
str_arg_l = sprintf(tmp, format, f);
/* Be consistent: Change "1.#IND" to "nan" and
* "1.#INF" to "inf". */
s = *tmp == '-' ? tmp + 1 : tmp;
if (STRNCMP(s, "1.#INF", 6) == 0)
STRCPY(s, "inf");
else if (STRNCMP(s, "1.#IND", 6) == 0)
STRCPY(s, "nan");
/* Remove sign before "nan". */
if (STRNCMP(tmp, "-nan", 4) == 0)
STRCPY(tmp, "nan");
/* Add sign before "inf" if needed. */
if (isinf(f) == -1 && STRNCMP(tmp, "inf", 3) == 0)
STRCPY(tmp, "-inf");
if (isnan(f))
{
/* Not a number: nan or NAN */
STRCPY(tmp, ASCII_ISUPPER(fmt_spec) ? "NAN"
: "nan");
str_arg_l = 3;
zero_padding = 0;
}
else if (isinf(f))
{
STRCPY(tmp, infinity_str(f > 0.0, fmt_spec,
force_sign, space_for_positive));
str_arg_l = STRLEN(tmp);
zero_padding = 0;
}
else
/* Regular float number */
str_arg_l = sprintf(tmp, format, f);
if (remove_trailing_zeroes)
{
+1 -1
View File
@@ -343,7 +343,7 @@ EXTERN unsigned bo_flags;
static char *(p_bo_values[]) = {"all", "backspace", "cursor", "complete",
"copy", "ctrlg", "error", "esc", "ex",
"hangul", "insertmode", "lang", "mess",
"showmatch", "operator", "register", "shell",
"showmatch", "operator", "register", "shell",
"spell", "wildmode", NULL};
# endif
+1 -1
View File
@@ -1123,7 +1123,7 @@ out_num(long n)
dos_packet(
struct MsgPort *pid, /* process identifier ... (handlers message port) */
long action, /* packet type ... (what you want handler to do) */
arg) /* single argument */
long arg) /* single argument */
{
# ifdef FEAT_ARP
struct MsgPort *replyport;
+1 -1
View File
@@ -14,7 +14,7 @@
*/
#define NO_X11_INCLUDES
#define BalloonEval int /* used in header files */
typedef int BalloonEval; /* used in header files */
#include "vim.h"
+12 -3
View File
@@ -3940,6 +3940,7 @@ mch_new_shellsize(void)
wait4pid(pid_t child, waitstatus *status)
{
pid_t wait_pid = 0;
long delay_msec = 1;
while (wait_pid != child)
{
@@ -3954,8 +3955,10 @@ wait4pid(pid_t child, waitstatus *status)
# endif
if (wait_pid == 0)
{
/* Wait for 10 msec before trying again. */
mch_delay(10L, TRUE);
/* Wait for 1 to 10 msec before trying again. */
mch_delay(delay_msec, TRUE);
if (++delay_msec > 10)
delay_msec = 10;
continue;
}
if (wait_pid <= 0
@@ -4951,6 +4954,8 @@ finished:
# if defined(FEAT_XCLIPBOARD) && defined(FEAT_X11)
else
{
long delay_msec = 1;
/*
* Similar to the loop above, but only handle X events, no
* I/O.
@@ -4983,7 +4988,11 @@ finished:
/* Handle any X events, e.g. serving the clipboard. */
clip_update();
mch_delay(10L, TRUE);
/* Wait for 1 to 10 msec. 1 is faster but gives the child
* less time. */
mch_delay(delay_msec, TRUE);
if (++delay_msec > 10)
delay_msec = 10;
}
}
# endif
+2
View File
@@ -137,6 +137,8 @@ typedef int PSNSECINFO;
typedef int PSNSECINFOW;
typedef int STARTUPINFO;
typedef int PROCESS_INFORMATION;
typedef int LPSECURITY_ATTRIBUTES;
# define __stdcall /* empty */
#endif
#ifndef FEAT_GUI_W32
+1 -1
View File
@@ -10,7 +10,6 @@ int latin_char2len(int c);
int latin_char2bytes(int c, char_u *buf);
int latin_ptr2len(char_u *p);
int latin_ptr2len_len(char_u *p, int size);
int utf_ambiguous_width(int c);
int utf_char2cells(int c);
int latin_ptr2cells(char_u *p);
int utf_ptr2cells(char_u *p);
@@ -41,6 +40,7 @@ int utf_char2bytes(int c, char_u *buf);
int utf_iscomposing(int c);
int utf_printable(int c);
int utf_class(int c);
int utf_ambiguous_width(int c);
int utf_fold(int a);
int utf_toupper(int a);
int utf_islower(int a);
+1
View File
@@ -56,6 +56,7 @@ void win_drag_status_line(win_T *dragwin, int offset);
void win_drag_vsep_line(win_T *dragwin, int offset);
void set_fraction(win_T *wp);
void win_new_height(win_T *wp, int height);
void scroll_to_fraction(win_T *wp, int prev_height);
void win_new_width(win_T *wp, int width);
void win_comp_scroll(win_T *wp);
void command_height(void);
+5
View File
@@ -1127,8 +1127,13 @@ typedef long_u hash_T; /* Type for hi_hash */
#ifdef FEAT_NUM64
/* Use 64-bit Number. */
# ifdef WIN3264
# ifdef PROTO
typedef long varnumber_T;
typedef unsigned long uvarnumber_T;
# else
typedef __int64 varnumber_T;
typedef unsigned __int64 uvarnumber_T;
# endif
# elif defined(HAVE_STDINT_H)
typedef int64_t varnumber_T;
typedef uint64_t uvarnumber_T;
+7 -1
View File
@@ -245,7 +245,6 @@ endfunc
"""""""""
let g:Ch_reply = ""
func Ch_handler(chan, msg)
unlet g:Ch_reply
let g:Ch_reply = a:msg
@@ -271,8 +270,10 @@ endfunc
func Test_channel_handler()
call ch_log('Test_channel_handler()')
let g:Ch_reply = ""
let s:chopt.callback = 'Ch_handler'
call s:run_server('Ch_channel_handler')
let g:Ch_reply = ""
let s:chopt.callback = function('Ch_handler')
call s:run_server('Ch_channel_handler')
unlet s:chopt.callback
@@ -443,6 +444,11 @@ func Test_raw_pipe()
let msg = ch_readraw(job)
call assert_equal("this\nAND this\n", substitute(msg, "\r", "", 'g'))
let g:Ch_reply = ""
call ch_sendraw(job, "double this\n", {'callback': 'Ch_handler'})
call WaitFor('"" != g:Ch_reply')
call assert_equal("this\nAND this\n", substitute(g:Ch_reply, "\r", "", 'g'))
let reply = ch_evalraw(job, "quit\n", {'timeout': 100})
call assert_equal("Goodbye!\n", substitute(reply, "\r", "", 'g'))
finally
+1
View File
@@ -186,5 +186,6 @@ func Test_expand_star_star()
call writefile(['asdfasdf'], 'a/b/fileXname')
call feedkeys(":find **/fileXname\<Tab>\<CR>", 'xt')
call assert_equal('find a/b/fileXname', getreg(':'))
bwipe!
call delete('a', 'rf')
endfunc
+79 -9
View File
@@ -154,13 +154,22 @@ function Test_printf_misc()
call assert_equal(' 123', printf('% d', 123))
call assert_equal('-123', printf('% d', -123))
call assert_equal('123', printf('%2d', 123))
call assert_equal(' 123', printf('%6d', 123))
call assert_equal('000123', printf('%06d', 123))
call assert_equal('+00123', printf('%+06d', 123))
call assert_equal(' 00123', printf('% 06d', 123))
call assert_equal(' +123', printf('%+6d', 123))
call assert_equal(' 123', printf('% 6d', 123))
call assert_equal(' -123', printf('% 6d', -123))
call assert_equal('+123 ', printf('%-+6d', 123))
call assert_equal(' 123 ', printf('%- 6d', 123))
call assert_equal('-123 ', printf('%- 6d', -123))
call assert_equal('00123', printf('%.*d', 5, 123))
call assert_equal(' 123', printf('% *d', 5, 123))
call assert_equal(' +123', printf('%+ *d', 5, 123))
call assert_equal('123', printf('%2d', 123))
call assert_equal(' 123', printf('%5d', 123))
call assert_equal('00123', printf('%05d', 123))
call assert_equal('123 ', printf('%-5d', 123))
call assert_equal('0x7b', printf('%#x', 123))
call assert_equal('0X7B', printf('%#X', 123))
@@ -194,20 +203,81 @@ function Test_printf_float()
if has('float')
call assert_equal('1.230000', printf('%f', 1.23))
call assert_equal('1.230000', printf('%F', 1.23))
call assert_equal('1.23', printf('%g', 1.23))
call assert_equal('1.23', printf('%G', 1.23))
call assert_equal('9999999.9', printf('%g', 9999999.9))
call assert_equal('9999999.9', printf('%G', 9999999.9))
call assert_equal('1.00000001e7', printf('%.8g', 10000000.1))
call assert_equal('1.00000001E7', printf('%.8G', 10000000.1))
call assert_equal('1.230000e+00', printf('%e', 1.23))
call assert_equal('1.230000E+00', printf('%E', 1.23))
call assert_equal('1.200000e-02', printf('%e', 0.012))
call assert_equal('-1.200000e-02', printf('%e', -0.012))
call assert_equal('1.2', printf('%.1f', 1.23))
call assert_equal('0.33', printf('%.2f', 1.0/3.0))
call assert_equal(' 0.33', printf('%6.2f', 1.0/3.0))
call assert_equal(' -0.33', printf('%6.2f', -1.0/3.0))
call assert_equal('000.33', printf('%06.2f', 1.0/3.0))
" FIXME: call assert_equal('-00.33', printf('%06.2f', -1.0/3.0))
" FIXME: call assert_equal('-00.33', printf('%+06.2f', -1.0/3.0))
" FIXME: call assert_equal('+00.33', printf('%+06.2f', 1.0/3.0))
" FIXME: call assert_equal(' 00.33', printf('% 06.2f', 1.0/3.0))
" Float infinity can be signed.
call assert_equal('inf', printf('%f', 1.0/0.0))
call assert_equal('-inf', printf('%f', -1.0/0.0))
call assert_equal('inf', printf('%g', 1.0/0.0))
call assert_equal('-inf', printf('%g', -1.0/0.0))
call assert_equal('inf', printf('%e', 1.0/0.0))
call assert_equal('-inf', printf('%e', -1.0/0.0))
call assert_equal('INF', printf('%E', 1.0/0.0))
call assert_equal('-INF', printf('%E', -1.0/0.0))
call assert_equal('INF', printf('%E', 1.0/0.0))
call assert_equal('-INF', printf('%G', -1.0/0.0))
call assert_equal('+inf', printf('%+f', 1.0/0.0))
call assert_equal('-inf', printf('%+f', -1.0/0.0))
call assert_equal(' inf', printf('% f', 1.0/0.0))
call assert_equal(' inf', printf('%6f', 1.0/0.0))
call assert_equal(' -inf', printf('%6f', -1.0/0.0))
call assert_equal(' inf', printf('%6g', 1.0/0.0))
call assert_equal(' -inf', printf('%6g', -1.0/0.0))
call assert_equal(' +inf', printf('%+6f', 1.0/0.0))
call assert_equal(' inf', printf('% 6f', 1.0/0.0))
call assert_equal(' +inf', printf('%+06f', 1.0/0.0))
call assert_equal('inf ', printf('%-6f', 1.0/0.0))
call assert_equal('-inf ', printf('%-6f', -1.0/0.0))
call assert_equal('+inf ', printf('%-+6f', 1.0/0.0))
call assert_equal(' inf ', printf('%- 6f', 1.0/0.0))
call assert_equal('INF ', printf('%-6G', 1.0/0.0))
call assert_equal('-INF ', printf('%-6G', -1.0/0.0))
call assert_equal('INF ', printf('%-6E', 1.0/0.0))
call assert_equal('-INF ', printf('%-6E', -1.0/0.0))
call assert_equal('inf', printf('%s', 1.0/0.0))
call assert_equal('-inf', printf('%s', -1.0/0.0))
call assert_match('^-inf$', printf('%f', -1.0/0.0))
" Float zero can be signed.
call assert_equal('0.000000', printf('%f', 1.0/(1.0/0.0)))
call assert_equal('-0.000000', printf('%f', 1.0/(-1.0/0.0)))
call assert_equal('0.0', printf('%s', 1.0/(1.0/0.0)))
call assert_equal('-0.0', printf('%s', 1.0/(-1.0/0.0)))
call assert_equal('0.0', printf('%S', 1.0/(1.0/0.0)))
call assert_equal('-0.0', printf('%S', 1.0/(-1.0/0.0)))
call assert_match('^nan$', printf('%f', sqrt(-1.0)))
call assert_match('^nan$', printf('%f', 0.0/0.0))
" Float nan (not a number) has no sign.
call assert_equal('nan', printf('%f', sqrt(-1.0)))
call assert_equal('nan', printf('%f', 0.0/0.0))
call assert_equal('nan', printf('%f', -0.0/0.0))
call assert_equal('nan', printf('%g', 0.0/0.0))
call assert_equal('nan', printf('%e', 0.0/0.0))
call assert_equal('NAN', printf('%G', 0.0/0.0))
call assert_equal('NAN', printf('%E', 0.0/0.0))
call assert_equal('NAN', printf('%G', -0.0/0.0))
call assert_equal('NAN', printf('%E', -0.0/0.0))
call assert_equal(' nan', printf('%6f', 0.0/0.0))
call assert_equal(' nan', printf('%06f', 0.0/0.0))
call assert_equal('nan ', printf('%-6f', 0.0/0.0))
call assert_equal('nan ', printf('%- 6f', 0.0/0.0))
call assert_equal('nan', printf('%s', 0.0/0.0))
call assert_equal('nan', printf('%s', -0.0/0.0))
call assert_equal('nan', printf('%S', 0.0/0.0))
call assert_equal('nan', printf('%S', -0.0/0.0))
call assert_fails('echo printf("%f", "a")', 'E807:')
endif
+3 -3
View File
@@ -20,7 +20,7 @@ func Test_oneshot()
let slept = WaitFor('g:val == 1')
call assert_equal(1, g:val)
if has('reltime')
call assert_inrange(50, 100, slept)
call assert_inrange(49, 100, slept)
else
call assert_inrange(20, 100, slept)
endif
@@ -32,7 +32,7 @@ func Test_repeat_three()
let slept = WaitFor('g:val == 3')
call assert_equal(3, g:val)
if has('reltime')
call assert_inrange(150, 250, slept)
call assert_inrange(149, 250, slept)
else
call assert_inrange(80, 200, slept)
endif
@@ -57,7 +57,7 @@ func Test_with_partial_callback()
let slept = WaitFor('g:val == 1')
call assert_equal(1, g:val)
if has('reltime')
call assert_inrange(50, 200, slept)
call assert_inrange(49, 200, slept)
else
call assert_inrange(20, 100, slept)
endif
+30
View File
@@ -778,6 +778,36 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2290,
/**/
2289,
/**/
2288,
/**/
2287,
/**/
2286,
/**/
2285,
/**/
2284,
/**/
2283,
/**/
2282,
/**/
2281,
/**/
2280,
/**/
2279,
/**/
2278,
/**/
2277,
/**/
2276,
/**/
2275,
/**/
+10 -2
View File
@@ -411,7 +411,11 @@ typedef __int64 off_T;
# define vim_ftell _ftelli64
# endif
#else
# ifdef PROTO
typedef long off_T;
# else
typedef off_t off_T;
# endif
# ifdef HAVE_FSEEKO
# define vim_lseek lseek
# define vim_ftell ftello
@@ -1812,10 +1816,14 @@ typedef int proftime_T; /* dummy for function prototypes */
* bits elsewhere. That causes memory corruption. Define time_T and use it
* for global variables to avoid that.
*/
#ifdef WIN3264
typedef __time64_t time_T;
#ifdef PROTO
typedef long time_T;
#else
# ifdef WIN3264
typedef __time64_t time_T;
# else
typedef time_t time_T;
# endif
#endif
#ifdef _WIN64
+10 -2
View File
@@ -5679,8 +5679,6 @@ set_fraction(win_T *wp)
void
win_new_height(win_T *wp, int height)
{
linenr_T lnum;
int sline, line_size;
int prev_height = wp->w_height;
/* Don't want a negative height. Happens when splitting a tiny window.
@@ -5706,6 +5704,16 @@ win_new_height(win_T *wp, int height)
wp->w_height = height;
wp->w_skipcol = 0;
scroll_to_fraction(wp, prev_height);
}
void
scroll_to_fraction(win_T *wp, int prev_height)
{
linenr_T lnum;
int sline, line_size;
int height = wp->w_height;
/* Don't change w_topline when height is zero. Don't set w_topline when
* 'scrollbind' is set and this isn't the current window. */
if (height > 0
+6
View File
@@ -0,0 +1,6 @@
mv vim.exe vimw32.exe
mv tee/tee.exe teew32.exe
mv xxd/xxd.exe xxdw32.exe
mv vim.pdb vimw32.pdb
mv install.exe installw32.exe
mv uninstal.exe uninstalw32.exe