mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-07 15:37:14 +02:00
Compare commits
104 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 2cefa1e3ce | |||
| 72f2e94815 | |||
| 14363db5ce | |||
| 9a32768aa6 | |||
| 67435d9983 | |||
| fafcf0dd59 | |||
| ff930cad8a | |||
| 87ffb5c1a3 | |||
| 3c0ba7cc6a | |||
| 9373f08fbe | |||
| 6c35158d3c | |||
| dbb801fbab | |||
| 88023813a4 | |||
| 9c391d1df6 | |||
| 50e45d2e95 | |||
| 12e1a00e4b | |||
| f113a44867 | |||
| 5c8c040a4f | |||
| 78e3217645 | |||
| 6daeef1933 | |||
| 059db5c29f | |||
| 44cc4cf72f | |||
| 67418d97b4 | |||
| 8bfe07b708 | |||
| 00ce63dc23 | |||
| 81b07b527e | |||
| a20f83df1d | |||
| 9377df3ecd | |||
| 65e4c4f686 | |||
| b2c8750c4e | |||
| ac8069bb63 | |||
| 6199d43f4b | |||
| 2c33d7bb69 | |||
| 6047e2c722 | |||
| 1d68d9b2bd | |||
| 8065cf2bfb | |||
| 4a6fcf8047 | |||
| 9202162c5c | |||
| 9b69f22e66 | |||
| 18cfa940e2 | |||
| 0ab35b279f | |||
| 4635e11c6b | |||
| 75f69e5a18 | |||
| 631820536e | |||
| 73f4439ca6 | |||
| 54e5dbf58e | |||
| d78f03f860 | |||
| 06f8b8e667 | |||
| 4116a647ac | |||
| c902609f69 | |||
| a0a6f2776e | |||
| c8aa5fbeb7 | |||
| 19a3d68b2c | |||
| 2a6a6c3014 | |||
| 712549e04e | |||
| f33606112a | |||
| 5ece3e359c | |||
| 0aa398f55a | |||
| c233aed6c3 | |||
| 3a497e1a41 | |||
| c958b31638 | |||
| 9c2f5e7b8d | |||
| f52c383156 | |||
| 65ed136844 | |||
| c79977a437 | |||
| 660b85e39a | |||
| a5e6621aad | |||
| 816968defc | |||
| 7bfaf0665e | |||
| d371bbe0ab | |||
| db51007108 | |||
| 24a98a0eb7 | |||
| 9cf39cc57f | |||
| 1ec96c9269 | |||
| 0410900dea | |||
| d1bc96ce24 | |||
| 1b38344e00 | |||
| 97fbc404fc | |||
| 2a02745709 | |||
| 09ca932f8e | |||
| 6edeaf387c | |||
| a8fc0d3817 | |||
| 22ab547dc2 | |||
| 7c456a4511 | |||
| 783f28115f | |||
| 452030e530 | |||
| 0c6a32963d | |||
| 0b05e491b4 | |||
| aeddf7cbe5 | |||
| e0de17d84e | |||
| 378daf87d3 | |||
| 96e7a6ee45 | |||
| bb3e6416f1 | |||
| a21a6a9ade | |||
| eb163d73b1 | |||
| e745d75c3e | |||
| 0263146b5d | |||
| 53f8174eae | |||
| 76301956f0 | |||
| f3d769a585 | |||
| 8b21de33bb | |||
| c9262f4ff3 | |||
| fc7649f8b8 | |||
| b00fdf6eed |
@@ -38,6 +38,7 @@ src/pathdef.c
|
||||
src/Obj*/pathdef.c
|
||||
gvimext.dll
|
||||
gvimext.lib
|
||||
gvim.lib
|
||||
runtime/doc/uganda.nsis.txt
|
||||
|
||||
# Borland C++
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ dist: trusty
|
||||
os:
|
||||
- osx
|
||||
|
||||
osx_image: xcode8
|
||||
osx_image: xcode9.1
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
@@ -20,7 +20,7 @@ env:
|
||||
vi_cv_dll_name_python=/System/Library/Frameworks/Python.framework/Versions/2.7/Python
|
||||
vi_cv_dll_name_python3=/usr/local/Frameworks/Python.framework/Versions/3.6/Python
|
||||
VIMCMD=src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
|
||||
"CONFOPT='--with-features=huge --enable-multibyte --enable-terminal --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --enable-luainterp=dynamic --with-lua-prefix=/usr/local --enable-gui=macvim'"
|
||||
"CONFOPT='--with-features=huge --enable-multibyte --enable-terminal --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --with-ruby-command=/usr/bin/ruby --enable-luainterp=dynamic --with-lua-prefix=/usr/local --enable-gui=macvim'"
|
||||
|
||||
sudo: false
|
||||
|
||||
|
||||
@@ -136,6 +136,7 @@ SRC_ALL = \
|
||||
src/testdir/bench*.vim \
|
||||
src/testdir/samples/*.txt \
|
||||
src/testdir/if_ver*.vim \
|
||||
src/testdir/xterm_ramp.vim \
|
||||
src/proto.h \
|
||||
src/proto/arabic.pro \
|
||||
src/proto/blowfish.pro \
|
||||
@@ -405,6 +406,7 @@ SRC_DOS = \
|
||||
src/msvcsetup.bat \
|
||||
src/msvc2008.bat \
|
||||
src/msvc2010.bat \
|
||||
src/msvc2015.bat \
|
||||
src/dimm.idl \
|
||||
src/dlldata.c \
|
||||
src/dosinst.c \
|
||||
|
||||
@@ -120,28 +120,28 @@ MINOR = 0
|
||||
#
|
||||
# MS-Windows:
|
||||
# - Run make on Unix to update the ".mo" files.
|
||||
# - Get libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
|
||||
# - Get 32 bit libintl-8.dll, libiconv-2.dll and libgcc_s_sjlj-1.dll. E.g. from
|
||||
# https://mlocati.github.io/gettext-iconv-windows/ .
|
||||
# Use the "shared-32.zip file and extract the archive to get the files.
|
||||
# Put them in the top directory, "make dosrt" uses them.
|
||||
# Put them in the gettext32 directory, "make dosrt" uses them.
|
||||
# - Get 64 bit libintl-8.dll and libiconv-2.dll. E.g. from
|
||||
# https://mlocati.github.io/gettext-iconv-windows/ .
|
||||
# Use the "shared-64.zip file and extract the archive to get the files.
|
||||
# Put them in the gettext64 directory, "make dosrt" uses them.
|
||||
# - > make dossrc
|
||||
# > make dosrt
|
||||
# Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
|
||||
# This creates the directory vim/vim80 and puts all files in there.
|
||||
# Win32 console version build:
|
||||
# - Set environment for Visual C++ 2008, e.g.:
|
||||
# > src/msvc2008.bat
|
||||
# Or:
|
||||
# > C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat
|
||||
# Or, when using the Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the
|
||||
# paths when necessary).
|
||||
# For Windows 98/ME the 2003 version is required, but then the executable
|
||||
# won't work on Windows 7 and 64 bit systems.
|
||||
# - > cd src
|
||||
# - See src/INSTALLpc.txt for installing the compiler and SDK.
|
||||
# - Set environment for Visual C++ 2015:
|
||||
# > cd src
|
||||
# > msvc2015.bat
|
||||
# - Build the console binary:
|
||||
# > nmake -f Make_mvc.mak
|
||||
# - Run the tests:
|
||||
# - Run the tests and check the ouput:
|
||||
# > nmake -f Make_mvc.mak testclean
|
||||
# > nmake -f Make_mvc.mak test
|
||||
# - check the output.
|
||||
# - Rename (using ../tools/rename.bat):
|
||||
# vim.exe to vimw32.exe
|
||||
# tee/tee.exe to teew32.exe
|
||||
@@ -152,19 +152,18 @@ MINOR = 0
|
||||
# Win32 GUI version build:
|
||||
# - > cd src
|
||||
# > nmake -f Make_mvc.mak GUI=yes
|
||||
# - Run the tests:
|
||||
# - Run the tests and check the output:
|
||||
# > 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).
|
||||
# - Move gvim.pdb to here.
|
||||
# - Copy "GvimExt/gvimext.dll" to here.
|
||||
# - Delete vimrun.exe, install.exe and uninstal.exe.
|
||||
# Win32 GUI version with OLE, PERL, Ruby, TCL, PYTHON and dynamic IME:
|
||||
# - Install the interfaces you want, see src/INSTALLpc.txt
|
||||
# Adjust bigvim.bat to match the version of each interface you want.
|
||||
# - Build:
|
||||
# > cd src
|
||||
# Adjust bigvim.bat to match the version of each interface you want.
|
||||
# > bigvim.bat
|
||||
# - Run the tests:
|
||||
# > nmake -f Make_mvc.mak testclean
|
||||
@@ -188,10 +187,11 @@ MINOR = 0
|
||||
# gvimext64.dll in src/GvimExt
|
||||
# VisVim.dll in src/VisVim
|
||||
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
|
||||
# gvimext64.dll can be obtained from http://code.google.com/p/vim-win3264/
|
||||
# It is part of vim72.zip as vim72/gvimext.dll.
|
||||
# gvimext64.dll can be obtained from:
|
||||
# https://github.com/vim/vim-win32-installer/releases
|
||||
# It is part of gvim_8.0.*_x64.zip as vim/vim80/GvimExt/gvimext64.dll.
|
||||
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
||||
# version).
|
||||
# version). Also put winpty32.dll and winpty-agent.exe there.
|
||||
# - go to ../nsis and do:
|
||||
# > makensis gvim.nsi (takes a few minutes).
|
||||
# ignore warning for libwinpthread-1.dll
|
||||
@@ -467,9 +467,13 @@ dosrt_files: dist prepare no_title.vim
|
||||
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
|
||||
fi \
|
||||
done
|
||||
cp libintl-8.dll dist/vim/$(VIMRTDIR)/
|
||||
cp libiconv-2.dll dist/vim/$(VIMRTDIR)/
|
||||
cp libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/
|
||||
mkdir dist/vim/$(VIMRTDIR)/gettext32
|
||||
cp gettext32/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext32/
|
||||
cp gettext32/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext32/
|
||||
cp gettext32/libgcc_s_sjlj-1.dll dist/vim/$(VIMRTDIR)/gettext32/
|
||||
mkdir dist/vim/$(VIMRTDIR)/gettext64
|
||||
cp gettext64/libintl-8.dll dist/vim/$(VIMRTDIR)/gettext64/
|
||||
cp gettext64/libiconv-2.dll dist/vim/$(VIMRTDIR)/gettext64/
|
||||
|
||||
|
||||
# Used before uploading. Don't delete the AAPDIR/sign files!
|
||||
@@ -496,7 +500,10 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
|
||||
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
|
||||
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
|
||||
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
|
||||
cp gvimext.dll dist/vim/$(VIMRTDIR)/gvimext.dll
|
||||
mkdir dist/vim/$(VIMRTDIR)/GvimExt32
|
||||
cp gvimext.dll dist/vim/$(VIMRTDIR)/GvimExt32/gvimext.dll
|
||||
mkdir dist/vim/$(VIMRTDIR)/GvimExt64
|
||||
cp gvimext64.dll dist/vim/$(VIMRTDIR)/GvimExt64/gvimext.dll
|
||||
cd dist && zip -9 -rD -z gvim$(VERSION).zip vim <$(COMMENT_GVIM)
|
||||
cp gvim.pdb dist/gvim$(VERSION).pdb
|
||||
|
||||
|
||||
+31
-3
@@ -1,5 +1,5 @@
|
||||
This builds a one-click install for Vim for Win32 using the Nullsoft
|
||||
Installation System (NSIS), available at http://www.nullsoft.com/free/nsis/
|
||||
Installation System (NSIS), available at http://nsis.sourceforge.net/
|
||||
|
||||
To build the installable .exe:
|
||||
|
||||
@@ -17,8 +17,14 @@ To build the installable .exe:
|
||||
uninstal.exe,
|
||||
xxd/xxd.exe,
|
||||
|
||||
Then execute tools/rename.bat to rename the executables. (mv command is
|
||||
required.)
|
||||
|
||||
3. Go to the GvimExt directory and build gvimext.dll (or get it from a binary
|
||||
archive).
|
||||
archive). Both 64- and 32-bit versions are needed and should be placed
|
||||
as follows:
|
||||
64-bit: src/GvimExt/gvimext64.dll
|
||||
32-bit: src/GvimExt/gvimext.dll
|
||||
|
||||
4. Go to the VisVim directory and build VisVim.dll (or get it from a binary
|
||||
archive).
|
||||
@@ -27,13 +33,35 @@ To build the installable .exe:
|
||||
get them from a binary archive).
|
||||
|
||||
6. Get a "diff.exe" program and put it in the "../.." directory (above the
|
||||
"vim61" directory, it's the same for all Vim versions).
|
||||
"vim80" directory, it's the same for all Vim versions).
|
||||
You can find one in previous Vim versions or in this archive:
|
||||
http://www.mossbayeng.com/~ron/vim/diffutils.tar.gz
|
||||
Also put winpty32.dll and winpty-agent.exe there.
|
||||
|
||||
7. Do "make uganda.nsis.txt" in runtime/doc. This requires sed, you may have
|
||||
to do this on Unix. Make sure the file is in DOS file format!
|
||||
|
||||
8. Get gettext and iconv DLLs from the following site:
|
||||
https://github.com/mlocati/gettext-iconv-windows/releases
|
||||
Both 64- and 32-bit versions are needed.
|
||||
Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
|
||||
DLLs and place them as follows:
|
||||
|
||||
<GETTEXT directory>
|
||||
|
|
||||
+ gettext32/
|
||||
| libintl-8.dll
|
||||
| libiconv-2.dll
|
||||
| libgcc_s_sjlj-1.dll
|
||||
|
|
||||
` gettext64/
|
||||
libintl-8.dll
|
||||
libiconv-2.dll
|
||||
|
||||
The default <GETTEXT directory> is "..", however, you can change it by
|
||||
passing /DGETTEXT=... option to the makensis command.
|
||||
|
||||
|
||||
Install NSIS if you didn't do that already.
|
||||
Also install UPX, if you want a compressed file.
|
||||
|
||||
|
||||
+71
-16
@@ -20,8 +20,15 @@
|
||||
!define VIMTOOLS ..\..
|
||||
!endif
|
||||
|
||||
# Location of gettext.
|
||||
# It must contain two directories: gettext32 and gettext64.
|
||||
# See README.txt for detail.
|
||||
!ifndef GETTEXT
|
||||
!define GETTEXT ${VIMRT}
|
||||
!endif
|
||||
|
||||
# Comment the next line if you don't have UPX.
|
||||
# Get it at http://upx.sourceforge.net
|
||||
# Get it at https://upx.github.io/
|
||||
!define HAVE_UPX
|
||||
|
||||
# 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"
|
||||
SetOutPath $0
|
||||
ClearErrors
|
||||
SetOverwrite try
|
||||
|
||||
${If} ${RunningX64}
|
||||
# Install 64-bit gvimext.dll into the GvimExt64 directory.
|
||||
SetOutPath $0\GvimExt64
|
||||
ClearErrors
|
||||
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
|
||||
${Else}
|
||||
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
|
||||
!ifdef HAVE_NLS
|
||||
File ${GETTEXT}\gettext64\libintl-8.dll
|
||||
File ${GETTEXT}\gettext64\libiconv-2.dll
|
||||
!endif
|
||||
|
||||
IfErrors 0 GvimExt64Done
|
||||
|
||||
# Can't copy gvimext.dll, create it under another name and rename it
|
||||
# on next reboot.
|
||||
GetTempFileName $3 $0\GvimExt64
|
||||
File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
|
||||
Rename /REBOOTOK $3 $0\GvimExt64\gvimext.dll
|
||||
!ifdef HAVE_NLS
|
||||
GetTempFileName $3 $0\GvimExt64
|
||||
File /oname=$3 ${GETTEXT}\gettext64\libintl-8.dll
|
||||
Rename /REBOOTOK $3 $0\GvimExt64\libintl-8.dll
|
||||
GetTempFileName $3 $0\GvimExt64
|
||||
File /oname=$3 ${GETTEXT}\gettext64\libiconv-2.dll
|
||||
Rename /REBOOTOK $3 $0\GvimExt64\libiconv-2.dll
|
||||
!endif
|
||||
${EndIf}
|
||||
IfErrors 0 GvimExtDone
|
||||
|
||||
GvimExt64Done:
|
||||
|
||||
# Install 32-bit gvimext.dll into the GvimExt32 directory.
|
||||
SetOutPath $0\GvimExt32
|
||||
ClearErrors
|
||||
|
||||
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
|
||||
!ifdef HAVE_NLS
|
||||
File ${GETTEXT}\gettext32\libintl-8.dll
|
||||
File ${GETTEXT}\gettext32\libiconv-2.dll
|
||||
File ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
|
||||
!endif
|
||||
|
||||
IfErrors 0 GvimExt32Done
|
||||
|
||||
# Can't copy gvimext.dll, create it under another name and rename it on
|
||||
# next reboot.
|
||||
GetTempFileName $3 $0
|
||||
${If} ${RunningX64}
|
||||
File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
|
||||
${Else}
|
||||
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
|
||||
${EndIf}
|
||||
Rename /REBOOTOK $3 $0\gvimext.dll
|
||||
GetTempFileName $3 $0\GvimExt32
|
||||
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
|
||||
Rename /REBOOTOK $3 $0\GvimExt32\gvimext.dll
|
||||
!ifdef HAVE_NLS
|
||||
GetTempFileName $3 $0\GvimExt32
|
||||
File /oname=$3 ${GETTEXT}\gettext32\libintl-8.dll
|
||||
Rename /REBOOTOK $3 $0\GvimExt32\libintl-8.dll
|
||||
GetTempFileName $3 $0\GvimExt32
|
||||
File /oname=$3 ${GETTEXT}\gettext32\libiconv-2.dll
|
||||
Rename /REBOOTOK $3 $0\GvimExt32\libiconv-2.dll
|
||||
GetTempFileName $3 $0\GvimExt32
|
||||
File /oname=$3 ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
|
||||
Rename /REBOOTOK $3 $0\GvimExt32\libgcc_s_sjlj-1.dll
|
||||
!endif
|
||||
|
||||
GvimExtDone:
|
||||
GvimExt32Done:
|
||||
SetOverwrite lastused
|
||||
|
||||
# We don't have a separate entry for the "Open With..." menu, assume
|
||||
@@ -394,10 +444,10 @@ SectionEnd
|
||||
File ${VIMRT}\keymap\README.txt
|
||||
File ${VIMRT}\keymap\*.vim
|
||||
SetOutPath $0
|
||||
File ${VIMRT}\libintl-8.dll
|
||||
File ${VIMRT}\libiconv-2.dll
|
||||
File /nonfatal ${VIMRT}\libwinpthread-1.dll
|
||||
File /nonfatal ${VIMRT}\libgcc_s_sjlj-1.dll
|
||||
File ${GETTEXT}\gettext32\libintl-8.dll
|
||||
File ${GETTEXT}\gettext32\libiconv-2.dll
|
||||
#File /nonfatal ${VIMRT}\libwinpthread-1.dll
|
||||
File /nonfatal ${GETTEXT}\gettext32\libgcc_s_sjlj-1.dll
|
||||
SectionEnd
|
||||
!endif
|
||||
|
||||
@@ -437,6 +487,11 @@ Section Uninstall
|
||||
$\nIt contains the Vim executables and runtime files." IDNO NoRemoveExes
|
||||
|
||||
Delete /REBOOTOK $0\*.dll
|
||||
Delete /REBOOTOK $0\GvimExt32\*.dll
|
||||
${If} ${RunningX64}
|
||||
Delete /REBOOTOK $0\GvimExt64\*.dll
|
||||
${EndIf}
|
||||
|
||||
ClearErrors
|
||||
# Remove everything but *.dll files. Avoids that
|
||||
# a lot remains when gvimext.dll cannot be deleted.
|
||||
|
||||
@@ -492,6 +492,18 @@ CmdUndefined When a user command is used but it isn't
|
||||
command is defined. An alternative is to
|
||||
always define the user command and have it
|
||||
invoke an autoloaded function. See |autoload|.
|
||||
*CmdlineEnter*
|
||||
CmdlineEnter After moving the cursor to the command line,
|
||||
where the user can type a command or search
|
||||
string.
|
||||
<afile> is set to a single character,
|
||||
indicating the type of command-line.
|
||||
|cmdwin-char|
|
||||
*CmdlineLeave*
|
||||
CmdlineLeave Before leaving the command line.
|
||||
<afile> is set to a single character,
|
||||
indicating the type of command-line.
|
||||
|cmdwin-char|
|
||||
*CmdwinEnter*
|
||||
CmdwinEnter After entering the command-line window.
|
||||
Useful for setting options specifically for
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 8.0. Last change: 2017 Sep 02
|
||||
*diff.txt* For Vim version 8.0. Last change: 2017 Sep 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -10,7 +10,7 @@ eight versions of the same file.
|
||||
|
||||
The basics are explained in section |08.7| of the user manual.
|
||||
|
||||
1. Starting diff mode |vimdiff|
|
||||
1. Starting diff mode |start-vimdiff|
|
||||
2. Viewing diffs |view-diffs|
|
||||
3. Jumping to diffs |jumpto-diffs|
|
||||
4. Copying diffs |copy-diffs|
|
||||
@@ -19,7 +19,7 @@ The basics are explained in section |08.7| of the user manual.
|
||||
{not in Vi}
|
||||
|
||||
==============================================================================
|
||||
1. Starting diff mode
|
||||
1. Starting diff mode *start-vimdiff*
|
||||
|
||||
The easiest way to start editing in diff mode is with the "vimdiff" command.
|
||||
This starts Vim as usual, and additionally sets up for viewing the differences
|
||||
|
||||
@@ -1912,11 +1912,16 @@ v:termstyleresp The escape sequence returned by the terminal for the |t_RS|
|
||||
termcap entry. This is used to find out what the shape of the
|
||||
cursor is. This is used by |term_getcursor()|.
|
||||
|
||||
*v:termrgbresp*
|
||||
v:termrgbresp The escape sequence returned by the terminal for the |t_RB|
|
||||
*v:termrbgresp*
|
||||
v:termrbgresp The escape sequence returned by the terminal for the |t_RB|
|
||||
termcap entry. This is used to find out what the terminal
|
||||
background color is, see 'background'.
|
||||
|
||||
*v:termrfgresp*
|
||||
v:termrfgresp The escape sequence returned by the terminal for the |t_RF|
|
||||
termcap entry. This is used to find out what the terminal
|
||||
foreground color is.
|
||||
|
||||
*v:termu7resp*
|
||||
v:termu7resp The escape sequence returned by the terminal for the |t_u7|
|
||||
termcap entry. This is used to find out what the terminal
|
||||
|
||||
+11
-5
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 8.0. Last change: 2017 Sep 19
|
||||
*gui.txt* For Vim version 8.0. Last change: 2017 Sep 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -796,11 +796,17 @@ make the items look like icons.
|
||||
If the items do not fit then the last ones cannot be used. The toolbar does
|
||||
not wrap.
|
||||
|
||||
Note that Vim may be in any mode when executing these commands. The menu
|
||||
should be defined for Normal mode and will be executed without changing the
|
||||
current mode. Thus if the current window is in Visual mode and the menu
|
||||
command does not intentionally change the mode, Vim will remain in Visual
|
||||
mode. Best is to use `:nnoremenu` to avoid side effects.
|
||||
|
||||
Example for debugger tools: >
|
||||
amenu 1.10 WinBar.Step :Step<CR>
|
||||
amenu 1.20 WinBar.Next :Next<CR>
|
||||
amenu 1.30 WinBar.Finish :Finish<CR>
|
||||
amenu 1.40 WinBar.Cont :Continue<CR>
|
||||
nnoremenu 1.10 WinBar.Step :Step<CR>
|
||||
nnoremenu 1.20 WinBar.Next :Next<CR>
|
||||
nnoremenu 1.30 WinBar.Finish :Finish<CR>
|
||||
nnoremenu 1.40 WinBar.Cont :Continue<CR>
|
||||
<
|
||||
The window toolbar uses the ToolbarLine and ToolbarButton highlight groups.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_mzsch.txt* For Vim version 8.0. Last change: 2016 Jan 24
|
||||
*if_mzsch.txt* For Vim version 8.0. Last change: 2017 Oct 08
|
||||
|
||||
|
||||
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
|
||||
use Vim without these DLL files.
|
||||
NOTE: Newer version of MzScheme (Racket) require earlier (trampolined)
|
||||
initialisation via scheme_main_setup. So Vim always loads the MzScheme DLL at
|
||||
startup if possible.
|
||||
startup if possible. This may make Vim startup slower.
|
||||
|
||||
To use the MzScheme interface the MzScheme DLLs must be in your search path.
|
||||
In a console window type "path" to see what directories are used.
|
||||
|
||||
The names of the DLLs must match the MzScheme version Vim was compiled with.
|
||||
On MS-Windows the options 'mzschemedll' and 'mzschemegcdll' are used for the
|
||||
name of the library to load. The initial value is specified at build time.
|
||||
|
||||
The version of the DLL must match the MzScheme version Vim was compiled with.
|
||||
For MzScheme version 209 they will be "libmzsch209_000.dll" and
|
||||
"libmzgc209_000.dll". To know for sure look at the output of the ":version"
|
||||
command, look for -DDYNAMIC_MZSCH_DLL="something" and
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.0. Last change: 2017 Sep 17
|
||||
*map.txt* For Vim version 8.0. Last change: 2017 Sep 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -29,7 +29,7 @@ manual.
|
||||
1. Key mapping *key-mapping* *mapping* *macro*
|
||||
|
||||
Key mapping is used to change the meaning of typed keys. The most common use
|
||||
is to define a sequence commands for a function key. Example: >
|
||||
is to define a sequence of commands for a function key. Example: >
|
||||
|
||||
:map <F2> a<C-R>=strftime("%c")<CR><Esc>
|
||||
|
||||
|
||||
@@ -463,12 +463,6 @@ changed. To avoid the message reset the 'warn' option.
|
||||
Something inside Vim went wrong and resulted in a NULL pointer. If you know
|
||||
how to reproduce this problem, please report it. |bugs|
|
||||
|
||||
*E172* >
|
||||
Only one file name allowed
|
||||
|
||||
The ":edit" command only accepts one file name. When you want to specify
|
||||
several files for editing use ":next" |:next|.
|
||||
|
||||
*E41* *E82* *E83* *E342* >
|
||||
Out of memory!
|
||||
Out of memory! (allocating {number} bytes)
|
||||
|
||||
@@ -1317,7 +1317,10 @@ the current line is included. You can then use "%" to go to the matching line.
|
||||
H To line [count] from top (Home) of window (default:
|
||||
first line on the window) on the first non-blank
|
||||
character |linewise|. See also 'startofline' option.
|
||||
Cursor is adjusted for 'scrolloff' option.
|
||||
Cursor is adjusted for 'scrolloff' option, unless an
|
||||
operator is pending, in which case the text may
|
||||
scroll. E.g. "yH" yanks from the first visible line
|
||||
until the cursor line (inclusive).
|
||||
|
||||
*M*
|
||||
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
|
||||
L To line [count] from bottom of window (default: Last
|
||||
line on the window) on the first non-blank character
|
||||
|linewise|. See also 'startofline' option.
|
||||
Cursor is adjusted for 'scrolloff' option.
|
||||
Cursor is adjusted for 'scrolloff' option, unless an
|
||||
operator is pending, in which case the text may
|
||||
scroll. E.g. "yL" yanks from the cursor to the last
|
||||
visible line.
|
||||
|
||||
<LeftMouse> Moves to the position on the screen where the mouse
|
||||
click is |exclusive|. See also |<LeftMouse>|. If the
|
||||
|
||||
+29
-4
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.0. Last change: 2017 Sep 16
|
||||
*options.txt* For Vim version 8.0. Last change: 2017 Sep 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -4504,8 +4504,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
1 over-the-spot style
|
||||
See: |xim-input-style|
|
||||
|
||||
For a long time on-the-spot sytle had been used in GTK version of vim,
|
||||
however, it is known that it causes troubles when using mappings,
|
||||
For a long time on-the-spot style had been used in the GTK version of
|
||||
vim, however, it is known that it causes troubles when using mappings,
|
||||
|single-repeat|, etc. Therefore over-the-spot style becomes the
|
||||
default now. This should work fine for most people, however if you
|
||||
have any problem with it, try using on-the-spot style.
|
||||
@@ -5630,6 +5630,31 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
time in msec between two mouse clicks for the second click to be
|
||||
recognized as a multi click.
|
||||
|
||||
*'mzschemedll'*
|
||||
'mzschemedll' string (default depends on the build)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+mzscheme/dyn|
|
||||
feature}
|
||||
Specifies the name of the MzScheme shared library. The default is
|
||||
DYNAMIC_MZSCH_DLL which was specified at compile time.
|
||||
Environment variables are expanded |:set_env|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'mzschemegcdll'*
|
||||
'mzschemegcdll' string (default depends on the build)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with the |+mzscheme/dyn|
|
||||
feature}
|
||||
Specifies the name of the MzScheme GC shared library. The default is
|
||||
DYNAMIC_MZGC_DLL which was specified at compile time.
|
||||
The value can be equal to 'mzschemedll' if it includes the GC code.
|
||||
Environment variables are expanded |:set_env|.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'mzquantum'* *'mzq'*
|
||||
'mzquantum' 'mzq' number (default 100)
|
||||
global
|
||||
@@ -8466,7 +8491,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Save the whole buffer for undo when reloading it. This applies to the
|
||||
":e!" command and reloading for when the buffer changed outside of
|
||||
Vim. |FileChangedShell|
|
||||
The save only happens when this options is negative or when the number
|
||||
The save only happens when this option is negative or when the number
|
||||
of lines is smaller than the value of this option.
|
||||
Set this option to zero to disable undo for a reload.
|
||||
|
||||
|
||||
@@ -8565,6 +8565,7 @@ star pattern.txt /*star*
|
||||
starstar editing.txt /*starstar*
|
||||
starstar-wildcard editing.txt /*starstar-wildcard*
|
||||
start-of-file pattern.txt /*start-of-file*
|
||||
start-vimdiff diff.txt /*start-vimdiff*
|
||||
starting starting.txt /*starting*
|
||||
starting-amiga starting.txt /*starting-amiga*
|
||||
starting.txt starting.txt /*starting.txt*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.0. Last change: 2017 Sep 17
|
||||
*terminal.txt* For Vim version 8.0. Last change: 2017 Sep 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -81,7 +81,14 @@ themselves (like Vim does).
|
||||
|
||||
To change the keys you type use terminal mode mappings, see |:tmap|.
|
||||
These are defined like any mapping, but apply only when typing keys that are
|
||||
sent to the job running in the terminal.
|
||||
sent to the job running in the terminal. For example, to make Escape switch
|
||||
to Terminal-Normal mode: >
|
||||
tnoremap <Esc> <C-W>N
|
||||
|
||||
After opening the terminal window and setting 'buftype' to "terminal" the
|
||||
BufWinEnter autocommand event is triggered. This makes it possible to set
|
||||
options specifically for the window and buffer. Example: >
|
||||
au BufWinEnter * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
|
||||
|
||||
|
||||
Size and color ~
|
||||
@@ -328,7 +335,7 @@ Load the plugin with this command: >
|
||||
packadd termdebug
|
||||
< *:Termdebug*
|
||||
To start debugging use `:TermDebug` folowed by the command name, for example: >
|
||||
:TermDebug vim
|
||||
:Termdebug vim
|
||||
|
||||
This opens two windows:
|
||||
gdb window A terminal window in which "gdb vim" is executed. Here you
|
||||
@@ -352,6 +359,62 @@ When the debugger ends, typically by typing "quit" in the gdb window, the two
|
||||
opened windows are closed.
|
||||
|
||||
|
||||
Example session ~
|
||||
|
||||
Start in the Vim "src" directory and build Vim: >
|
||||
% make
|
||||
Start Vim: >
|
||||
% ./vim
|
||||
Load the termdebug plugin and start debugging Vim: >
|
||||
:packadd termdebug
|
||||
:Termdebug vim
|
||||
You should now have three windows:
|
||||
source - where you started, has a window toolbar with buttons
|
||||
gdb - you can type gdb commands here
|
||||
program - the executed program will use this window
|
||||
You can use CTRL-W CTRL-W or the mouse to move focus between windows.
|
||||
Put focus on the gdb window and type: >
|
||||
break ex_help
|
||||
run
|
||||
Vim will start running in the program window. Put focus there and type: >
|
||||
:help gui
|
||||
Gdb will run into the ex_help breakpoint. The source window now shows the
|
||||
ex_cmds.c file. A ">>" marker will appear where the breakpoint was set. The
|
||||
line where the debugger stopped is highlighted. You can now step through the
|
||||
program. Let's use the mouse: click on the "Next" button in the window
|
||||
toolbar. You will see the highlighting move as the debugger executes a line
|
||||
of source code.
|
||||
|
||||
Click "Next" a few times until the for loop is highlighted. Put the cursor on
|
||||
the end of "eap->arg", then click "Eval" in the toolbar. You will see this
|
||||
displayed:
|
||||
"eap->arg": 0x555555e68855 "gui" ~
|
||||
This way you can inspect the value of local variables. You can also focus the
|
||||
gdb window and use a "print" command, e.g.: >
|
||||
print *eap
|
||||
|
||||
Now go back to the source window and put the cursor on the first line after
|
||||
the for loop, then type: >
|
||||
:Break
|
||||
You will see a ">>" marker appear, this indicates the new breakpoint. Now
|
||||
click "Cont" in the toolbar and the code until the breakpoint will be
|
||||
executed.
|
||||
|
||||
You can type more advanced commands in the gdb window. For example, type: >
|
||||
watch curbuf
|
||||
Now click "Cont" in the toolbar (or type "cont" in the gdb window). Execution
|
||||
will now continue until the value of "curbuf" changes, which is in do_ecmd().
|
||||
To remove this watchpoint again type in the gdb window: >
|
||||
delete 3
|
||||
|
||||
You can see the stack by typing in the gdb window: >
|
||||
where
|
||||
Move through the stack frames, e.g. with: >
|
||||
frame 3
|
||||
The source window will show the code, at the point where the call was made to
|
||||
a deeper level.
|
||||
|
||||
|
||||
Stepping through code ~
|
||||
|
||||
Put focus on the gdb window to type commands there. Some common ones are:
|
||||
@@ -410,7 +473,7 @@ To change the name of the gdb command, set the "termdebugger" variable before
|
||||
invoking `:Termdebug`: >
|
||||
let termdebugger = "mygdb"
|
||||
Only debuggers fully compatible with gdb will work. Vim uses the GDB/MI
|
||||
interface.
|
||||
interface. This probably requires gdb version 7.12.
|
||||
|
||||
The color of the signs can be adjusted with these highlight groups:
|
||||
- debugPC the current position
|
||||
@@ -429,6 +492,10 @@ vertical split: >
|
||||
let g:termdebug_wide = 163
|
||||
This will set &columns to 163 when :Termdebug is used. The value is restored
|
||||
when quitting the debugger.
|
||||
If g:termdebug_wide is set and &Columns is already larger than
|
||||
g:termdebug_wide then a vertical split will be used without changing &columns.
|
||||
Set it to 1 to get a vertical split without every changing &columns (useful
|
||||
for when the terminal can't be resized by Vim).
|
||||
|
||||
|
||||
|
||||
|
||||
+22
-26
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.0. Last change: 2017 Sep 19
|
||||
*todo.txt* For Vim version 8.0. Last change: 2017 Sep 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -35,17 +35,16 @@ entered there will not be repeated below, unless there is extra information.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
MS-Windows build and installer improvements:
|
||||
- Switch to VC2015 for building. (Ken Takata, 2017 Sep 21)
|
||||
Check resulting binary on XP.
|
||||
- Patch to install 32 and 64 bit Gvimext and related dll files. (Ken Takata,
|
||||
2017 Sep 23, #2144)
|
||||
|
||||
:term hangs in Athena and Motif. (Kazunobu Kuriyama, 2017 Sep 17)
|
||||
|
||||
Always use FEAT_WINDOWS:
|
||||
May get rid of:
|
||||
#define W_WINCOL(wp) (wp->w_wincol)
|
||||
#define W_WIDTH(wp) (wp->w_width)
|
||||
#define W_ENDCOL(wp) (wp->w_wincol + wp->w_width)
|
||||
#define W_VSEP_WIDTH(wp) (wp->w_vsep_width)
|
||||
#define W_STATUS_HEIGHT(wp) (wp->w_status_height)
|
||||
#define W_WINROW(wp) (wp->w_winrow)
|
||||
# define ALIST(win) (win)->w_alist
|
||||
Universal solution to detect if t_RS is working, using cursor position.
|
||||
Koichi Iwamoto, #2126
|
||||
|
||||
No maintainer for Vietnamese translations.
|
||||
No maintainer for Simplified Chinese translations.
|
||||
@@ -70,6 +69,8 @@ Terminal emulator window:
|
||||
with the expected screenshot. Set t_Co to 256.
|
||||
|
||||
+channel:
|
||||
- Add a separate timeout for opening a socket. Currently it's fixed at 50
|
||||
msec, which is too small for a remote connection. (tverniquet, #2130)
|
||||
- Try out background make plugin:
|
||||
https://github.com/AndrewVos/vim-make-background
|
||||
- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
|
||||
@@ -94,6 +95,8 @@ Terminal emulator window:
|
||||
Although user could use "xterm -e 'cmd arg'".
|
||||
|
||||
Regexp problems:
|
||||
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
|
||||
characters, esp. including 0xa0. Use character class zero.
|
||||
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
|
||||
(Manuel Ortega, 2016 Apr 24)
|
||||
Test fails on Mac. Avoid using isalpha(), isalnum(), etc? Depends on
|
||||
@@ -149,14 +152,11 @@ Use names that indicate their appearnce (Christian Brabandt, 2017 Aug 3)
|
||||
Suggested by Hiroki Kokubun:
|
||||
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
|
||||
- [hybrid](https://github.com/w0ng/vim-hybrid)
|
||||
|
||||
Patch to update Brazilian translations. (Eduardo Dobay, 2017 Sep 10, #2077)
|
||||
Include solarized color scheme?
|
||||
|
||||
When starting with --clean packages under "start" are not loaded. Make this
|
||||
work: :packadd START {name} similar to :runtime START name
|
||||
|
||||
Patch to refactor qf_jump(). (Yegappan, 2017 Sep 17)
|
||||
|
||||
When using :packadd files under "later" are not used, which is inconsistent
|
||||
with packages under "start". (xtal8, #1994)
|
||||
|
||||
@@ -175,14 +175,19 @@ Patch for not profiling the first line of a script. (Lemonboy, 2017 Sep 17,
|
||||
Mac Terminal.app: ctermbg=15 gives light grey instead of white.
|
||||
ctermbg=256 breaks clearing till end of the line. Both work fine in xterm.
|
||||
|
||||
Patch to avoid `rb_load_protect` as a workaround not to crash (#2147)
|
||||
|
||||
Patch for drag&drop reordering of GUI tab pages reordering.
|
||||
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
|
||||
Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
|
||||
Update 2016 Aug 10.
|
||||
|
||||
Using ":hi" causes a redraw, but a redraw may update the status line, which
|
||||
may trigger a ":hi" command.
|
||||
|
||||
Last line not in profile if it is a continuation line. (LemonBoy, 2017 Sep 17,
|
||||
#2112)
|
||||
|
||||
"vim -c startinsert!" doesn't append. (#2117)
|
||||
|
||||
With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
|
||||
(Marcin Szewczyk, 2017 Apr 26)
|
||||
|
||||
@@ -203,6 +208,7 @@ Patch to make ":set scroll&" work properly. (Ozaki Kiichi, 2017 Sep 17, #2104)
|
||||
|
||||
mswin.vim should not map CTRL-F in the console (#2093)
|
||||
Patch from Christian, 2017 Sep 15.
|
||||
Installer patch from Ken Takata, link on #2093.
|
||||
|
||||
Default install on MS-Windows should source defaults.vim.
|
||||
Ask whether to use Windows or Vim key behavior?
|
||||
@@ -324,8 +330,6 @@ Use gvimext.dll from the nightly build? (Issue #249)
|
||||
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
|
||||
8, #1690)
|
||||
|
||||
Include solarized color scheme?
|
||||
|
||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||
manager. Problem with Motif?
|
||||
|
||||
@@ -660,11 +664,6 @@ Patch to improve map documentation. Issue #799.
|
||||
|
||||
Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
|
||||
|
||||
Patch for drag&drop reordering of GUI tab pages reordering.
|
||||
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
|
||||
Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
|
||||
Update 2016 Aug 10.
|
||||
|
||||
We can use '. to go to the last change in the current buffer, but how about
|
||||
the last change in any buffer? Can we use ', (, is next to .)?
|
||||
|
||||
@@ -2236,9 +2235,6 @@ with "gvim -nb:localhost:55555:foo". From nc do: '1:editFile!0 "foo"'. Then
|
||||
go to Insert mode and add a few lines. Then backspacing every other time
|
||||
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
|
||||
|
||||
Windows installer should install 32-bit version of right-click handler also on
|
||||
64-bit systems. (Brian Cunningham, 2011 Dec 28)
|
||||
|
||||
Windows installer could add a "open in new tab of existing Vim" menu entry.
|
||||
Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
|
||||
Just have two choices, always using one Vim and selecting between using an
|
||||
|
||||
+1
-1
@@ -325,7 +325,7 @@ You can still edit the buffer, but will be prevented from accidentally
|
||||
overwriting a file.
|
||||
If you do want to overwrite a file, add an exclamation mark to the Ex command,
|
||||
as in ":w!".
|
||||
The \-R option also implies the \-n option (see below).
|
||||
The \-R option also implies the \-n option (see above).
|
||||
The 'readonly' option can be reset with ":set noro".
|
||||
See ":help 'readonly'".
|
||||
.TP
|
||||
|
||||
+1
-1
@@ -225,7 +225,7 @@ OPTIONS
|
||||
dentally overwriting a file. If you do want to overwrite a
|
||||
file, add an exclamation mark to the Ex command, as in
|
||||
":w!". The -R option also implies the -n option (see
|
||||
below). The 'readonly' option can be reset with ":set
|
||||
above). The 'readonly' option can be reset with ":set
|
||||
noro". See ":help 'readonly'".
|
||||
|
||||
-r List swap files, with information about using them for
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 8.0. Last change: 2017 Sep 08
|
||||
*windows.txt* For Vim version 8.0. Last change: 2017 Sep 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -619,7 +619,8 @@ The minimal height and width of a window is set with 'winminheight' and
|
||||
41. :buffers list of buffers
|
||||
|
||||
The meaning of [N] depends on the command:
|
||||
[N] is number of buffers to go forward/backward on ?2, ?3, and ?4
|
||||
[N] is the number of buffers to go forward/backward on 2/12/22/32,
|
||||
3/13/23/33, and 4/14/24/34
|
||||
[N] is an argument number, defaulting to current argument, for 1 and 21
|
||||
[N] is a buffer number, defaulting to current buffer, for 11 and 31
|
||||
[N] is a count for 19 and 39
|
||||
|
||||
+4
-2
@@ -1,6 +1,6 @@
|
||||
" Vim script for Evim key bindings
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2016 Jul 24
|
||||
" Last Change: 2017 Sep 20
|
||||
|
||||
" Don't use Vi-compatible mode.
|
||||
set nocompatible
|
||||
@@ -67,8 +67,10 @@ endif " has("autocmd")
|
||||
"
|
||||
" The matchit plugin makes the % command work better, but it is not backwards
|
||||
" compatible.
|
||||
" The ! means the package won't be loaded right away but when plugins are
|
||||
" loaded during initialization.
|
||||
if has('syntax') && has('eval')
|
||||
packadd matchit
|
||||
packadd! matchit
|
||||
endif
|
||||
|
||||
" vim: set sw=2 :
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
|
||||
" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com>
|
||||
" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
||||
" Last Change: 2017 Aug 30
|
||||
" Last Change: 2017 Sep 24
|
||||
"
|
||||
" Licence: The CMake license applies to this file. See
|
||||
" https://cmake.org/licensing
|
||||
@@ -14,7 +14,6 @@ if exists("b:did_indent")
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal et
|
||||
setlocal indentexpr=CMakeGetIndent(v:lnum)
|
||||
setlocal indentkeys+==ENDIF(,ENDFOREACH(,ENDMACRO(,ELSE(,ELSEIF(,ENDWHILE(
|
||||
|
||||
@@ -67,19 +66,19 @@ fun! CMakeGetIndent(lnum)
|
||||
let ind = ind
|
||||
else
|
||||
if previous_line =~? cmake_indent_begin_regex
|
||||
let ind = ind + &sw
|
||||
let ind = ind + shiftwidth()
|
||||
endif
|
||||
if previous_line =~? cmake_indent_open_regex
|
||||
let ind = ind + &sw
|
||||
let ind = ind + shiftwidth()
|
||||
endif
|
||||
endif
|
||||
|
||||
" Subtract
|
||||
if this_line =~? cmake_indent_end_regex
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
if previous_line =~? cmake_indent_close_regex
|
||||
let ind = ind - &sw
|
||||
let ind = ind - shiftwidth()
|
||||
endif
|
||||
|
||||
return ind
|
||||
|
||||
+11
-9
@@ -43,12 +43,14 @@ func s:StartDebug(cmd)
|
||||
let s:startwin = win_getid(winnr())
|
||||
let s:startsigncolumn = &signcolumn
|
||||
|
||||
if exists('g:termdebug_wide') && &columns < g:termdebug_wide
|
||||
let s:save_columns = &columns
|
||||
let &columns = g:termdebug_wide
|
||||
let s:save_columns = 0
|
||||
if exists('g:termdebug_wide')
|
||||
if &columns < g:termdebug_wide
|
||||
let s:save_columns = &columns
|
||||
let &columns = g:termdebug_wide
|
||||
endif
|
||||
let vertical = 1
|
||||
else
|
||||
let s:save_columns = 0
|
||||
let vertical = 0
|
||||
endif
|
||||
|
||||
@@ -175,11 +177,11 @@ func s:InstallCommands()
|
||||
nnoremap K :Evaluate<CR>
|
||||
|
||||
if has('menu')
|
||||
amenu WinBar.Step :Step<CR>
|
||||
amenu WinBar.Next :Over<CR>
|
||||
amenu WinBar.Finish :Finish<CR>
|
||||
amenu WinBar.Cont :Continue<CR>
|
||||
amenu WinBar.Eval :Evaluate<CR>
|
||||
nnoremenu WinBar.Step :Step<CR>
|
||||
nnoremenu WinBar.Next :Over<CR>
|
||||
nnoremenu WinBar.Finish :Finish<CR>
|
||||
nnoremenu WinBar.Cont :Continue<CR>
|
||||
nnoremenu WinBar.Eval :Evaluate<CR>
|
||||
endif
|
||||
endfunc
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
" An example for a vimrc file.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2016 Jul 28
|
||||
" Last change: 2017 Sep 20
|
||||
"
|
||||
" To use it, copy it to
|
||||
" for Unix and OS/2: ~/.vimrc
|
||||
@@ -53,6 +53,8 @@ endif " has("autocmd")
|
||||
"
|
||||
" The matchit plugin makes the % command work better, but it is not backwards
|
||||
" compatible.
|
||||
" The ! means the package won't be loaded right away but when plugins are
|
||||
" loaded during initialization.
|
||||
if has('syntax') && has('eval')
|
||||
packadd matchit
|
||||
packadd! matchit
|
||||
endif
|
||||
|
||||
@@ -51,14 +51,17 @@ olelibsdll = ole32.lib uuid.lib oleaut32.lib user32.lib gdi32.lib advapi32.lib
|
||||
# include CPUARG
|
||||
cflags = $(cflags) $(CPUARG)
|
||||
|
||||
SUBSYSTEM = console
|
||||
!if "$(SUBSYSTEM_VER)" != ""
|
||||
SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER)
|
||||
!endif
|
||||
|
||||
all: gvimext.dll
|
||||
|
||||
gvimext.dll: gvimext.obj \
|
||||
gvimext.res
|
||||
# $(implib) /NOLOGO -machine:$(CPU) -def:gvimext.def $** -out:gvimext.lib
|
||||
# $(link) $(dlllflags) -base:0x1C000000 -out:$*.dll $** $(olelibsdll) shell32.lib gvimext.lib comctl32.lib gvimext.exp
|
||||
$(link) $(lflags) -dll -def:gvimext.def -base:0x1C000000 -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib
|
||||
if exist $*.dll.manifest mt -nologo -manifest $*.dll.manifest -outputresource:$*.dll;2
|
||||
$(link) $(lflags) -dll -def:gvimext.def -base:0x1C000000 -out:$*.dll $** $(olelibsdll) shell32.lib comctl32.lib -subsystem:$(SUBSYSTEM)
|
||||
if exist $*.dll.manifest mt -nologo -manifest $*.dll.manifest -outputresource:$*.dll;2
|
||||
|
||||
gvimext.obj: gvimext.h
|
||||
|
||||
|
||||
+15
-52
@@ -38,7 +38,7 @@ STGMEDIUM medium;
|
||||
HRESULT hres = 0;
|
||||
UINT cbFiles = 0;
|
||||
|
||||
/* The buffers size used to be MAX_PATH (256 bytes), but that's not always
|
||||
/* The buffers size used to be MAX_PATH (260 bytes), but that's not always
|
||||
* enough */
|
||||
#define BUFSIZE 1100
|
||||
|
||||
@@ -203,7 +203,7 @@ dyn_libintl_init(char *dir)
|
||||
if (hLibintlDLL)
|
||||
return 1;
|
||||
|
||||
// Load gettext library from the Vim runtime directory.
|
||||
// Load gettext library from $VIMRUNTIME\GvimExt{64,32} directory.
|
||||
// Add the directory to $PATH temporarily.
|
||||
len = GetEnvironmentVariableW(L"PATH", NULL, 0);
|
||||
len2 = MAX_PATH + 1 + len;
|
||||
@@ -212,7 +212,11 @@ dyn_libintl_init(char *dir)
|
||||
if (buf != NULL && buf2 != NULL)
|
||||
{
|
||||
GetEnvironmentVariableW(L"PATH", buf, len);
|
||||
_snwprintf(buf2, len2, L"%S;%s", dir, buf);
|
||||
#ifdef _WIN64
|
||||
_snwprintf(buf2, len2, L"%S\\GvimExt64;%s", dir, buf);
|
||||
#else
|
||||
_snwprintf(buf2, len2, L"%S\\GvimExt32;%s", dir, buf);
|
||||
#endif
|
||||
SetEnvironmentVariableW(L"PATH", buf2);
|
||||
hLibintlDLL = LoadLibrary(GETTEXT_DLL);
|
||||
#ifdef GETTEXT_DLL_ALT
|
||||
@@ -883,37 +887,7 @@ BOOL CShellExt::LoadMenuIcon()
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#ifdef WIN32
|
||||
// This symbol is not defined in older versions of the SDK or Visual C++.
|
||||
|
||||
#ifndef VER_PLATFORM_WIN32_WINDOWS
|
||||
# define VER_PLATFORM_WIN32_WINDOWS 1
|
||||
#endif
|
||||
|
||||
static DWORD g_PlatformId;
|
||||
|
||||
//
|
||||
// Set g_PlatformId to VER_PLATFORM_WIN32_NT (NT) or
|
||||
// VER_PLATFORM_WIN32_WINDOWS (Win95).
|
||||
//
|
||||
static void
|
||||
PlatformId(void)
|
||||
{
|
||||
static int done = FALSE;
|
||||
|
||||
if (!done)
|
||||
{
|
||||
OSVERSIONINFO ovi;
|
||||
|
||||
ovi.dwOSVersionInfoSize = sizeof(ovi);
|
||||
GetVersionEx(&ovi);
|
||||
|
||||
g_PlatformId = ovi.dwPlatformId;
|
||||
done = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
# ifndef __BORLANDC__
|
||||
#ifndef __BORLANDC__
|
||||
static char *
|
||||
searchpath(char *name)
|
||||
{
|
||||
@@ -922,28 +896,17 @@ searchpath(char *name)
|
||||
|
||||
// There appears to be a bug in FindExecutableA() on Windows NT.
|
||||
// Use FindExecutableW() instead...
|
||||
PlatformId();
|
||||
if (g_PlatformId == VER_PLATFORM_WIN32_NT)
|
||||
MultiByteToWideChar(CP_ACP, 0, (LPCSTR)name, -1,
|
||||
(LPWSTR)widename, BUFSIZE);
|
||||
if (FindExecutableW((LPCWSTR)widename, (LPCWSTR)"",
|
||||
(LPWSTR)location) > (HINSTANCE)32)
|
||||
{
|
||||
MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)name, -1,
|
||||
(LPWSTR)widename, BUFSIZE);
|
||||
if (FindExecutableW((LPCWSTR)widename, (LPCWSTR)"",
|
||||
(LPWSTR)location) > (HINSTANCE)32)
|
||||
{
|
||||
WideCharToMultiByte(CP_ACP, 0, (LPWSTR)location, -1,
|
||||
(LPSTR)widename, 2 * BUFSIZE, NULL, NULL);
|
||||
return widename;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (FindExecutableA((LPCTSTR)name, (LPCTSTR)"",
|
||||
(LPTSTR)location) > (HINSTANCE)32)
|
||||
return location;
|
||||
WideCharToMultiByte(CP_ACP, 0, (LPWSTR)location, -1,
|
||||
(LPSTR)widename, 2 * BUFSIZE, NULL, NULL);
|
||||
return widename;
|
||||
}
|
||||
return (char *)"";
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
STDMETHODIMP CShellExt::InvokeGvim(HWND hParent,
|
||||
|
||||
+118
-72
@@ -3,9 +3,9 @@ INSTALLpc.txt - Installation of Vim on PC
|
||||
This file contains instructions for compiling Vim. If you already have an
|
||||
executable version of Vim, you don't need this.
|
||||
|
||||
More information can be found here: (Very stale now.)
|
||||
|
||||
http://mywebpage.netscape.com/sharppeople/vim/howto/
|
||||
You can find the lastest here: https://github.com/vim/vim-win32-installer
|
||||
This page also has links to install support for interfaces such as Perl,
|
||||
Python, Lua, etc.
|
||||
|
||||
The file "feature.h" can be edited to match your preferences. You can skip
|
||||
this, then you will get the default behavior as is documented, which should
|
||||
@@ -15,6 +15,10 @@ This document assumes that you are building Vim for Win32 or later (Windows
|
||||
XP/2003/Vista/7/8/10). There are also instructions for pre-XP systems, but
|
||||
they might no longer work.
|
||||
|
||||
The recommended way is to build a 32 bit Vim, also on 64 bit systems. You can
|
||||
build a 64 bit Vim if you like, the executable will be bigger and Vim wan't be
|
||||
any faster, but you can edit files larger than 2 Gbyte.
|
||||
|
||||
|
||||
Contents:
|
||||
1. Microsoft Visual C++
|
||||
@@ -24,7 +28,7 @@ Contents:
|
||||
5. Cross compiling for Win32 from a Linux machine
|
||||
6. Building with Python support
|
||||
7. Building with Python3 support
|
||||
8. Building with MzScheme/Racket support
|
||||
8. Building with Racket or MzScheme support
|
||||
9. Building with Lua support
|
||||
10. Building with Perl support
|
||||
11. Building with Ruby support
|
||||
@@ -36,13 +40,20 @@ Contents:
|
||||
16. Installing after building from sources
|
||||
|
||||
|
||||
The currently preferred method is using the free Visual C++ Toolkit 2008
|
||||
|msvc-2008-express|, the produced binary runs on most MS-Windows systems.
|
||||
The currently recommended way (that means it has been verified to work) is
|
||||
using the "Visual Studio Community 2015" installation. This includes the SDK
|
||||
needed to target Windows XP. But not older Windows versions (95, 97), see
|
||||
|msvc-2008-express| below for that
|
||||
|
||||
|
||||
1. Microsoft Visual C++
|
||||
=======================
|
||||
|
||||
We do not provide download links, since Microsoft keeps changing them. You
|
||||
can search for "Visual Studio Community 2015", for example. You will need to
|
||||
create a Microsoft account (it's free).
|
||||
|
||||
|
||||
Visual Studio
|
||||
-------------
|
||||
|
||||
@@ -50,9 +61,8 @@ Building with Visual Studio (VS 98, VS .NET, VS .NET 2003, VS 2005, VS 2008,
|
||||
VS2010, VS2012, VS2013 and VS2015) is straightforward. (These instructions
|
||||
should also work for VS 4 and VS 5.)
|
||||
|
||||
Using VS C++ 2008 Express is recommended, the binaries built with that run on
|
||||
nearly all platforms. Binaries from later versions may not run on Windows 95
|
||||
or XP.
|
||||
Using VS C++ 2008 Express is recommended if you need the binary to run on
|
||||
Windows 95 or 97, see |msvc-2008-express| below.
|
||||
|
||||
To build Vim from the command line with MSVC, use Make_mvc.mak.
|
||||
Visual Studio installed a batch file called vcvars32.bat, which you must
|
||||
@@ -117,8 +127,8 @@ To set the environment execute the msvc2010.bat script. You can then build
|
||||
Vim with Make_mvc.mak.
|
||||
|
||||
|
||||
Targeting Windows XP with new MSVC *new-msvc-windows-xp*
|
||||
----------------------------------
|
||||
Targeting Windows XP with MSVC 2012 and later *new-msvc-windows-xp*
|
||||
---------------------------------------------
|
||||
|
||||
Beginning with Visual C++ 2012, Microsoft changed the behavior of LINK.EXE
|
||||
so that it targets Windows 6.0 (Vista) by default. In order to override
|
||||
@@ -127,16 +137,28 @@ follows:
|
||||
LINK ... /subsystem:console,5.01
|
||||
|
||||
Make_mvc.mak now supports a macro SUBSYSTEM_VER to pass the Windows version.
|
||||
Use lines like follows to target Windows XP (assuming using Visual C++ 2012
|
||||
under 64-bit Windows):
|
||||
Use lines like follows to target Windows XP x86 (assuming using Visual C++
|
||||
2012 under 64-bit Windows):
|
||||
set WinSdk71=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A
|
||||
set SDK_INCLUDE_DIR=%WinSdk71%\Include
|
||||
set INCLUDE=%WinSdk71%\Include;%INCLUDE%
|
||||
set LIB=%WinSdk71%\Lib;%LIB%
|
||||
set PATH=%WinSdk71%\Bin;%PATH%
|
||||
set CL=/D_USING_V110_SDK71_
|
||||
nmake -f Make_mvc.mak ... WINVER=0x0501 SUBSYSTEM_VER=5.01
|
||||
|
||||
To target Windows XP x64 instead of x86, you need to change the settings of
|
||||
LIB and SUBSYSTEM_VER:
|
||||
...
|
||||
set LIB=%WinSdk71%\Lib\x64;%LIB%
|
||||
...
|
||||
nmake -f Make_mvc.mak ... WINVER=0x0501 SUBSYSTEM_VER=5.02
|
||||
|
||||
If you use Visual C++ 2015 (either Express or Community Edition), executing
|
||||
msvc2015.bat will set them automatically. For x86 builds run this without
|
||||
options:
|
||||
msvc2015
|
||||
For x64 builds run this with the "x86_amd64" option:
|
||||
msvc2015 x86_amd64
|
||||
|
||||
The following Visual C++ team blog can serve as a reference page:
|
||||
http://blogs.msdn.com/b/vcblog/archive/2012/10/08/windows-xp-targeting-with-c-in-visual-studio-2012.aspx
|
||||
|
||||
@@ -188,10 +210,10 @@ Now you can build Vim with Make_mvc.mak.
|
||||
|
||||
Getting the Windows Platform SDK *ms-platform-sdk*
|
||||
|
||||
You will also need a copy of the Windows Platform SDK from
|
||||
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
|
||||
Specifically, you need the Windows Core SDK subset of the Platform SDK,
|
||||
which contains the Windows headers and libraries.
|
||||
You will also need a copy of the Windows Platform SDK. Specifically, you need
|
||||
the Windows Core SDK subset of the Platform SDK, which contains the Windows
|
||||
headers and libraries. You need to search for it, Microsoft keeps changing
|
||||
the URL.
|
||||
|
||||
|
||||
Getting the .NET Framework 1.1 Runtime *dotnet-1.1-redist*
|
||||
@@ -432,10 +454,61 @@ E.g. When using MSVC (as one line):
|
||||
PYTHON3=C:\Python34 DYNAMIC_PYTHON3=yes PYTHON3_VER=34
|
||||
|
||||
|
||||
8. Building with MzScheme/Racket support
|
||||
8. Building with Racket or MzScheme support
|
||||
========================================
|
||||
|
||||
1) Building with MzScheme support
|
||||
1) Building with Racket support (newest)
|
||||
|
||||
MzScheme and PLT Scheme names have been rebranded as Racket. Vim with Racket
|
||||
support can be built with either MSVC or MinGW (or Cygwin).
|
||||
Get it from https://download.racket-lang.org/
|
||||
|
||||
Copy lib/libracket{version}.dll to your Windows system directory. The system
|
||||
directory depends on your Windows bitness and Vim bitness:
|
||||
32-bit Vim on 32-bit Windows: C:\Windows\System32
|
||||
32-bit Vim on 64-bit Windows: C:\Windows\SysWOW64
|
||||
64-bit Vim on 64-bit Windows: C:\Windows\System32
|
||||
|
||||
For building you need to set the following variables:
|
||||
|
||||
MZSCHEME: Where Racket is installed.
|
||||
E.g. C:\Program Files (x86)\Racket
|
||||
DYNAMIC_MZSCHEME: Whether dynamic linking is used. Usually, set to yes.
|
||||
MZSCHEME_VER: Racket DLL version which is used for the file name.
|
||||
See below for a list of MZSCHEME_VER.
|
||||
The DLL can be found under the lib directory. E.g.
|
||||
C:\Program Files (x86)\Racket\lib\libracket3m_XXXXXX.dll
|
||||
MZSCHEME_COLLECTS: (Optional) Path of the collects directory used at
|
||||
runtime. Default: $(MZSCHEME)\collects
|
||||
User can override this with the PLTCOLLECTS environment
|
||||
variable.
|
||||
|
||||
List of MZSCHEME_VER (incomplete):
|
||||
|
||||
Racket ver. | MZSCHEME_VER
|
||||
==========================
|
||||
6.3 | 3m_9z0ds0
|
||||
6.6 | 3m_a0solc
|
||||
6.8 | 3m_a1zjsw
|
||||
6.10 | 3m_a36fs8
|
||||
|
||||
|
||||
E.g. When using MSVC (as one line):
|
||||
|
||||
nmake -f Make_mvc.mak
|
||||
MZSCHEME="C:\Program Files (x86)\Racket" DYNAMIC_MZSCHEME=yes
|
||||
MZSCHEME_VER=3m_9z0ds0
|
||||
|
||||
Or when using MinGW (as one line):
|
||||
|
||||
mingw32-make -f Make_ming.mak
|
||||
MZSCHEME='C:/Program\ Files\ (x86)/Racket' DYNAMIC_MZSCHEME=yes
|
||||
MZSCHEME_VER=3m_9z0ds0
|
||||
|
||||
Spaces should be escaped with '\'.
|
||||
|
||||
|
||||
2) Building with MzScheme support (older)
|
||||
|
||||
(written by Sergey Khorev <sergey.khorev@gmail.com>)
|
||||
|
||||
@@ -470,40 +543,6 @@ After a successful build, these dlls can be freely removed, leaving them in
|
||||
%WINDOWS%\System32 only.
|
||||
|
||||
|
||||
2) Building with Racket support
|
||||
|
||||
MzScheme and PLT Scheme names have been rebranded as Racket. Vim with Racket
|
||||
(https://racket-lang.org/) support can be built with either MSVC or MinGW (or
|
||||
Cygwin).
|
||||
|
||||
You need to set the following variables:
|
||||
|
||||
MZSCHEME: Where Racket is installed.
|
||||
E.g. C:\Program Files (x86)\Racket
|
||||
DYNAMIC_MZSCHEME: Whether dynamic linking is used. Usually, set to yes.
|
||||
MZSCHEME_VER: Racket DLL version which is used for the file name.
|
||||
E.g. 3m_9z0ds0 for Racket 6.3.
|
||||
The DLL can be found under the lib directory. E.g.
|
||||
C:\Program Files (x86)\Racket\lib\libracket3m_XXXXXX.dll
|
||||
MZSCHEME_COLLECTS: (Optional) Path of the collects directory used at
|
||||
runtime. Default: $(MZSCHEME)\collects
|
||||
User can override this with the PLTCOLLECTS environment
|
||||
variable.
|
||||
|
||||
E.g. When using MSVC (as one line):
|
||||
|
||||
nmake -f Make_mvc.mak
|
||||
MZSCHEME="C:\Program Files (x86)\Racket" DYNAMIC_MZSCHEME=yes
|
||||
MZSCHEME_VER=3m_9z0ds0
|
||||
|
||||
Or when using MinGW (as one line):
|
||||
|
||||
mingw32-make -f Make_ming.mak
|
||||
MZSCHEME='C:/Program\ Files\ (x86)/Racket' DYNAMIC_MZSCHEME=yes
|
||||
MZSCHEME_VER=3m_9z0ds0
|
||||
|
||||
Spaces should be escaped with '\'.
|
||||
|
||||
|
||||
9. Building with Lua support
|
||||
============================
|
||||
@@ -550,7 +589,7 @@ E.g. When using MSVC (as one line):
|
||||
|
||||
Or when using MinGW (as one line):
|
||||
|
||||
mingw32-make -f Make_mingw.mak
|
||||
mingw32-make -f Make_ming.mak
|
||||
LUA=C:\projects\lua53 DYNAMIC_LUA=yes LUA_VER=53
|
||||
|
||||
|
||||
@@ -582,7 +621,7 @@ E.g. When using MSVC (as one line):
|
||||
|
||||
Or when using MinGW (as one line):
|
||||
|
||||
mingw32-make -f Make_mingw.mak
|
||||
mingw32-make -f Make_ming.mak
|
||||
PERL=C:\Perl DYNAMIC_PERL=yes PERL_VER=522
|
||||
|
||||
|
||||
@@ -591,7 +630,7 @@ Or when using MinGW (as one line):
|
||||
|
||||
Vim with Ruby support can be built with either MSVC or MinGW (or Cygwin).
|
||||
Ruby doesn't provide the official Windows binaries. The most widely used
|
||||
Windows binaries might be RubyInstaller.
|
||||
Windows binaries might be RubyInstaller. Currently Ruby 2.4 is recommended.
|
||||
|
||||
http://rubyinstaller.org/
|
||||
|
||||
@@ -602,11 +641,11 @@ you need some tricks described below.
|
||||
|
||||
When building, you need to set the following variables at least:
|
||||
|
||||
RUBY: Where ruby is installed. E.g. C:\Ruby22
|
||||
RUBY: Where ruby is installed. E.g. C:\Ruby24
|
||||
DYNAMIC_RUBY: Whether dynamic linking is used. Usually, set to yes.
|
||||
RUBY_VER: Ruby version. E.g. 22 for Ruby 2.2.X.
|
||||
RUBY_VER: Ruby version. E.g. 24 for Ruby 2.4.X.
|
||||
RUBY_API_VER_LONG: Ruby API version in a long format.
|
||||
E.g. 2.2.0 for Ruby 2.2.X.
|
||||
E.g. 2.4.0 for Ruby 2.4.X.
|
||||
|
||||
Ruby version vs. Ruby API version:
|
||||
|
||||
@@ -631,33 +670,34 @@ config.h and Ruby's DLL name. Here are the steps for working around them:
|
||||
1) Download and Install RubyInstaller.
|
||||
You can install RubyInstaller with the default options and directory.
|
||||
E.g.:
|
||||
C:\Ruby22 (32-bit) or C:\Ruby22-x64 (64-bit)
|
||||
C:\Ruby24 (32-bit) or C:\Ruby24-x64 (64-bit)
|
||||
|
||||
Ruby 2.2.X is used in this example.
|
||||
Ruby 2.4.X is used in this example.
|
||||
|
||||
2) Download Ruby 2.2.X's source code and generate config.h:
|
||||
2) Download Ruby 2.4.X's source code and generate config.h:
|
||||
|
||||
cd C:\projects
|
||||
git clone https://github.com/ruby/ruby.git -b ruby_2_2
|
||||
git clone https://github.com/ruby/ruby.git -b ruby_2_4
|
||||
cd ruby
|
||||
win32\configure.bat
|
||||
nmake .config.h.time
|
||||
|
||||
Note that ruby_2_2 is the branch name for Ruby 2.2.X's source code.
|
||||
Note that ruby_2_4 is the branch name for Ruby 2.4.X's source code.
|
||||
There is no need to build whole Ruby, just config.h is needed.
|
||||
If you use 32-bit MSVC10, the config.h is generated in the
|
||||
.ext\include\i386-mswin32_100 directory.
|
||||
.ext\include\i386-mswin32_140 directory.
|
||||
|
||||
3) Install the generated config.h.
|
||||
|
||||
xcopy /s .ext\include C:\Ruby22\include\ruby-2.2.0
|
||||
xcopy /s .ext\include E:\Ruby24\include\ruby-2.4.0
|
||||
|
||||
Note that 2.2.0 is Ruby API version of Ruby 2.2.X.
|
||||
Note that 2.4.0 is Ruby API version of Ruby 2.4.X.
|
||||
You may need to close the console and reopen it to pick up the new $PATH.
|
||||
|
||||
4) Build Vim. Note that you need to adjust some variables (as one line):
|
||||
|
||||
nmake -f Make_mvc.mak
|
||||
RUBY=C:\Ruby22 DYNAMIC_RUBY=yes RUBY_VER=22 RUBY_API_VER_LONG=2.2.0
|
||||
RUBY=C:\Ruby24 DYNAMIC_RUBY=yes RUBY_VER=24 RUBY_API_VER_LONG=2.4.0
|
||||
RUBY_MSVCRT_NAME=msvcrt
|
||||
WINVER=0x501
|
||||
|
||||
@@ -688,6 +728,7 @@ You can use binaries from ActiveState (ActiveTcl).
|
||||
|
||||
http://www.activestate.com/activetcl
|
||||
|
||||
For MSVC 2015 use version 8.6.6 or later.
|
||||
When building, you need to set the following variables:
|
||||
|
||||
TCL: Where tcl is installed. E.g. C:\Tcl86
|
||||
@@ -695,6 +736,11 @@ When building, you need to set the following variables:
|
||||
TCL_VER: Tcl version in a short format. E.g. 86 for Tcl 8.6.X.
|
||||
TCL_VER_LONG: Tcl version in a long format. E.g. 8.6 for Tcl 8.6.X.
|
||||
|
||||
Sometimes the Tcl dll name changes. E.g. ActiveTcl 8.6.4 comes with tcl86.dll,
|
||||
but ActiveTcl 8.6.6 comes with tcl86t.dll. You can set the dll name by setting
|
||||
the TCL_DLL variable:
|
||||
TCL_DLL=tcl86t.dll
|
||||
|
||||
E.g. When using MSVC (as one line):
|
||||
|
||||
nmake -f Make_mvc.mak
|
||||
@@ -702,7 +748,7 @@ E.g. When using MSVC (as one line):
|
||||
|
||||
Or when using MinGW (as one line):
|
||||
|
||||
mingw32-make -f Make_mingw.mak
|
||||
mingw32-make -f Make_ming.mak
|
||||
TCL=C:\Tcl86 DYNAMIC_TCL=yes TCL_VER=86 TCL_VER_LONG=8.6
|
||||
|
||||
|
||||
@@ -719,7 +765,7 @@ E.g. When using MSVC:
|
||||
|
||||
Or when using MinGW (as one line):
|
||||
|
||||
mingw32-make -f Make_mingw.mak TERMINAL=yes
|
||||
mingw32-make -f Make_ming.mak TERMINAL=yes
|
||||
|
||||
|
||||
14. Windows 3.1x
|
||||
|
||||
+34
-15
@@ -1,9 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="11762" systemVersion="15G1611" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="9531" systemVersion="15C50" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
||||
<dependencies>
|
||||
<deployment version="1050" identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="11762"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="9531"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="MMPreferenceController">
|
||||
@@ -14,7 +13,7 @@
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<customObject id="-3" userLabel="Application"/>
|
||||
<userDefaultsController representsSharedInstance="YES" id="58" userLabel="Shared Defaults"/>
|
||||
<customView id="115" userLabel="General">
|
||||
<rect key="frame" x="0.0" y="0.0" width="483" height="290"/>
|
||||
@@ -25,7 +24,7 @@
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<popUpButtonCell key="cell" type="push" title="Keep MacVim Running" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" selectedItem="960" id="979">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<menu key="menu" title="OtherViews" id="959">
|
||||
<items>
|
||||
<menuItem title="Keep MacVim Running" state="on" id="960"/>
|
||||
@@ -52,7 +51,7 @@
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<popUpButtonCell key="cell" type="push" title="and set the arglist" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" inset="2" selectedItem="436" id="978">
|
||||
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" metaFont="menu"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<menu key="menu" title="OtherViews" id="429">
|
||||
<items>
|
||||
<menuItem title="with a tab for each file" tag="3" id="430"/>
|
||||
@@ -181,12 +180,12 @@
|
||||
</textField>
|
||||
</subviews>
|
||||
</customView>
|
||||
<customView misplaced="YES" id="620" userLabel="Advanced">
|
||||
<rect key="frame" x="0.0" y="0.0" width="483" height="222"/>
|
||||
<customView id="620" userLabel="Advanced">
|
||||
<rect key="frame" x="0.0" y="0.0" width="483" height="318"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<textField verticalHuggingPriority="750" id="826">
|
||||
<rect key="frame" x="17" y="74" width="449" height="56"/>
|
||||
<rect key="frame" x="17" y="170" width="449" height="56"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="993">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
@@ -196,7 +195,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button id="817">
|
||||
<rect key="frame" x="18" y="132" width="133" height="18"/>
|
||||
<rect key="frame" x="18" y="228" width="133" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Enable Quickstart" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="992">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
@@ -208,7 +207,7 @@
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" id="815">
|
||||
<rect key="frame" x="17" y="156" width="449" height="28"/>
|
||||
<rect key="frame" x="17" y="252" width="449" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="991">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
@@ -218,7 +217,7 @@
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button id="782">
|
||||
<rect key="frame" x="18" y="186" width="174" height="18"/>
|
||||
<rect key="frame" x="18" y="282" width="174" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Use Core Text renderer" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="990">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
@@ -229,7 +228,28 @@
|
||||
<binding destination="58" name="value" keyPath="values.MMRenderer" id="1000"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" misplaced="YES" id="1017">
|
||||
<textField verticalHuggingPriority="750" id="1001">
|
||||
<rect key="frame" x="17" y="74" width="444" height="70"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="1004">
|
||||
<font key="font" metaFont="smallSystem"/>
|
||||
<string key="title">This option causes marked text to be rendered like normal text which is very convenient when using a complex input method (e.g. Kotoeri). However, it has some known limitations which may be circumvented by disabling this option (e.g. mapping to "dead keys" may not work). Note that without this option the Core Text renderer will not draw marked text at all.</string>
|
||||
<color key="textColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button id="1013">
|
||||
<rect key="frame" x="18" y="146" width="174" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Draw marked text inline" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="1014">
|
||||
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<binding destination="58" name="value" keyPath="values.MMUseInlineIm" id="1016"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField verticalHuggingPriority="750" id="1017">
|
||||
<rect key="frame" x="17" y="20" width="415" height="28"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" id="1020">
|
||||
@@ -239,7 +259,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button misplaced="YES" id="1028">
|
||||
<button id="1028">
|
||||
<rect key="frame" x="18" y="50" width="388" height="18"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="check" title="Prefer native full-screen support (requires Mac OS X 10.7)" bezelStyle="regularSquare" imagePosition="left" alignment="left" state="on" inset="2" id="1029">
|
||||
@@ -251,7 +271,6 @@
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<point key="canvasLocation" x="54.5" y="-249"/>
|
||||
</customView>
|
||||
</objects>
|
||||
</document>
|
||||
|
||||
Binary file not shown.
@@ -1255,7 +1255,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>137</string>
|
||||
<string>140</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
|
||||
@@ -227,6 +227,9 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
[NSNumber numberWithBool:NO], MMVerticalSplitKey,
|
||||
[NSNumber numberWithInt:0], MMPreloadCacheSizeKey,
|
||||
[NSNumber numberWithInt:0], MMLastWindowClosedBehaviorKey,
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
[NSNumber numberWithBool:YES], MMUseInlineImKey,
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
[NSNumber numberWithBool:NO], MMSuppressTerminationAlertKey,
|
||||
[NSNumber numberWithBool:YES], MMNativeFullScreenKey,
|
||||
[NSNumber numberWithDouble:0.25], MMFullScreenFadeTimeKey,
|
||||
|
||||
@@ -2092,8 +2092,6 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
[self setImState:NO];
|
||||
} else if (BackingPropertiesChangedMsgID == msgid) {
|
||||
[self redrawScreen];
|
||||
} else if (RedrawBlockMsgID == msgid) {
|
||||
[self handleRedrawBlock:data];
|
||||
} else {
|
||||
ASLogWarn(@"Unknown message received (msgid=%d)", msgid);
|
||||
}
|
||||
@@ -3010,17 +3008,6 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
}
|
||||
}
|
||||
|
||||
- (void)handleRedrawBlock:(NSData *)data
|
||||
{
|
||||
const void *bytes = [data bytes];
|
||||
int row1 = *((int*)bytes); bytes += sizeof(int);
|
||||
int col1 = *((int*)bytes); bytes += sizeof(int);
|
||||
int row2 = *((int*)bytes); bytes += sizeof(int);
|
||||
int col2 = *((int*)bytes);
|
||||
|
||||
gui_redraw_block(row1, col1, row2, col2, GUI_MON_NOCLEAR);
|
||||
}
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
- (void)bevalCallback:(id)sender
|
||||
{
|
||||
|
||||
@@ -18,8 +18,6 @@
|
||||
int maxRows, maxColumns;
|
||||
NSColor *defaultBackgroundColor;
|
||||
NSColor *defaultForegroundColor;
|
||||
int defaultBackgroundHexColor;
|
||||
int defaultForegroundHexColor;
|
||||
NSSize cellSize;
|
||||
NSFont *font;
|
||||
NSFont *fontWide;
|
||||
@@ -53,12 +51,6 @@
|
||||
void *trackingRectUserData_;
|
||||
NSTrackingRectTag lastToolTipTag_;
|
||||
NSString* toolTip_;
|
||||
|
||||
NSUInteger markedRangeLength;
|
||||
int markedTextStartRow;
|
||||
int markedTextStartColumn;
|
||||
int markedTextEndRow;
|
||||
int markedTextEndColumn;
|
||||
}
|
||||
|
||||
- (id)initWithFrame:(NSRect)frame;
|
||||
@@ -95,10 +87,8 @@
|
||||
- (void)setLigatures:(BOOL)state;
|
||||
- (void)setThinStrokes:(BOOL)state;
|
||||
- (void)setImControl:(BOOL)enable;
|
||||
- (void)setInlineIm:(BOOL)enable;
|
||||
- (void)activateIm:(BOOL)enable;
|
||||
- (void)checkImState;
|
||||
- (void)clearMarkedText;
|
||||
- (BOOL)convertPoint:(NSPoint)point toRow:(int *)row column:(int *)column;
|
||||
- (NSRect)rectForRow:(int)row column:(int)column numRows:(int)nr
|
||||
numColumns:(int)nc;
|
||||
|
||||
@@ -205,13 +205,6 @@ defaultAdvanceForFont(NSFont *font)
|
||||
if (defaultBackgroundColor != bgColor) {
|
||||
[defaultBackgroundColor release];
|
||||
defaultBackgroundColor = bgColor ? [bgColor retain] : nil;
|
||||
if (bgColor) {
|
||||
defaultBackgroundHexColor =
|
||||
(int)(bgColor.blueComponent * 0xff) |
|
||||
((int)(bgColor.greenComponent * 0xff) << 8) |
|
||||
((int)(bgColor.redComponent * 0xff) << 16) |
|
||||
(0xff << 24);
|
||||
}
|
||||
}
|
||||
|
||||
// NOTE: The default foreground color isn't actually used for anything, but
|
||||
@@ -220,13 +213,6 @@ defaultAdvanceForFont(NSFont *font)
|
||||
if (defaultForegroundColor != fgColor) {
|
||||
[defaultForegroundColor release];
|
||||
defaultForegroundColor = fgColor ? [fgColor retain] : nil;
|
||||
if (fgColor) {
|
||||
defaultForegroundHexColor =
|
||||
(int)(fgColor.blueComponent * 0xff) |
|
||||
((int)(fgColor.greenComponent * 0xff) << 8) |
|
||||
((int)(fgColor.redComponent * 0xff) << 16) |
|
||||
(0xff << 24);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -439,11 +425,6 @@ defaultAdvanceForFont(NSFont *font)
|
||||
[helper setImControl:enable];
|
||||
}
|
||||
|
||||
- (void)setInlineIm:(BOOL)enable
|
||||
{
|
||||
[helper setInlineIm:enable];
|
||||
}
|
||||
|
||||
- (void)activateIm:(BOOL)enable
|
||||
{
|
||||
[helper activateIm:enable];
|
||||
@@ -513,23 +494,6 @@ defaultAdvanceForFont(NSFont *font)
|
||||
[helper setMarkedText:text selectedRange:range];
|
||||
}
|
||||
|
||||
- (void)clearMarkedText
|
||||
{
|
||||
if (![helper inlineIm]) {
|
||||
[self redrawMarkedTextBlock];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)redrawMarkedTextBlock
|
||||
{
|
||||
NSMutableData *data = [NSMutableData data];
|
||||
[data appendBytes:&markedTextStartRow length:sizeof(int)];
|
||||
[data appendBytes:&markedTextStartColumn length:sizeof(int)];
|
||||
[data appendBytes:&markedTextEndRow length:sizeof(int)];
|
||||
[data appendBytes:&markedTextEndColumn length:sizeof(int)];
|
||||
[[self vimController] sendMessage:RedrawBlockMsgID data:data];
|
||||
}
|
||||
|
||||
- (void)unmarkText
|
||||
{
|
||||
[helper unmarkText];
|
||||
@@ -683,40 +647,6 @@ defaultAdvanceForFont(NSFont *font)
|
||||
|
||||
[drawData removeAllObjects];
|
||||
}
|
||||
|
||||
if ([helper hasMarkedText] && ![helper inlineIm]) {
|
||||
NSString *text = [[helper markedText] string];
|
||||
// Draw marked text
|
||||
CFStringRef sref = (__bridge CFStringRef)text;
|
||||
CFIndex unilength = CFStringGetLength(sref);
|
||||
const UniChar *unichars = CFStringGetCharactersPtr(sref);
|
||||
UniChar *buffer = NULL;
|
||||
if (unichars == NULL) {
|
||||
buffer = malloc(unilength * sizeof(UniChar));
|
||||
CFStringGetCharacters(sref, CFRangeMake(0, unilength), buffer);
|
||||
unichars = buffer;
|
||||
}
|
||||
|
||||
int row = [helper preEditRow];
|
||||
int col = [helper preEditColumn];
|
||||
|
||||
markedTextStartRow = row;
|
||||
markedTextEndRow = row;
|
||||
markedTextStartColumn = col;
|
||||
markedTextEndColumn = col + unilength * 2;
|
||||
|
||||
[self drawString:unichars length:unilength
|
||||
atRow:row column:col cells:(unilength * 2)
|
||||
withFlags:(DRAW_WIDE|DRAW_UNDERL)
|
||||
foregroundColor:defaultForegroundHexColor
|
||||
backgroundColor:defaultBackgroundHexColor
|
||||
specialColor:defaultForegroundHexColor];
|
||||
|
||||
if (buffer) {
|
||||
free(buffer);
|
||||
buffer = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)performBatchDrawWithData:(NSData *)data
|
||||
|
||||
@@ -991,7 +991,7 @@ static NSString *MMWideCharacterAttributeName = @"MMWideChar";
|
||||
attributes:dict];
|
||||
|
||||
[backingStore release];
|
||||
backingStore = [[NSMutableAttributedString alloc] init];
|
||||
backingStore = [[NSTextStorage alloc] init];
|
||||
for (i=0; i<maxRows; ++i) {
|
||||
#if MM_USE_ROW_CACHE
|
||||
rowCache[i].length = actualColumns + 1;
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
- (void)setLigatures:(BOOL)ligatures;
|
||||
- (void)setThinStrokes:(BOOL)thinStrokes;
|
||||
- (void)setImControl:(BOOL)enable;
|
||||
- (void)setInlineIm:(BOOL)enable;
|
||||
- (void)activateIm:(BOOL)enable;
|
||||
- (void)checkImState;
|
||||
|
||||
@@ -75,5 +74,4 @@
|
||||
- (void)deleteSign:(NSString *)signName;
|
||||
- (void)setToolTipAtMousePoint:(NSString *)string;
|
||||
- (void)setCGLayerEnabled:(BOOL)enabled;
|
||||
- (void)clearMarkedText;
|
||||
@end
|
||||
|
||||
+6
-11
@@ -322,11 +322,6 @@
|
||||
[helper setImControl:enable];
|
||||
}
|
||||
|
||||
- (void)setInlineIm:(BOOL)enable
|
||||
{
|
||||
[helper setInlineIm:enable];
|
||||
}
|
||||
|
||||
- (void)activateIm:(BOOL)enable
|
||||
{
|
||||
[helper activateIm:enable];
|
||||
@@ -562,7 +557,8 @@
|
||||
numInvertRects = 0;
|
||||
}
|
||||
|
||||
if ([self hasMarkedText] && ![helper inlineIm]) {
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
if ([self hasMarkedText] && ![helper useInlineIm]) {
|
||||
shouldDrawInsertionPoint = YES;
|
||||
MMTextStorage *ts = (MMTextStorage*)[self textStorage];
|
||||
NSSize inset = [self textContainerInset];
|
||||
@@ -620,6 +616,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
|
||||
if (shouldDrawInsertionPoint) {
|
||||
MMTextStorage *ts = (MMTextStorage*)[self textStorage];
|
||||
@@ -629,8 +626,9 @@
|
||||
ipRect.origin.x += [self textContainerOrigin].x;
|
||||
ipRect.origin.y += [self textContainerOrigin].y;
|
||||
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
// Draw insertion point inside marked text.
|
||||
if ([self hasMarkedText] && ![helper inlineIm]) {
|
||||
if ([self hasMarkedText] && ![helper useInlineIm]) {
|
||||
NSFont *theFont = [[self markedTextAttributes]
|
||||
valueForKey:NSFontAttributeName];
|
||||
if (theFont == [ts font])
|
||||
@@ -642,6 +640,7 @@
|
||||
([helper imRange].location +
|
||||
[helper imRange].length);
|
||||
}
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
|
||||
if (MMInsertionPointHorizontal == insertionPointShape) {
|
||||
int frac = ([ts cellSize].height * insertionPointFraction + 99)/100;
|
||||
@@ -731,10 +730,6 @@
|
||||
[helper unmarkText];
|
||||
}
|
||||
|
||||
- (void)clearMarkedText
|
||||
{
|
||||
}
|
||||
|
||||
- (NSRect)firstRectForCharacterRange:(NSRange)range
|
||||
{
|
||||
return [helper firstRectForCharacterRange:range];
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
NSMutableAttributedString *markedText;
|
||||
int preEditRow;
|
||||
int preEditColumn;
|
||||
BOOL inlineIm;
|
||||
BOOL imControl;
|
||||
BOOL imState;
|
||||
TISInputSourceRef lastImSource;
|
||||
@@ -91,8 +90,7 @@
|
||||
- (NSRect)firstRectForCharacterRange:(NSRange)range;
|
||||
- (void)setImControl:(BOOL)enable;
|
||||
- (void)activateIm:(BOOL)enable;
|
||||
- (void)setInlineIm:(BOOL)enable;
|
||||
- (BOOL)inlineIm;
|
||||
- (BOOL)useInlineIm;
|
||||
- (void)checkImState;
|
||||
|
||||
@end
|
||||
|
||||
@@ -213,7 +213,6 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
// called the input manager expects the marked text to be unmarked
|
||||
// automatically, hence the explicit unmarkText: call here.
|
||||
[self unmarkText];
|
||||
[textView clearMarkedText];
|
||||
}
|
||||
|
||||
// NOTE: 'string' is either an NSString or an NSAttributedString. Since we
|
||||
@@ -318,7 +317,6 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
// marked text moves outside the view as a result of scrolling.
|
||||
[self sendMarkedText:nil position:0];
|
||||
[self unmarkText];
|
||||
[textView clearMarkedText];
|
||||
[[NSTextInputContext currentInputContext] discardMarkedText];
|
||||
}
|
||||
|
||||
@@ -618,7 +616,7 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
ASLogDebug(@"text='%@' range=%@", text, NSStringFromRange(range));
|
||||
[self unmarkText];
|
||||
|
||||
if (inlineIm) {
|
||||
if ([self useInlineIm]) {
|
||||
if ([text isKindOfClass:[NSAttributedString class]])
|
||||
text = [text string];
|
||||
|
||||
@@ -631,6 +629,7 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
if (!(text && [text length] > 0))
|
||||
return;
|
||||
|
||||
@@ -670,6 +669,7 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
}
|
||||
|
||||
[textView setNeedsDisplay:YES];
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
}
|
||||
|
||||
- (void)unmarkText
|
||||
@@ -813,14 +813,14 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setInlineIm:(BOOL)enable
|
||||
- (BOOL)useInlineIm
|
||||
{
|
||||
inlineIm = enable;
|
||||
}
|
||||
|
||||
- (BOOL)inlineIm
|
||||
{
|
||||
return inlineIm;
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
|
||||
return [ud boolForKey:MMUseInlineImKey];
|
||||
#else
|
||||
return YES;
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
}
|
||||
|
||||
- (void)checkImState
|
||||
@@ -1064,7 +1064,7 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
|
||||
- (void)sendMarkedText:(NSString *)text position:(int32_t)pos
|
||||
{
|
||||
if (!inlineIm)
|
||||
if (![self useInlineIm])
|
||||
return;
|
||||
|
||||
NSMutableData *data = [NSMutableData data];
|
||||
|
||||
@@ -833,10 +833,6 @@ static BOOL isUnsafeMessage(int msgid);
|
||||
[[[windowController vimView] textView] activateIm:YES];
|
||||
} else if (DeactivateKeyScriptMsgID == msgid) {
|
||||
[[[windowController vimView] textView] activateIm:NO];
|
||||
} else if (EnableInlineImMsgID == msgid) {
|
||||
[[[windowController vimView] textView] setInlineIm:YES];
|
||||
} else if (DisableInlineImMsgID == msgid) {
|
||||
[[[windowController vimView] textView] setInlineIm:NO];
|
||||
} else if (EnableImControlMsgID == msgid) {
|
||||
[[[windowController vimView] textView] setImControl:YES];
|
||||
} else if (DisableImControlMsgID == msgid) {
|
||||
|
||||
@@ -251,9 +251,6 @@ enum {
|
||||
DisableLigaturesMsgID,
|
||||
EnableThinStrokesMsgID,
|
||||
DisableThinStrokesMsgID,
|
||||
EnableInlineImMsgID,
|
||||
DisableInlineImMsgID,
|
||||
RedrawBlockMsgID,
|
||||
LastMsgID // NOTE: MUST BE LAST MESSAGE IN ENUM!
|
||||
};
|
||||
|
||||
|
||||
@@ -105,9 +105,6 @@ char *MessageStrings[] =
|
||||
"DisableLigaturesMsgID",
|
||||
"EnableThinStrokesMsgID",
|
||||
"DisableThinStrokesMsgID",
|
||||
"EnableInlineImMsgID",
|
||||
"DisableInlineImMsgID",
|
||||
"RedrawBlockMsgID",
|
||||
"END OF MESSAGE IDs" // NOTE: Must be last!
|
||||
};
|
||||
|
||||
|
||||
@@ -13,6 +13,10 @@
|
||||
#import "MacVim.h"
|
||||
|
||||
|
||||
// TODO: Remove this when the inline IM code has been tested
|
||||
#define INCLUDE_OLD_IM_CODE
|
||||
|
||||
|
||||
// NSUserDefaults keys
|
||||
extern NSString *MMTabMinWidthKey;
|
||||
extern NSString *MMTabMaxWidthKey;
|
||||
@@ -41,6 +45,9 @@ extern NSString *MMOpenLayoutKey;
|
||||
extern NSString *MMVerticalSplitKey;
|
||||
extern NSString *MMPreloadCacheSizeKey;
|
||||
extern NSString *MMLastWindowClosedBehaviorKey;
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
extern NSString *MMUseInlineImKey;
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
extern NSString *MMSuppressTerminationAlertKey;
|
||||
extern NSString *MMNativeFullScreenKey;
|
||||
extern NSString *MMUseMouseTimeKey;
|
||||
|
||||
@@ -41,6 +41,9 @@ NSString *MMOpenLayoutKey = @"MMOpenLayout";
|
||||
NSString *MMVerticalSplitKey = @"MMVerticalSplit";
|
||||
NSString *MMPreloadCacheSizeKey = @"MMPreloadCacheSize";
|
||||
NSString *MMLastWindowClosedBehaviorKey = @"MMLastWindowClosedBehavior";
|
||||
#ifdef INCLUDE_OLD_IM_CODE
|
||||
NSString *MMUseInlineImKey = @"MMUseInlineIm";
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
NSString *MMSuppressTerminationAlertKey = @"MMSuppressTerminationAlert";
|
||||
NSString *MMNativeFullScreenKey = @"MMNativeFullScreen";
|
||||
NSString *MMUseMouseTimeKey = @"MMUseMouseTime";
|
||||
|
||||
+2
-13
@@ -264,8 +264,6 @@ gui_mch_init(void)
|
||||
gui_mch_adjust_charheight();
|
||||
gui_mch_adjust_charwidth();
|
||||
|
||||
gui_macvim_set_imstyle(p_imst);
|
||||
|
||||
if (!MMNoMRU && GARGCOUNT > 0) {
|
||||
// Add files passed on command line to MRU.
|
||||
NSMutableArray *filenames = [NSMutableArray array];
|
||||
@@ -335,7 +333,7 @@ gui_mch_update(void)
|
||||
static CFAbsoluteTime lastTime = 0;
|
||||
|
||||
CFAbsoluteTime nowTime = CFAbsoluteTimeGetCurrent();
|
||||
if (nowTime - lastTime > 0.2) {
|
||||
if (nowTime - lastTime > 1.0 / 30) {
|
||||
[[MMBackend sharedInstance] update];
|
||||
lastTime = nowTime;
|
||||
}
|
||||
@@ -1333,15 +1331,6 @@ im_get_status(void)
|
||||
|
||||
|
||||
|
||||
void
|
||||
gui_macvim_set_imstyle(long imstyle)
|
||||
{
|
||||
int msgid = imstyle == IM_ON_THE_SPOT ?
|
||||
EnableInlineImMsgID : DisableInlineImMsgID;
|
||||
[[MMBackend sharedInstance] queueMessage:msgid properties:nil];
|
||||
}
|
||||
|
||||
|
||||
|
||||
// -- Find & Replace dialog -------------------------------------------------
|
||||
|
||||
@@ -2312,7 +2301,7 @@ gui_macvim_add_channel(channel_T *channel, ch_part_T part)
|
||||
0,
|
||||
dispatch_get_main_queue());
|
||||
dispatch_source_set_event_handler(s, ^{
|
||||
channel_read(channel, part, "gui_macvim_add_channel");
|
||||
channel_may_read(channel, part, "gui_macvim_add_channel");
|
||||
});
|
||||
dispatch_resume(s);
|
||||
return s;
|
||||
|
||||
+3
-3
@@ -28,10 +28,10 @@ endif
|
||||
" MacVim uses Homebrew python3 if installed, next try to use python.org binary
|
||||
if exists("&pythonthreedll") && exists("&pythonthreehome") &&
|
||||
\ !filereadable(&pythonthreedll)
|
||||
if filereadable("/Library/Frameworks/Python.framework/Versions/3.5/Python")
|
||||
if filereadable("/Library/Frameworks/Python.framework/Versions/3.6/Python")
|
||||
" https://www.python.org/downloads/mac-osx/
|
||||
set pythonthreedll=/Library/Frameworks/Python.framework/Versions/3.5/Python
|
||||
set pythonthreehome=/Library/Frameworks/Python.framework/Versions/3.5
|
||||
set pythonthreedll=/Library/Frameworks/Python.framework/Versions/3.6/Python
|
||||
set pythonthreehome=/Library/Frameworks/Python.framework/Versions/3.6
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
@@ -50,3 +50,5 @@ CROSS_COMPILE = i686-pc-mingw32-
|
||||
# Do not change this.
|
||||
UNDER_CYGWIN = yes
|
||||
include Make_cyg_ming.mak
|
||||
|
||||
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0:
|
||||
|
||||
+30
-22
@@ -47,6 +47,7 @@ FEATURES=HUGE
|
||||
# Set to yes to cross-compile from unix; no=native Windows (and Cygwin).
|
||||
CROSS=no
|
||||
# Set to path to iconv.h and libiconv.a to enable using 'iconv.dll'.
|
||||
# Use "yes" when the path does not need to be define.
|
||||
#ICONV="."
|
||||
ICONV=yes
|
||||
GETTEXT=yes
|
||||
@@ -74,7 +75,11 @@ else
|
||||
CHANNEL=$(GUI)
|
||||
endif
|
||||
# Set to yes to enable terminal support.
|
||||
ifeq (HUGE, $(FEATURES))
|
||||
TERMINAL=yes
|
||||
else
|
||||
TERMINAL=no
|
||||
endif
|
||||
|
||||
ifndef CTAGS
|
||||
# this assumes ctags is Exuberant ctags
|
||||
@@ -913,60 +918,58 @@ endif
|
||||
$(MAKE) -C xxd -f Make_ming.mak clean
|
||||
|
||||
###########################################################################
|
||||
INCL = vim.h feature.h os_win32.h os_dos.h ascii.h keymap.h term.h macros.h \
|
||||
structs.h regexp.h option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
gui.h
|
||||
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
|
||||
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
|
||||
spell.h structs.h term.h $(NBDEBUG_INCL)
|
||||
GUI_INCL = gui.h gui_beval.h
|
||||
CUI_INCL = iscygpty.h
|
||||
|
||||
$(OUTDIR)/if_python.o : if_python.c if_py_both.h $(INCL)
|
||||
$(OUTDIR)/if_python.o: if_python.c if_py_both.h $(INCL)
|
||||
$(CC) -c $(CFLAGS) $(PYTHONINC) $(PYTHON_HOME_DEF) $< -o $@
|
||||
|
||||
$(OUTDIR)/if_python3.o : if_python3.c if_py_both.h $(INCL)
|
||||
$(OUTDIR)/if_python3.o: if_python3.c if_py_both.h $(INCL)
|
||||
$(CC) -c $(CFLAGS) $(PYTHON3INC) $(PYTHON3_HOME_DEF) $< -o $@
|
||||
|
||||
$(OUTDIR)/%.o : %.c $(INCL)
|
||||
$(CC) -c $(CFLAGS) $< -o $@
|
||||
|
||||
$(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
|
||||
$(OUTDIR)/vimrc.o: vim.rc version.h gui_w32_rc.h
|
||||
$(WINDRES) $(WINDRES_FLAGS) $(DEFINES) \
|
||||
--input-format=rc --output-format=coff -i vim.rc -o $@
|
||||
|
||||
$(OUTDIR):
|
||||
$(MKDIR) $(OUTDIR)
|
||||
|
||||
$(OUTDIR)/channel.o: channel.c $(INCL)
|
||||
$(CC) -c $(CFLAGS) channel.c -o $(OUTDIR)/channel.o
|
||||
|
||||
$(OUTDIR)/ex_docmd.o: ex_docmd.c $(INCL) ex_cmds.h
|
||||
$(CC) -c $(CFLAGS) ex_docmd.c -o $(OUTDIR)/ex_docmd.o
|
||||
|
||||
$(OUTDIR)/ex_eval.o: ex_eval.c $(INCL) ex_cmds.h
|
||||
$(CC) -c $(CFLAGS) ex_eval.c -o $(OUTDIR)/ex_eval.o
|
||||
|
||||
$(OUTDIR)/gui_dwrite.o: gui_dwrite.cpp $(INCL) gui_dwrite.h
|
||||
$(CC) -c $(CFLAGS) $(CXXFLAGS) gui_dwrite.cpp -o $(OUTDIR)/gui_dwrite.o
|
||||
|
||||
$(OUTDIR)/gui_w32.o: gui_w32.c $(INCL)
|
||||
$(OUTDIR)/gui.o: gui.c $(INCL) $(GUI_INCL)
|
||||
$(CC) -c $(CFLAGS) gui.c -o $(OUTDIR)/gui.o
|
||||
|
||||
$(OUTDIR)/gui_beval.o: gui_beval.c $(INCL) $(GUI_INCL)
|
||||
$(CC) -c $(CFLAGS) gui_beval.c -o $(OUTDIR)/gui_beval.o
|
||||
|
||||
$(OUTDIR)/gui_w32.o: gui_w32.c $(INCL) $(GUI_INCL)
|
||||
$(CC) -c $(CFLAGS) gui_w32.c -o $(OUTDIR)/gui_w32.o
|
||||
|
||||
$(OUTDIR)/if_cscope.o: if_cscope.c $(INCL) if_cscope.h
|
||||
$(CC) -c $(CFLAGS) if_cscope.c -o $(OUTDIR)/if_cscope.o
|
||||
|
||||
$(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) if_mzsch.h $(MZ_EXTRA_DEP)
|
||||
$(OUTDIR)/if_mzsch.o: if_mzsch.c $(INCL) $(MZSCHEME_INCL) $(MZ_EXTRA_DEP)
|
||||
$(CC) -c $(CFLAGS) if_mzsch.c -o $(OUTDIR)/if_mzsch.o
|
||||
|
||||
mzscheme_base.c:
|
||||
$(MZSCHEME)/mzc --c-mods mzscheme_base.c ++lib scheme/base
|
||||
|
||||
# Remove -D__IID_DEFINED__ for newer versions of the w32api
|
||||
$(OUTDIR)/if_ole.o: if_ole.cpp $(INCL)
|
||||
$(OUTDIR)/if_ole.o: if_ole.cpp $(INCL) if_ole.h
|
||||
$(CC) $(CFLAGS) $(CXXFLAGS) -c -o $(OUTDIR)/if_ole.o if_ole.cpp
|
||||
|
||||
if_perl.c: if_perl.xs typemap
|
||||
if_perl.c: if_perl.xs typemap
|
||||
$(XSUBPP) -prototypes -typemap \
|
||||
$(PERLTYPEMAP) if_perl.xs -output $@
|
||||
|
||||
$(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
|
||||
$(OUTDIR)/if_ruby.o: if_ruby.c $(INCL)
|
||||
ifeq (16, $(RUBY))
|
||||
$(CC) $(CFLAGS) -U_WIN32 -c -o $(OUTDIR)/if_ruby.o if_ruby.c
|
||||
endif
|
||||
@@ -974,13 +977,16 @@ endif
|
||||
$(OUTDIR)/iscygpty.o: iscygpty.c $(CUI_INCL)
|
||||
$(CC) -c $(CFLAGS) iscygpty.c -o $(OUTDIR)/iscygpty.o -U_WIN32_WINNT -D_WIN32_WINNT=0x0600 -DUSE_DYNFILEID -DENABLE_STUB_IMPL
|
||||
|
||||
$(OUTDIR)/main.o: main.c $(INCL) $(CUI_INCL)
|
||||
$(OUTDIR)/main.o: main.c $(INCL) $(CUI_INCL)
|
||||
$(CC) -c $(CFLAGS) main.c -o $(OUTDIR)/main.o
|
||||
|
||||
$(OUTDIR)/netbeans.o: netbeans.c $(INCL) $(NBDEBUG_INCL) $(NBDEBUG_SRC)
|
||||
$(CC) -c $(CFLAGS) netbeans.c -o $(OUTDIR)/netbeans.o
|
||||
|
||||
$(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL)
|
||||
$(OUTDIR)/os_win32.o: os_win32.c $(INCL) $(MZSCHEME_INCL)
|
||||
$(CC) -c $(CFLAGS) os_win32.c -o $(OUTDIR)/os_win32.o
|
||||
|
||||
$(OUTDIR)/regexp.o: regexp.c regexp_nfa.c $(INCL)
|
||||
$(CC) -c $(CFLAGS) regexp.c -o $(OUTDIR)/regexp.o
|
||||
|
||||
$(OUTDIR)/terminal.o: terminal.c $(INCL) $(TERM_DEPS)
|
||||
@@ -1042,3 +1048,5 @@ else
|
||||
@echo char_u *compiled_user = (char_u *)"$(USERNAME)"; >> pathdef.c
|
||||
@echo char_u *compiled_sys = (char_u *)"$(USERDOMAIN)"; >> pathdef.c
|
||||
endif
|
||||
|
||||
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0:
|
||||
|
||||
@@ -47,3 +47,5 @@
|
||||
# Do not change this.
|
||||
UNDER_CYGWIN = no
|
||||
include Make_cyg_ming.mak
|
||||
|
||||
# vim: set noet sw=8 ts=8 sts=0 wm=0 tw=0:
|
||||
|
||||
+32
-27
@@ -37,7 +37,7 @@
|
||||
# is yes)
|
||||
# Global IME support: GIME=yes (requires GUI=yes)
|
||||
#
|
||||
# Terminal support: TERMINAL=yes (default is no)
|
||||
# Terminal support: TERMINAL=yes (default is yes)
|
||||
#
|
||||
# Lua interface:
|
||||
# LUA=[Path to Lua directory]
|
||||
@@ -361,6 +361,14 @@ CSCOPE_OBJ = $(OBJDIR)/if_cscope.obj
|
||||
CSCOPE_DEFS = -DFEAT_CSCOPE
|
||||
!endif
|
||||
|
||||
!ifndef TERMINAL
|
||||
!if "$(FEATURES)"=="HUGE"
|
||||
TERMINAL = yes
|
||||
!else
|
||||
TERMINAL = no
|
||||
!endif
|
||||
!endif
|
||||
|
||||
!if "$(TERMINAL)" == "yes"
|
||||
TERM_OBJ = \
|
||||
$(OBJDIR)/terminal.obj \
|
||||
@@ -587,7 +595,7 @@ CPUARG = /arch:AVX2
|
||||
! endif
|
||||
!endif
|
||||
|
||||
# Pass CPUARG to GVimExt, to avoid using version-dependent defaults
|
||||
# Pass CPUARG to GvimExt, to avoid using version-dependent defaults
|
||||
MAKEFLAGS_GVIMEXT = $(MAKEFLAGS_GVIMEXT) CPUARG="$(CPUARG)"
|
||||
|
||||
|
||||
@@ -673,9 +681,9 @@ CFLAGS = $(CFLAGS) /Zl /MTd
|
||||
! endif
|
||||
!endif # DEBUG
|
||||
|
||||
INCL = vim.h os_win32.h ascii.h feature.h globals.h keymap.h macros.h \
|
||||
proto.h option.h structs.h term.h $(CSCOPE_INCL) \
|
||||
$(NBDEBUG_INCL)
|
||||
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
|
||||
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
|
||||
spell.h structs.h term.h $(NBDEBUG_INCL)
|
||||
|
||||
OBJ = \
|
||||
$(OUTDIR)\arabic.obj \
|
||||
@@ -774,18 +782,7 @@ RCFLAGS = $(RCFLAGS) -DFEAT_GUI_W32
|
||||
VIM = g$(VIM)
|
||||
GUI_INCL = \
|
||||
gui.h \
|
||||
regexp.h \
|
||||
ascii.h \
|
||||
ex_cmds.h \
|
||||
farsi.h \
|
||||
feature.h \
|
||||
globals.h \
|
||||
gui_beval.h \
|
||||
keymap.h \
|
||||
macros.h \
|
||||
option.h \
|
||||
os_dos.h \
|
||||
os_win32.h
|
||||
gui_beval.h
|
||||
GUI_OBJ = \
|
||||
$(OUTDIR)\gui.obj \
|
||||
$(OUTDIR)\gui_beval.obj \
|
||||
@@ -800,9 +797,14 @@ SUBSYSTEM = console
|
||||
CUI_INCL = iscygpty.h
|
||||
CUI_OBJ = $(OUTDIR)\iscygpty.obj
|
||||
!endif
|
||||
SUBSYSTEM_TOOLS = console
|
||||
|
||||
!if "$(SUBSYSTEM_VER)" != ""
|
||||
SUBSYSTEM = $(SUBSYSTEM),$(SUBSYSTEM_VER)
|
||||
SUBSYSTEM_TOOLS = $(SUBSYSTEM_TOOLS),$(SUBSYSTEM_VER)
|
||||
# Pass SUBSYSTEM_VER to GvimExt and other tools
|
||||
MAKEFLAGS_GVIMEXT = $(MAKEFLAGS_GVIMEXT) SUBSYSTEM_VER=$(SUBSYSTEM_VER)
|
||||
MAKEFLAGS_TOOLS = $(MAKEFLAGS_TOOLS) SUBSYSTEM_VER=$(SUBSYSTEM_VER)
|
||||
!endif
|
||||
|
||||
!if "$(GUI)" == "yes" && "$(DIRECTX)" == "yes"
|
||||
@@ -979,6 +981,7 @@ MZSCHEME_LIB = "$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib" \
|
||||
MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj
|
||||
# increase stack size
|
||||
MZSCHEME_LIB = $(MZSCHEME_LIB) /STACK:8388608
|
||||
MZSCHEME_INCL = if_mzsch.h
|
||||
!endif
|
||||
|
||||
# Perl interface
|
||||
@@ -1196,24 +1199,26 @@ $(OUTDIR):
|
||||
|
||||
install.exe: dosinst.c
|
||||
$(CC) /nologo -DNDEBUG -DWIN32 dosinst.c kernel32.lib shell32.lib \
|
||||
user32.lib ole32.lib advapi32.lib uuid.lib
|
||||
user32.lib ole32.lib advapi32.lib uuid.lib \
|
||||
-link -subsystem:$(SUBSYSTEM_TOOLS)
|
||||
- if exist install.exe del install.exe
|
||||
ren dosinst.exe install.exe
|
||||
|
||||
uninstal.exe: uninstal.c
|
||||
$(CC) /nologo -DNDEBUG -DWIN32 uninstal.c shell32.lib advapi32.lib
|
||||
$(CC) /nologo -DNDEBUG -DWIN32 uninstal.c shell32.lib advapi32.lib \
|
||||
-link -subsystem:$(SUBSYSTEM_TOOLS)
|
||||
|
||||
vimrun.exe: vimrun.c
|
||||
$(CC) /nologo -DNDEBUG vimrun.c
|
||||
$(CC) /nologo -DNDEBUG vimrun.c -link -subsystem:$(SUBSYSTEM_TOOLS)
|
||||
|
||||
xxd/xxd.exe: xxd/xxd.c
|
||||
cd xxd
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak $(MAKEFLAGS_TOOLS)
|
||||
cd ..
|
||||
|
||||
tee/tee.exe: tee/tee.c
|
||||
cd tee
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak
|
||||
$(MAKE) /NOLOGO -f Make_mvc.mak $(MAKEFLAGS_TOOLS)
|
||||
cd ..
|
||||
|
||||
GvimExt/gvimext.dll: GvimExt/gvimext.cpp GvimExt/gvimext.rc GvimExt/gvimext.h
|
||||
@@ -1318,9 +1323,9 @@ $(OUTDIR)/ex_cmds.obj: $(OUTDIR) ex_cmds.c $(INCL)
|
||||
|
||||
$(OUTDIR)/ex_cmds2.obj: $(OUTDIR) ex_cmds2.c $(INCL)
|
||||
|
||||
$(OUTDIR)/ex_docmd.obj: $(OUTDIR) ex_docmd.c $(INCL) ex_cmds.h
|
||||
$(OUTDIR)/ex_docmd.obj: $(OUTDIR) ex_docmd.c $(INCL)
|
||||
|
||||
$(OUTDIR)/ex_eval.obj: $(OUTDIR) ex_eval.c $(INCL) ex_cmds.h
|
||||
$(OUTDIR)/ex_eval.obj: $(OUTDIR) ex_eval.c $(INCL)
|
||||
|
||||
$(OUTDIR)/ex_getln.obj: $(OUTDIR) ex_getln.c $(INCL)
|
||||
|
||||
@@ -1344,7 +1349,7 @@ $(OUTDIR)/gui_w32.obj: $(OUTDIR) gui_w32.c $(INCL) $(GUI_INCL)
|
||||
|
||||
$(OUTDIR)/gui_dwrite.obj: $(OUTDIR) gui_dwrite.cpp $(INCL) $(GUI_INCL)
|
||||
|
||||
$(OUTDIR)/if_cscope.obj: $(OUTDIR) if_cscope.c $(INCL)
|
||||
$(OUTDIR)/if_cscope.obj: $(OUTDIR) if_cscope.c $(INCL) if_cscope.h
|
||||
|
||||
$(OUTDIR)/if_lua.obj: $(OUTDIR) if_lua.c $(INCL)
|
||||
$(CC) $(CFLAGS_OUTDIR) $(LUA_INC) if_lua.c
|
||||
@@ -1359,7 +1364,7 @@ $(OUTDIR)/if_perl.obj: $(OUTDIR) if_perl.c $(INCL)
|
||||
$(OUTDIR)/if_perlsfio.obj: $(OUTDIR) if_perlsfio.c $(INCL)
|
||||
$(CC) $(CFLAGS_OUTDIR) $(PERL_INC) if_perlsfio.c
|
||||
|
||||
$(OUTDIR)/if_mzsch.obj: $(OUTDIR) if_mzsch.c if_mzsch.h $(INCL) $(MZSCHEME_EXTRA_DEP)
|
||||
$(OUTDIR)/if_mzsch.obj: $(OUTDIR) if_mzsch.c $(MZSCHEME_INCL) $(INCL) $(MZSCHEME_EXTRA_DEP)
|
||||
$(CC) $(CFLAGS_OUTDIR) if_mzsch.c \
|
||||
-DMZSCHEME_COLLECTS="\"$(MZSCHEME_COLLECTS:\=\\)\""
|
||||
|
||||
@@ -1423,7 +1428,7 @@ $(OUTDIR)/terminal.obj: $(OUTDIR) terminal.c $(INCL) $(TERM_DEPS)
|
||||
|
||||
$(OUTDIR)/winclip.obj: $(OUTDIR) winclip.c $(INCL)
|
||||
|
||||
$(OUTDIR)/os_win32.obj: $(OUTDIR) os_win32.c $(INCL) os_win32.h
|
||||
$(OUTDIR)/os_win32.obj: $(OUTDIR) os_win32.c $(INCL) $(MZSCHEME_INCL)
|
||||
|
||||
$(OUTDIR)/os_w32exe.obj: $(OUTDIR) os_w32exe.c $(INCL)
|
||||
|
||||
|
||||
+8
-6
@@ -2117,14 +2117,14 @@ test1 \
|
||||
test_listchars \
|
||||
test_search_mbyte \
|
||||
test_wordcount \
|
||||
test3 test4 test5 test7 test8 \
|
||||
test3 test8 \
|
||||
test11 test12 test14 test15 test17 test19 \
|
||||
test20 test25 test28 test29 \
|
||||
test30 test31 test32 test33 test34 test36 test37 test38 test39 \
|
||||
test40 test41 test42 test43 test44 test45 test48 test49 \
|
||||
test50 test52 test53 test54 test55 test56 test57 test59 \
|
||||
test60 test64 test66 test68 test69 \
|
||||
test70 test72 test73 test77 test78 test79 \
|
||||
test30 test32 test34 test36 test37 test38 test39 \
|
||||
test40 test42 test44 test45 test48 test49 \
|
||||
test50 test52 test54 test55 test59 \
|
||||
test64 test66 test68 test69 \
|
||||
test70 test72 test73 test77 test79 \
|
||||
test83 test85 test86 test87 test88 \
|
||||
test94 test95 test99 \
|
||||
test108:
|
||||
@@ -2166,6 +2166,7 @@ test_arglist \
|
||||
test_ex_z \
|
||||
test_exec_while_if \
|
||||
test_execute_func \
|
||||
test_exists \
|
||||
test_exists_autocmd \
|
||||
test_expand \
|
||||
test_expand_dllpath \
|
||||
@@ -2296,6 +2297,7 @@ test_arglist \
|
||||
test_virtualedit \
|
||||
test_visual \
|
||||
test_winbar \
|
||||
test_winbuf_close \
|
||||
test_window_cmd \
|
||||
test_window_id \
|
||||
test_windows_home \
|
||||
|
||||
Vendored
+7
-5
@@ -5755,10 +5755,12 @@ $as_echo "OK" >&6; }
|
||||
done
|
||||
|
||||
|
||||
perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
|
||||
perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
|
||||
-e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[^ ]*//' \
|
||||
-e 's/-fdebug-prefix-map[^ ]*//g' \
|
||||
-e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=.//g'`
|
||||
-e 's/-pipe //' \
|
||||
-e 's/-W[^ ]*//g' \
|
||||
-e 's/-D_FORTIFY_SOURCE=.//g'`
|
||||
perllibs=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed -e 'ldopts' | \
|
||||
sed -e '/Warning/d' -e '/Note (probably harmless)/d' \
|
||||
-e 's/-bE:perl.exp//' -e 's/-lc //'`
|
||||
@@ -5804,7 +5806,7 @@ rm -f core conftest.err conftest.$ac_objext \
|
||||
LDFLAGS=$ldflags_save
|
||||
if test $perl_ok = yes; then
|
||||
if test "X$perlcppflags" != "X"; then
|
||||
PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[^ ]*//'`
|
||||
PERL_CFLAGS=$perlcppflags
|
||||
fi
|
||||
if test "X$perlldflags" != "X"; then
|
||||
if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$perlldflags\"`" = "X"; then
|
||||
@@ -7282,10 +7284,10 @@ $as_echo "$rubyhdrdir" >&6; }
|
||||
$as_echo "#define FEAT_RUBY 1" >>confdefs.h
|
||||
|
||||
if test "$enable_rubyinterp" = "dynamic"; then
|
||||
libruby=`$vi_cv_path_ruby -r rbconfig -e "puts $ruby_rbconfig::CONFIG['LIBRUBY_SO']"`
|
||||
libruby_soname=`$vi_cv_path_ruby -r rbconfig -e "puts $ruby_rbconfig::CONFIG['LIBRUBY_ALIASES'].split[0]"`
|
||||
$as_echo "#define DYNAMIC_RUBY 1" >>confdefs.h
|
||||
|
||||
RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
|
||||
RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby_soname\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
|
||||
RUBY_LIBS=
|
||||
fi
|
||||
else
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
:: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
|
||||
:: command to build big Vim with OLE, Lua, Perl, Python, Racket, Ruby and Tcl
|
||||
SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\"
|
||||
SET TOOLDIR=E:\
|
||||
%VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=%TOOLDIR%perl524 DYNAMIC_PERL=yes PERL_VER=524 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python35 DYNAMIC_PYTHON3=yes PYTHON3_VER=35 RUBY=%TOOLDIR%ruby22 DYNAMIC_RUBY=yes RUBY_VER=22 RUBY_API_VER_LONG=2.2.0 RUBY_MSVCRT_NAME=msvcrt TCL=%TOOLDIR%tcl TCL_VER=86 TCL_VER_LONG=8.6 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes DIRECTX=yes
|
||||
%VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes LUA=%TOOLDIR%lua53 DYNAMIC_LUA=yes LUA_VER=53 PERL=%TOOLDIR%perl524 DYNAMIC_PERL=yes PERL_VER=524 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python35 DYNAMIC_PYTHON3=yes PYTHON3_VER=35 MZSCHEME=%TOOLDIR%Racket DYNAMIC_MZSCHEME=yes MZSCHEME_VER=3m_a36fs8 RUBY=%TOOLDIR%ruby24 DYNAMIC_RUBY=yes RUBY_VER=24 RUBY_API_VER_LONG=2.4.0 RUBY_MSVCRT_NAME=msvcrt TCL=%TOOLDIR%ActiveTcl TCL_VER=86 TCL_VER_LONG=8.6 DYNAMIC_TCL=yes TCL_DLL=tcl86t.dll %1 IME=yes CSCOPE=yes DIRECTX=yes
|
||||
|
||||
|
||||
+9
-7
@@ -841,6 +841,8 @@ free_buffer(buf_T *buf)
|
||||
++buf_free_count;
|
||||
free_buffer_stuff(buf, TRUE);
|
||||
#ifdef FEAT_EVAL
|
||||
/* b:changedtick uses an item in buf_T, remove it now */
|
||||
dictitem_remove(buf->b_vars, (dictitem_T *)&buf->b_ct_di);
|
||||
unref_var_dict(buf->b_vars);
|
||||
#endif
|
||||
#ifdef FEAT_LUA
|
||||
@@ -3920,7 +3922,6 @@ build_stl_str_hl(
|
||||
struct stl_hlrec *sp;
|
||||
int save_must_redraw = must_redraw;
|
||||
int save_redr_type = curwin->w_redr_type;
|
||||
int save_highlight_shcnaged = need_highlight_changed;
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
/*
|
||||
@@ -4693,12 +4694,13 @@ build_stl_str_hl(
|
||||
sp->userhl = 0;
|
||||
}
|
||||
|
||||
/* We do not want redrawing a stausline, ruler, title, etc. to trigger
|
||||
* another redraw, it may cause an endless loop. This happens when a
|
||||
* statusline changes a highlight group. */
|
||||
must_redraw = save_must_redraw;
|
||||
curwin->w_redr_type = save_redr_type;
|
||||
need_highlight_changed = save_highlight_shcnaged;
|
||||
/* When inside update_screen we do not want redrawing a stausline, ruler,
|
||||
* title, etc. to trigger another redraw, it may cause an endless loop. */
|
||||
if (updating_screen)
|
||||
{
|
||||
must_redraw = save_must_redraw;
|
||||
curwin->w_redr_type = save_redr_type;
|
||||
}
|
||||
|
||||
return width;
|
||||
}
|
||||
|
||||
+71
-15
@@ -54,9 +54,7 @@
|
||||
# define fd_close(sd) close(sd)
|
||||
#endif
|
||||
|
||||
#ifndef FEAT_GUI_MACVIM
|
||||
static void channel_read(channel_T *channel, ch_part_T part, char *func);
|
||||
#endif
|
||||
|
||||
/* Whether a redraw is needed for appending a line to a buffer. */
|
||||
static int channel_need_redraw = FALSE;
|
||||
@@ -3271,11 +3269,7 @@ channel_close_now(channel_T *channel)
|
||||
* "part" is PART_SOCK, PART_OUT or PART_ERR.
|
||||
* The data is put in the read queue. No callbacks are invoked here.
|
||||
*/
|
||||
#ifndef FEAT_GUI_MACVIM
|
||||
static void
|
||||
#else
|
||||
void
|
||||
#endif
|
||||
channel_read(channel_T *channel, ch_part_T part, char *func)
|
||||
{
|
||||
static char_u *buf = NULL;
|
||||
@@ -3561,6 +3555,22 @@ theend:
|
||||
free_job_options(&opt);
|
||||
}
|
||||
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
/*
|
||||
* Read from channel "channel" in dispatch event handler.
|
||||
* Channel may be already read out elsewhere before the handler invoked
|
||||
* after an event arrived, so should be checked again.
|
||||
*/
|
||||
void
|
||||
channel_may_read(channel_T *channel, ch_part_T part, char *func)
|
||||
{
|
||||
sock_T fd = channel->ch_part[part].ch_fd;
|
||||
|
||||
if (fd != INVALID_FD && channel_wait(channel, fd, 0) == CW_READY)
|
||||
channel_read(channel, part, func);
|
||||
}
|
||||
# endif
|
||||
|
||||
# if defined(WIN32) || defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) \
|
||||
|| defined(PROTO)
|
||||
/*
|
||||
@@ -3985,6 +3995,8 @@ ch_raw_common(typval_T *argvars, typval_T *rettv, int eval)
|
||||
free_job_options(&opt);
|
||||
}
|
||||
|
||||
# define KEEP_OPEN_TIME 20 /* msec */
|
||||
|
||||
# if (defined(UNIX) && !defined(HAVE_SELECT)) || defined(PROTO)
|
||||
/*
|
||||
* Add open channels to the poll struct.
|
||||
@@ -3992,7 +4004,7 @@ ch_raw_common(typval_T *argvars, typval_T *rettv, int eval)
|
||||
* The type of "fds" is hidden to avoid problems with the function proto.
|
||||
*/
|
||||
int
|
||||
channel_poll_setup(int nfd_in, void *fds_in)
|
||||
channel_poll_setup(int nfd_in, void *fds_in, int *towait)
|
||||
{
|
||||
int nfd = nfd_in;
|
||||
channel_T *channel;
|
||||
@@ -4007,10 +4019,21 @@ channel_poll_setup(int nfd_in, void *fds_in)
|
||||
|
||||
if (ch_part->ch_fd != INVALID_FD)
|
||||
{
|
||||
ch_part->ch_poll_idx = nfd;
|
||||
fds[nfd].fd = ch_part->ch_fd;
|
||||
fds[nfd].events = POLLIN;
|
||||
nfd++;
|
||||
if (channel->ch_keep_open)
|
||||
{
|
||||
/* For unknown reason poll() returns immediately for a
|
||||
* keep-open channel. Instead of adding it to the fds add
|
||||
* a short timeout and check, like polling. */
|
||||
if (*towait < 0 || *towait > KEEP_OPEN_TIME)
|
||||
*towait = KEEP_OPEN_TIME;
|
||||
}
|
||||
else
|
||||
{
|
||||
ch_part->ch_poll_idx = nfd;
|
||||
fds[nfd].fd = ch_part->ch_fd;
|
||||
fds[nfd].events = POLLIN;
|
||||
nfd++;
|
||||
}
|
||||
}
|
||||
else
|
||||
channel->ch_part[part].ch_poll_idx = -1;
|
||||
@@ -4046,6 +4069,12 @@ channel_poll_check(int ret_in, void *fds_in)
|
||||
channel_read(channel, part, "channel_poll_check");
|
||||
--ret;
|
||||
}
|
||||
else if (channel->ch_part[part].ch_fd != INVALID_FD
|
||||
&& channel->ch_keep_open)
|
||||
{
|
||||
/* polling a keep-open channel */
|
||||
channel_read(channel, part, "channel_poll_check_keep_open");
|
||||
}
|
||||
}
|
||||
|
||||
in_part = &channel->ch_part[PART_IN];
|
||||
@@ -4062,11 +4091,17 @@ channel_poll_check(int ret_in, void *fds_in)
|
||||
# endif /* UNIX && !HAVE_SELECT */
|
||||
|
||||
# if (!defined(WIN32) && defined(HAVE_SELECT)) || defined(PROTO)
|
||||
|
||||
/*
|
||||
* The "fd_set" type is hidden to avoid problems with the function proto.
|
||||
*/
|
||||
int
|
||||
channel_select_setup(int maxfd_in, void *rfds_in, void *wfds_in)
|
||||
channel_select_setup(
|
||||
int maxfd_in,
|
||||
void *rfds_in,
|
||||
void *wfds_in,
|
||||
struct timeval *tv,
|
||||
struct timeval **tvp)
|
||||
{
|
||||
int maxfd = maxfd_in;
|
||||
channel_T *channel;
|
||||
@@ -4082,9 +4117,25 @@ channel_select_setup(int maxfd_in, void *rfds_in, void *wfds_in)
|
||||
|
||||
if (fd != INVALID_FD)
|
||||
{
|
||||
FD_SET((int)fd, rfds);
|
||||
if (maxfd < (int)fd)
|
||||
maxfd = (int)fd;
|
||||
if (channel->ch_keep_open)
|
||||
{
|
||||
/* For unknown reason select() returns immediately for a
|
||||
* keep-open channel. Instead of adding it to the rfds add
|
||||
* a short timeout and check, like polling. */
|
||||
if (*tvp == NULL || tv->tv_sec > 0
|
||||
|| tv->tv_usec > KEEP_OPEN_TIME * 1000)
|
||||
{
|
||||
*tvp = tv;
|
||||
tv->tv_sec = 0;
|
||||
tv->tv_usec = KEEP_OPEN_TIME * 1000;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FD_SET((int)fd, rfds);
|
||||
if (maxfd < (int)fd)
|
||||
maxfd = (int)fd;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4119,6 +4170,11 @@ channel_select_check(int ret_in, void *rfds_in, void *wfds_in)
|
||||
FD_CLR(fd, rfds);
|
||||
--ret;
|
||||
}
|
||||
else if (fd != INVALID_FD && channel->ch_keep_open)
|
||||
{
|
||||
/* polling a keep-open channel */
|
||||
channel_read(channel, part, "channel_select_check_keep_open");
|
||||
}
|
||||
}
|
||||
|
||||
in_part = &channel->ch_part[PART_IN];
|
||||
|
||||
+10
-10
@@ -1100,7 +1100,7 @@ win_lbr_chartabsize(
|
||||
*/
|
||||
numberextra = win_col_off(wp);
|
||||
col2 = col;
|
||||
colmax = (colnr_T)(W_WIDTH(wp) - numberextra - col_adj);
|
||||
colmax = (colnr_T)(wp->w_width - numberextra - col_adj);
|
||||
if (col >= colmax)
|
||||
{
|
||||
colmax += col_adj;
|
||||
@@ -1151,10 +1151,10 @@ win_lbr_chartabsize(
|
||||
|
||||
numberextra = numberwidth;
|
||||
col += numberextra + mb_added;
|
||||
if (col >= (colnr_T)W_WIDTH(wp))
|
||||
if (col >= (colnr_T)wp->w_width)
|
||||
{
|
||||
col -= W_WIDTH(wp);
|
||||
numberextra = W_WIDTH(wp) - (numberextra - win_col_off2(wp));
|
||||
col -= wp->w_width;
|
||||
numberextra = wp->w_width - (numberextra - win_col_off2(wp));
|
||||
if (col >= numberextra && numberextra > 0)
|
||||
col %= numberextra;
|
||||
if (*p_sbr != NUL)
|
||||
@@ -1170,18 +1170,18 @@ win_lbr_chartabsize(
|
||||
|
||||
numberwidth -= win_col_off2(wp);
|
||||
}
|
||||
if (col == 0 || col + size + sbrlen > (colnr_T)W_WIDTH(wp))
|
||||
if (col == 0 || col + size + sbrlen > (colnr_T)wp->w_width)
|
||||
{
|
||||
added = 0;
|
||||
if (*p_sbr != NUL)
|
||||
{
|
||||
if (size + sbrlen + numberwidth > (colnr_T)W_WIDTH(wp))
|
||||
if (size + sbrlen + numberwidth > (colnr_T)wp->w_width)
|
||||
{
|
||||
/* calculate effective window width */
|
||||
int width = (colnr_T)W_WIDTH(wp) - sbrlen - numberwidth;
|
||||
int prev_width = col ? ((colnr_T)W_WIDTH(wp) - (sbrlen + col)) : 0;
|
||||
int width = (colnr_T)wp->w_width - sbrlen - numberwidth;
|
||||
int prev_width = col ? ((colnr_T)wp->w_width - (sbrlen + col)) : 0;
|
||||
if (width == 0)
|
||||
width = (colnr_T)W_WIDTH(wp);
|
||||
width = (colnr_T)wp->w_width;
|
||||
added += ((size - prev_width) / width) * vim_strsize(p_sbr);
|
||||
if ((size - prev_width) % width)
|
||||
/* wrapped, add another length of 'sbr' */
|
||||
@@ -1248,7 +1248,7 @@ in_win_border(win_T *wp, colnr_T vcol)
|
||||
|
||||
if (wp->w_width == 0) /* there is no border */
|
||||
return FALSE;
|
||||
width1 = W_WIDTH(wp) - win_col_off(wp);
|
||||
width1 = wp->w_width - win_col_off(wp);
|
||||
if ((int)vcol < width1 - 1)
|
||||
return FALSE;
|
||||
if ((int)vcol == width1 - 1)
|
||||
|
||||
+7
-5
@@ -1027,10 +1027,13 @@ if test "$enable_perlinterp" = "yes" -o "$enable_perlinterp" = "dynamic"; then
|
||||
dnl Remove "-fno-something", it breaks using cproto.
|
||||
dnl Remove "-fdebug-prefix-map", it isn't supported by clang.
|
||||
dnl Remove "FORTIFY_SOURCE", it will be defined twice.
|
||||
dnl remove -pipe and -Wxxx, it confuses cproto
|
||||
perlcppflags=`$vi_cv_path_perl -Mlib=$srcdir -MExtUtils::Embed \
|
||||
-e 'ccflags;perl_inc;print"\n"' | sed -e 's/-fno[[^ ]]*//' \
|
||||
-e 's/-fdebug-prefix-map[[^ ]]*//g' \
|
||||
-e 's/\(-Wp,\)\?-D_FORTIFY_SOURCE=.//g'`
|
||||
-e 's/-pipe //' \
|
||||
-e 's/-W[[^ ]]*//g' \
|
||||
-e 's/-D_FORTIFY_SOURCE=.//g'`
|
||||
dnl Remove "-lc", it breaks on FreeBSD when using "-pthread".
|
||||
perllibs=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed -e 'ldopts' | \
|
||||
sed -e '/Warning/d' -e '/Note (probably harmless)/d' \
|
||||
@@ -1066,8 +1069,7 @@ if test "$enable_perlinterp" = "yes" -o "$enable_perlinterp" = "dynamic"; then
|
||||
LDFLAGS=$ldflags_save
|
||||
if test $perl_ok = yes; then
|
||||
if test "X$perlcppflags" != "X"; then
|
||||
dnl remove -pipe and -Wxxx, it confuses cproto
|
||||
PERL_CFLAGS=`echo "$perlcppflags" | sed -e 's/-pipe //' -e 's/-W[[^ ]]*//'`
|
||||
PERL_CFLAGS=$perlcppflags
|
||||
fi
|
||||
if test "X$perlldflags" != "X"; then
|
||||
if test "X`echo \"$LDFLAGS\" | $FGREP -e \"$perlldflags\"`" = "X"; then
|
||||
@@ -1964,9 +1966,9 @@ if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
|
||||
|
||||
AC_DEFINE(FEAT_RUBY)
|
||||
if test "$enable_rubyinterp" = "dynamic"; then
|
||||
libruby=`$vi_cv_path_ruby -r rbconfig -e "puts $ruby_rbconfig::CONFIG[['LIBRUBY_SO']]"`
|
||||
libruby_soname=`$vi_cv_path_ruby -r rbconfig -e "puts $ruby_rbconfig::CONFIG[['LIBRUBY_ALIASES']].split[[0]]"`
|
||||
AC_DEFINE(DYNAMIC_RUBY)
|
||||
RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
|
||||
RUBY_CFLAGS="-DDYNAMIC_RUBY_DLL=\\\"$libruby_soname\\\" -DDYNAMIC_RUBY_VER=$rubyversion $RUBY_CFLAGS"
|
||||
RUBY_LIBS=
|
||||
fi
|
||||
else
|
||||
|
||||
+71
-86
@@ -19,6 +19,9 @@
|
||||
#define DOSINST
|
||||
#include "dosinst.h"
|
||||
|
||||
#define GVIMEXT64_PATH "GvimExt64\\gvimext.dll"
|
||||
#define GVIMEXT32_PATH "GvimExt32\\gvimext.dll"
|
||||
|
||||
/* Macro to do an error check I was typing over and over */
|
||||
#define CHECK_REG_ERROR(code) if (code != ERROR_SUCCESS) { printf("%ld error number: %ld\n", (long)__LINE__, (long)code); return 1; }
|
||||
|
||||
@@ -75,7 +78,7 @@ char *(remap_choices[]) =
|
||||
{
|
||||
"\nChoose:",
|
||||
"Do not remap keys for Windows behavior",
|
||||
"Remap a few keys for Windows behavior (<C-V>, <C-C>, etc)",
|
||||
"Remap a few keys for Windows behavior (CTRL-V, CTRL-C, CTRL-F, etc)",
|
||||
};
|
||||
int remap_choice = (int)remap_win;
|
||||
char *remap_text = "- %s";
|
||||
@@ -359,7 +362,6 @@ find_bat_exe(int check_bat_only)
|
||||
mch_chdir(installdir);
|
||||
}
|
||||
|
||||
#ifdef WIN3264
|
||||
/*
|
||||
* Get the value of $VIMRUNTIME or $VIM and write it in $TEMP/vimini.ini, so
|
||||
* that NSIS can read it.
|
||||
@@ -612,7 +614,6 @@ uninstall_check(int skip_question)
|
||||
|
||||
return foundone;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Find out information about the system.
|
||||
@@ -1324,12 +1325,12 @@ init_vimrc_choices(void)
|
||||
++choice_count;
|
||||
}
|
||||
|
||||
#if defined(WIN3264)
|
||||
static LONG
|
||||
reg_create_key(
|
||||
HKEY root,
|
||||
const char *subkey,
|
||||
PHKEY phKey)
|
||||
PHKEY phKey,
|
||||
DWORD flag)
|
||||
{
|
||||
DWORD disp;
|
||||
|
||||
@@ -1337,7 +1338,7 @@ reg_create_key(
|
||||
return RegCreateKeyEx(
|
||||
root, subkey,
|
||||
0, NULL, REG_OPTION_NON_VOLATILE,
|
||||
KEY_WOW64_64KEY | KEY_WRITE,
|
||||
flag | KEY_WRITE,
|
||||
NULL, phKey, &disp);
|
||||
}
|
||||
|
||||
@@ -1356,10 +1357,11 @@ reg_create_key_and_value(
|
||||
HKEY hRootKey,
|
||||
const char *subkey,
|
||||
const char *value_name,
|
||||
const char *data)
|
||||
const char *data,
|
||||
DWORD flag)
|
||||
{
|
||||
HKEY hKey;
|
||||
LONG lRet = reg_create_key(hRootKey, subkey, &hKey);
|
||||
LONG lRet = reg_create_key(hRootKey, subkey, &hKey, flag);
|
||||
|
||||
if (ERROR_SUCCESS == lRet)
|
||||
{
|
||||
@@ -1375,21 +1377,22 @@ register_inproc_server(
|
||||
const char *clsid,
|
||||
const char *extname,
|
||||
const char *module,
|
||||
const char *threading_model)
|
||||
const char *threading_model,
|
||||
DWORD flag)
|
||||
{
|
||||
CHAR subkey[BUFSIZE];
|
||||
LONG lRet;
|
||||
|
||||
sprintf(subkey, "CLSID\\%s", clsid);
|
||||
lRet = reg_create_key_and_value(hRootKey, subkey, NULL, extname);
|
||||
lRet = reg_create_key_and_value(hRootKey, subkey, NULL, extname, flag);
|
||||
if (ERROR_SUCCESS == lRet)
|
||||
{
|
||||
sprintf(subkey, "CLSID\\%s\\InProcServer32", clsid);
|
||||
lRet = reg_create_key_and_value(hRootKey, subkey, NULL, module);
|
||||
lRet = reg_create_key_and_value(hRootKey, subkey, NULL, module, flag);
|
||||
if (ERROR_SUCCESS == lRet)
|
||||
{
|
||||
lRet = reg_create_key_and_value(hRootKey, subkey,
|
||||
"ThreadingModel", threading_model);
|
||||
"ThreadingModel", threading_model, flag);
|
||||
}
|
||||
}
|
||||
return lRet;
|
||||
@@ -1400,13 +1403,15 @@ register_shellex(
|
||||
HKEY hRootKey,
|
||||
const char *clsid,
|
||||
const char *name,
|
||||
const char *exe_path)
|
||||
const char *exe_path,
|
||||
DWORD flag)
|
||||
{
|
||||
LONG lRet = reg_create_key_and_value(
|
||||
hRootKey,
|
||||
"*\\shellex\\ContextMenuHandlers\\gvim",
|
||||
NULL,
|
||||
clsid);
|
||||
clsid,
|
||||
flag);
|
||||
|
||||
if (ERROR_SUCCESS == lRet)
|
||||
{
|
||||
@@ -1414,7 +1419,8 @@ register_shellex(
|
||||
HKEY_LOCAL_MACHINE,
|
||||
"Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved",
|
||||
clsid,
|
||||
name);
|
||||
name,
|
||||
flag);
|
||||
|
||||
if (ERROR_SUCCESS == lRet)
|
||||
{
|
||||
@@ -1422,7 +1428,8 @@ register_shellex(
|
||||
HKEY_LOCAL_MACHINE,
|
||||
"Software\\Vim\\Gvim",
|
||||
"path",
|
||||
exe_path);
|
||||
exe_path,
|
||||
flag);
|
||||
}
|
||||
}
|
||||
return lRet;
|
||||
@@ -1431,7 +1438,8 @@ register_shellex(
|
||||
static LONG
|
||||
register_openwith(
|
||||
HKEY hRootKey,
|
||||
const char *exe_path)
|
||||
const char *exe_path,
|
||||
DWORD flag)
|
||||
{
|
||||
char exe_cmd[BUFSIZE];
|
||||
LONG lRet;
|
||||
@@ -1441,7 +1449,8 @@ register_openwith(
|
||||
hRootKey,
|
||||
"Applications\\gvim.exe\\shell\\edit\\command",
|
||||
NULL,
|
||||
exe_cmd);
|
||||
exe_cmd,
|
||||
flag);
|
||||
|
||||
if (ERROR_SUCCESS == lRet)
|
||||
{
|
||||
@@ -1455,7 +1464,7 @@ register_openwith(
|
||||
for (i = 0; ERROR_SUCCESS == lRet
|
||||
&& i < sizeof(openwith) / sizeof(openwith[0]); i++)
|
||||
{
|
||||
lRet = reg_create_key_and_value(hRootKey, openwith[i], NULL, "");
|
||||
lRet = reg_create_key_and_value(hRootKey, openwith[i], NULL, "", flag);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1470,14 +1479,13 @@ register_uninstall(
|
||||
const char *uninstall_string)
|
||||
{
|
||||
LONG lRet = reg_create_key_and_value(hRootKey, appname,
|
||||
"DisplayName", display_name);
|
||||
"DisplayName", display_name, KEY_WOW64_64KEY);
|
||||
|
||||
if (ERROR_SUCCESS == lRet)
|
||||
lRet = reg_create_key_and_value(hRootKey, appname,
|
||||
"UninstallString", uninstall_string);
|
||||
"UninstallString", uninstall_string, KEY_WOW64_64KEY);
|
||||
return lRet;
|
||||
}
|
||||
#endif /* WIN3264 */
|
||||
|
||||
/*
|
||||
* Add some entries to the registry:
|
||||
@@ -1489,7 +1497,6 @@ register_uninstall(
|
||||
static int
|
||||
install_registry(void)
|
||||
{
|
||||
#ifdef WIN3264
|
||||
LONG lRet = ERROR_SUCCESS;
|
||||
const char *vim_ext_ThreadingModel = "Apartment";
|
||||
const char *vim_ext_name = "Vim Shell Extension";
|
||||
@@ -1497,40 +1504,59 @@ install_registry(void)
|
||||
char vim_exe_path[BUFSIZE];
|
||||
char display_name[BUFSIZE];
|
||||
char uninstall_string[BUFSIZE];
|
||||
int i;
|
||||
int loop_count = is_64bit_os() ? 2 : 1;
|
||||
DWORD flag;
|
||||
|
||||
sprintf(vim_exe_path, "%s\\gvim.exe", installdir);
|
||||
|
||||
if (install_popup)
|
||||
{
|
||||
char bufg[BUFSIZE];
|
||||
struct stat st;
|
||||
|
||||
if (stat("gvimext.dll", &st) >= 0)
|
||||
sprintf(bufg, "%s\\gvimext.dll", installdir);
|
||||
else
|
||||
/* gvimext.dll is in gvimext subdir */
|
||||
sprintf(bufg, "%s\\gvimext\\gvimext.dll", installdir);
|
||||
|
||||
printf("Creating \"Edit with Vim\" popup menu entry\n");
|
||||
|
||||
lRet = register_inproc_server(
|
||||
HKEY_CLASSES_ROOT, vim_ext_clsid, vim_ext_name,
|
||||
bufg, vim_ext_ThreadingModel);
|
||||
if (ERROR_SUCCESS != lRet)
|
||||
return FAIL;
|
||||
lRet = register_shellex(
|
||||
HKEY_CLASSES_ROOT, vim_ext_clsid, vim_ext_name, vim_exe_path);
|
||||
if (ERROR_SUCCESS != lRet)
|
||||
return FAIL;
|
||||
for (i = 0; i < loop_count; i++)
|
||||
{
|
||||
if (i == 0)
|
||||
{
|
||||
sprintf(bufg, "%s\\" GVIMEXT32_PATH, installdir);
|
||||
flag = KEY_WOW64_32KEY;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(bufg, "%s\\" GVIMEXT64_PATH, installdir);
|
||||
flag = KEY_WOW64_64KEY;
|
||||
}
|
||||
|
||||
lRet = register_inproc_server(
|
||||
HKEY_CLASSES_ROOT, vim_ext_clsid, vim_ext_name,
|
||||
bufg, vim_ext_ThreadingModel, flag);
|
||||
if (ERROR_SUCCESS != lRet)
|
||||
return FAIL;
|
||||
lRet = register_shellex(
|
||||
HKEY_CLASSES_ROOT, vim_ext_clsid, vim_ext_name,
|
||||
vim_exe_path, flag);
|
||||
if (ERROR_SUCCESS != lRet)
|
||||
return FAIL;
|
||||
}
|
||||
}
|
||||
|
||||
if (install_openwith)
|
||||
{
|
||||
printf("Creating \"Open with ...\" list entry\n");
|
||||
|
||||
lRet = register_openwith(HKEY_CLASSES_ROOT, vim_exe_path);
|
||||
if (ERROR_SUCCESS != lRet)
|
||||
return FAIL;
|
||||
for (i = 0; i < loop_count; i++)
|
||||
{
|
||||
if (i == 0)
|
||||
flag = KEY_WOW64_32KEY;
|
||||
else
|
||||
flag = KEY_WOW64_64KEY;
|
||||
|
||||
lRet = register_openwith(HKEY_CLASSES_ROOT, vim_exe_path, flag);
|
||||
if (ERROR_SUCCESS != lRet)
|
||||
return FAIL;
|
||||
}
|
||||
}
|
||||
|
||||
printf("Creating an uninstall entry\n");
|
||||
@@ -1554,7 +1580,6 @@ install_registry(void)
|
||||
uninstall_string);
|
||||
if (ERROR_SUCCESS != lRet)
|
||||
return FAIL;
|
||||
#endif /* WIN3264 */
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -1584,12 +1609,8 @@ init_popup_choice(void)
|
||||
struct stat st;
|
||||
|
||||
if (has_gvim
|
||||
&& (stat("gvimext.dll", &st) >= 0
|
||||
|| stat("gvimext/gvimext.dll", &st) >= 0)
|
||||
#ifndef WIN3264
|
||||
&& searchpath("regedit.exe") != NULL
|
||||
#endif
|
||||
)
|
||||
&& (stat(GVIMEXT32_PATH, &st) >= 0
|
||||
|| stat(GVIMEXT64_PATH, &st) >= 0))
|
||||
{
|
||||
choices[choice_count].changefunc = change_popup_choice;
|
||||
choices[choice_count].installfunc = NULL;
|
||||
@@ -1623,11 +1644,7 @@ change_openwith_choice(int idx)
|
||||
static void
|
||||
init_openwith_choice(void)
|
||||
{
|
||||
if (has_gvim
|
||||
#ifndef WIN3264
|
||||
&& searchpath("regedit.exe") != NULL
|
||||
#endif
|
||||
)
|
||||
if (has_gvim)
|
||||
{
|
||||
choices[choice_count].changefunc = change_openwith_choice;
|
||||
choices[choice_count].installfunc = NULL;
|
||||
@@ -1639,7 +1656,6 @@ init_openwith_choice(void)
|
||||
add_dummy_choice();
|
||||
}
|
||||
|
||||
#ifdef WIN3264
|
||||
/* create_shortcut
|
||||
*
|
||||
* Create a shell link.
|
||||
@@ -1935,21 +1951,16 @@ toggle_shortcut_choice(int idx)
|
||||
alloc_text(idx, "Create a desktop icon for %s", arg);
|
||||
}
|
||||
}
|
||||
#endif /* WIN3264 */
|
||||
|
||||
static void
|
||||
init_startmenu_choice(void)
|
||||
{
|
||||
#ifdef WIN3264
|
||||
/* Start menu */
|
||||
choices[choice_count].changefunc = toggle_startmenu_choice;
|
||||
choices[choice_count].installfunc = NULL;
|
||||
choices[choice_count].active = 1;
|
||||
toggle_startmenu_choice(choice_count); /* set the text */
|
||||
++choice_count;
|
||||
#else
|
||||
add_dummy_choice();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1958,7 +1969,6 @@ init_startmenu_choice(void)
|
||||
static void
|
||||
init_shortcut_choices(void)
|
||||
{
|
||||
#ifdef WIN3264
|
||||
/* Shortcut to gvim */
|
||||
choices[choice_count].text = NULL;
|
||||
choices[choice_count].arg = 0;
|
||||
@@ -1985,14 +1995,8 @@ init_shortcut_choices(void)
|
||||
choices[choice_count].installfunc = install_shortcut_gview;
|
||||
toggle_shortcut_choice(choice_count);
|
||||
++choice_count;
|
||||
#else
|
||||
add_dummy_choice();
|
||||
add_dummy_choice();
|
||||
add_dummy_choice();
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef WIN3264
|
||||
/*
|
||||
* Attempt to register OLE for Vim.
|
||||
*/
|
||||
@@ -2004,16 +2008,9 @@ install_OLE_register(void)
|
||||
printf("\n--- Attempting to register Vim with OLE ---\n");
|
||||
printf("(There is no message whether this works or not.)\n");
|
||||
|
||||
#ifndef __CYGWIN__
|
||||
sprintf(register_command_string, "\"%s\\gvim.exe\" -silent -register", installdir);
|
||||
#else
|
||||
/* handle this differently for Cygwin which sometimes has trouble with
|
||||
* Windows-style pathnames here. */
|
||||
sprintf(register_command_string, "./gvim.exe -silent -register");
|
||||
#endif
|
||||
system(register_command_string);
|
||||
}
|
||||
#endif /* WIN3264 */
|
||||
|
||||
/*
|
||||
* Remove the last part of directory "path[]" to get its parent, and put the
|
||||
@@ -2212,19 +2209,15 @@ print_cmd_line_help(void)
|
||||
printf(" Install the Edit-with-Vim context menu entry\n");
|
||||
printf("-install-openwith\n");
|
||||
printf(" Add Vim to the \"Open With...\" context menu list\n");
|
||||
#ifdef WIN3264
|
||||
printf("-add-start-menu");
|
||||
printf(" Add Vim to the start menu\n");
|
||||
printf("-install-icons");
|
||||
printf(" Create icons for gVim executables on the desktop\n");
|
||||
#endif
|
||||
printf("-create-directories [vim|home]\n");
|
||||
printf(" Create runtime directories to drop plugins into; in the $VIM\n");
|
||||
printf(" or $HOME directory\n");
|
||||
#ifdef WIN3264
|
||||
printf("-register-OLE");
|
||||
printf(" Ignored\n");
|
||||
#endif
|
||||
printf("\n");
|
||||
}
|
||||
|
||||
@@ -2308,12 +2301,10 @@ command_line_setup_choices(int argc, char **argv)
|
||||
else /* No choice specified, default to vim directory */
|
||||
vimfiles_dir_choice = (int)vimfiles_dir_vim;
|
||||
}
|
||||
#ifdef WIN3264
|
||||
else if (strcmp(argv[i], "-register-OLE") == 0)
|
||||
{
|
||||
/* This is always done when gvim is found */
|
||||
}
|
||||
#endif
|
||||
else /* Unknown switch */
|
||||
{
|
||||
printf("Got unknown argument argv[%d] = %s\n", i, argv[i]);
|
||||
@@ -2471,11 +2462,9 @@ install(void)
|
||||
|| !interactive)
|
||||
install_registry();
|
||||
|
||||
#ifdef WIN3264
|
||||
/* Register gvim with OLE. */
|
||||
if (has_gvim)
|
||||
install_OLE_register();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2511,7 +2500,6 @@ main(int argc, char **argv)
|
||||
/* Initialize this program. */
|
||||
do_inits(argv);
|
||||
|
||||
#ifdef WIN3264
|
||||
if (argc > 1 && strcmp(argv[1], "-uninstall-check") == 0)
|
||||
{
|
||||
/* Only check for already installed Vims. Used by NSIS installer. */
|
||||
@@ -2527,7 +2515,6 @@ main(int argc, char **argv)
|
||||
sleep(3);
|
||||
exit(0);
|
||||
}
|
||||
#endif
|
||||
|
||||
printf("This program sets up the installation of Vim "
|
||||
VIM_VERSION_MEDIUM "\n\n");
|
||||
@@ -2535,11 +2522,9 @@ main(int argc, char **argv)
|
||||
/* Check if the user unpacked the archives properly. */
|
||||
check_unpack();
|
||||
|
||||
#ifdef WIN3264
|
||||
/* Check for already installed Vims. */
|
||||
if (interactive)
|
||||
uninstall_check(0);
|
||||
#endif
|
||||
|
||||
/* Find out information about the system. */
|
||||
inspect_system();
|
||||
|
||||
+35
-160
@@ -26,19 +26,10 @@
|
||||
# include "vimio.h"
|
||||
# include <ctype.h>
|
||||
|
||||
# ifndef __CYGWIN__
|
||||
# include <direct.h>
|
||||
# endif
|
||||
# include <direct.h>
|
||||
|
||||
# if defined(_WIN64) || defined(WIN32)
|
||||
# define WIN3264
|
||||
# include <windows.h>
|
||||
# include <shlobj.h>
|
||||
# else
|
||||
# include <dir.h>
|
||||
# include <bios.h>
|
||||
# include <dos.h>
|
||||
# endif
|
||||
# include <windows.h>
|
||||
# include <shlobj.h>
|
||||
#endif
|
||||
|
||||
#ifdef UNIX_LINT
|
||||
@@ -56,7 +47,7 @@ char *searchpath(char *name);
|
||||
#if defined(UNIX_LINT)
|
||||
# define vim_mkdir(x, y) mkdir((char *)(x), y)
|
||||
#else
|
||||
# if defined(WIN3264) && !defined(__BORLANDC__)
|
||||
# ifndef __BORLANDC__
|
||||
# define vim_mkdir(x, y) _mkdir((char *)(x))
|
||||
# else
|
||||
# define vim_mkdir(x, y) mkdir((char *)(x))
|
||||
@@ -88,6 +79,9 @@ char *searchpath(char *name);
|
||||
# ifndef KEY_WOW64_64KEY
|
||||
# define KEY_WOW64_64KEY 0x0100
|
||||
# endif
|
||||
# ifndef KEY_WOW64_32KEY
|
||||
# define KEY_WOW64_32KEY 0x0200
|
||||
# endif
|
||||
|
||||
#define VIM_STARTMENU "Programs\\Vim " VIM_VERSION_SHORT
|
||||
|
||||
@@ -134,40 +128,32 @@ myexit(int n)
|
||||
exit(n);
|
||||
}
|
||||
|
||||
#ifdef WIN3264
|
||||
/* This symbol is not defined in older versions of the SDK or Visual C++ */
|
||||
|
||||
#ifndef VER_PLATFORM_WIN32_WINDOWS
|
||||
# define VER_PLATFORM_WIN32_WINDOWS 1
|
||||
#endif
|
||||
|
||||
static DWORD g_PlatformId;
|
||||
|
||||
typedef BOOL (WINAPI *LPFN_ISWOW64PROCESS)(HANDLE, PBOOL);
|
||||
/*
|
||||
* Set g_PlatformId to VER_PLATFORM_WIN32_NT (NT) or
|
||||
* VER_PLATFORM_WIN32_WINDOWS (Win95).
|
||||
* Check if this is a 64-bit OS.
|
||||
*/
|
||||
static void
|
||||
PlatformId(void)
|
||||
static BOOL
|
||||
is_64bit_os(void)
|
||||
{
|
||||
static int done = FALSE;
|
||||
#ifdef _WIN64
|
||||
return TRUE;
|
||||
#else
|
||||
BOOL bIsWow64 = FALSE;
|
||||
LPFN_ISWOW64PROCESS pIsWow64Process;
|
||||
|
||||
if (!done)
|
||||
{
|
||||
OSVERSIONINFO ovi;
|
||||
|
||||
ovi.dwOSVersionInfoSize = sizeof(ovi);
|
||||
GetVersionEx(&ovi);
|
||||
|
||||
g_PlatformId = ovi.dwPlatformId;
|
||||
done = TRUE;
|
||||
}
|
||||
pIsWow64Process = (LPFN_ISWOW64PROCESS)GetProcAddress(
|
||||
GetModuleHandle("kernel32"), "IsWow64Process");
|
||||
if (pIsWow64Process != NULL)
|
||||
pIsWow64Process(GetCurrentProcess(), &bIsWow64);
|
||||
return bIsWow64;
|
||||
#endif
|
||||
}
|
||||
|
||||
# ifdef __BORLANDC__
|
||||
#ifdef __BORLANDC__
|
||||
/* Borland defines its own searchpath() in dir.h */
|
||||
# include <dir.h>
|
||||
# else
|
||||
# include <dir.h>
|
||||
#else
|
||||
static char *
|
||||
searchpath(char *name)
|
||||
{
|
||||
@@ -176,28 +162,17 @@ searchpath(char *name)
|
||||
|
||||
/* There appears to be a bug in FindExecutableA() on Windows NT.
|
||||
* Use FindExecutableW() instead... */
|
||||
PlatformId();
|
||||
if (g_PlatformId == VER_PLATFORM_WIN32_NT)
|
||||
MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)name, -1,
|
||||
(LPWSTR)widename, BUFSIZE);
|
||||
if (FindExecutableW((LPCWSTR)widename, (LPCWSTR)"",
|
||||
(LPWSTR)location) > (HINSTANCE)32)
|
||||
{
|
||||
MultiByteToWideChar(CP_ACP, 0, (LPCTSTR)name, -1,
|
||||
(LPWSTR)widename, BUFSIZE);
|
||||
if (FindExecutableW((LPCWSTR)widename, (LPCWSTR)"",
|
||||
(LPWSTR)location) > (HINSTANCE)32)
|
||||
{
|
||||
WideCharToMultiByte(CP_ACP, 0, (LPWSTR)location, -1,
|
||||
(LPSTR)widename, 2 * BUFSIZE, NULL, NULL);
|
||||
return widename;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (FindExecutableA((LPCTSTR)name, (LPCTSTR)"",
|
||||
(LPTSTR)location) > (HINSTANCE)32)
|
||||
return location;
|
||||
WideCharToMultiByte(CP_ACP, 0, (LPWSTR)location, -1,
|
||||
(LPSTR)widename, 2 * BUFSIZE, NULL, NULL);
|
||||
return widename;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -217,7 +192,6 @@ searchpath_save(char *name)
|
||||
return s;
|
||||
}
|
||||
|
||||
#ifdef WIN3264
|
||||
|
||||
#ifndef CSIDL_COMMON_PROGRAMS
|
||||
# define CSIDL_COMMON_PROGRAMS 0x0017
|
||||
@@ -355,7 +329,6 @@ retry:
|
||||
|
||||
return OK;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* List of targets. The first one (index zero) is used for the default path
|
||||
@@ -406,10 +379,8 @@ char *(icon_link_names[ICON_COUNT]) =
|
||||
"gVim Easy " VIM_VERSION_SHORT ".lnk",
|
||||
"gVim Read only " VIM_VERSION_SHORT ".lnk"};
|
||||
|
||||
/* This is only used for dosinst.c when WIN3264 is defined and for uninstal.c
|
||||
* when not being able to directly access registry entries. */
|
||||
#if (defined(DOSINST) && defined(WIN3264)) \
|
||||
|| (!defined(DOSINST) && !defined(WIN3264))
|
||||
/* This is only used for dosinst.c. */
|
||||
#if defined(DOSINST)
|
||||
/*
|
||||
* Run an external command and wait for it to finish.
|
||||
*/
|
||||
@@ -464,24 +435,9 @@ add_pathsep(char *name)
|
||||
int
|
||||
change_drive(int drive)
|
||||
{
|
||||
#ifdef WIN3264
|
||||
char temp[3] = "-:";
|
||||
temp[0] = (char)(drive + 'A' - 1);
|
||||
return !SetCurrentDirectory(temp);
|
||||
#else
|
||||
# ifndef UNIX_LINT
|
||||
union REGS regs;
|
||||
|
||||
regs.h.ah = 0x0e;
|
||||
regs.h.dl = drive - 1;
|
||||
intdos(®s, ®s); /* set default drive */
|
||||
regs.h.ah = 0x19;
|
||||
intdos(®s, ®s); /* get default drive */
|
||||
if (regs.h.al == drive - 1)
|
||||
return 0;
|
||||
# endif
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -507,7 +463,7 @@ mch_chdir(char *path)
|
||||
/*
|
||||
* Expand the executable name into a full path name.
|
||||
*/
|
||||
#if defined(__BORLANDC__) && !defined(WIN3264)
|
||||
#if defined(__BORLANDC__)
|
||||
|
||||
/* Only Borland C++ has this. */
|
||||
# define my_fullpath(b, n, l) _fullpath(b, n, l)
|
||||
@@ -516,92 +472,11 @@ mch_chdir(char *path)
|
||||
static char *
|
||||
my_fullpath(char *buf, char *fname, int len)
|
||||
{
|
||||
# ifdef WIN3264
|
||||
/* Only GetModuleFileName() will get the long file name path.
|
||||
* GetFullPathName() may still use the short (FAT) name. */
|
||||
DWORD len_read = GetModuleFileName(NULL, buf, (size_t)len);
|
||||
|
||||
return (len_read > 0 && len_read < (DWORD)len) ? buf : NULL;
|
||||
# else
|
||||
char olddir[BUFSIZE];
|
||||
char *p, *q;
|
||||
int c;
|
||||
char *retval = buf;
|
||||
|
||||
if (strchr(fname, ':') != NULL) /* already expanded */
|
||||
{
|
||||
strncpy(buf, fname, len);
|
||||
}
|
||||
else
|
||||
{
|
||||
*buf = NUL;
|
||||
/*
|
||||
* change to the directory for a moment,
|
||||
* and then do the getwd() (and get back to where we were).
|
||||
* This will get the correct path name with "../" things.
|
||||
*/
|
||||
p = strrchr(fname, '/');
|
||||
q = strrchr(fname, '\\');
|
||||
if (q != NULL && (p == NULL || q > p))
|
||||
p = q;
|
||||
q = strrchr(fname, ':');
|
||||
if (q != NULL && (p == NULL || q > p))
|
||||
p = q;
|
||||
if (p != NULL)
|
||||
{
|
||||
if (getcwd(olddir, BUFSIZE) == NULL)
|
||||
{
|
||||
p = NULL; /* can't get current dir: don't chdir */
|
||||
retval = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (p == fname) /* /fname */
|
||||
q = p + 1; /* -> / */
|
||||
else if (q + 1 == p) /* ... c:\foo */
|
||||
q = p + 1; /* -> c:\ */
|
||||
else /* but c:\foo\bar */
|
||||
q = p; /* -> c:\foo */
|
||||
|
||||
c = *q; /* truncate at start of fname */
|
||||
*q = NUL;
|
||||
if (mch_chdir(fname)) /* change to the directory */
|
||||
retval = NULL;
|
||||
else
|
||||
{
|
||||
fname = q;
|
||||
if (c == '\\') /* if we cut the name at a */
|
||||
fname++; /* '\', don't add it again */
|
||||
}
|
||||
*q = c;
|
||||
}
|
||||
}
|
||||
if (getcwd(buf, len) == NULL)
|
||||
{
|
||||
retval = NULL;
|
||||
*buf = NUL;
|
||||
}
|
||||
/*
|
||||
* Concatenate the file name to the path.
|
||||
*/
|
||||
if (strlen(buf) + strlen(fname) >= len - 1)
|
||||
{
|
||||
printf("ERROR: File name too long!\n");
|
||||
myexit(1);
|
||||
}
|
||||
add_pathsep(buf);
|
||||
strcat(buf, fname);
|
||||
if (p)
|
||||
mch_chdir(olddir);
|
||||
}
|
||||
|
||||
/* Replace forward slashes with backslashes, required for the path to a
|
||||
* command. */
|
||||
while ((p = strchr(buf, '/')) != NULL)
|
||||
*p = '\\';
|
||||
|
||||
return retval;
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
+8
-8
@@ -1785,14 +1785,14 @@ edit_putchar(int c, int highlight)
|
||||
else
|
||||
attr = 0;
|
||||
pc_row = W_WINROW(curwin) + curwin->w_wrow;
|
||||
pc_col = W_WINCOL(curwin);
|
||||
pc_col = curwin->w_wincol;
|
||||
#if defined(FEAT_RIGHTLEFT) || defined(FEAT_MBYTE)
|
||||
pc_status = PC_STATUS_UNSET;
|
||||
#endif
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
if (curwin->w_p_rl)
|
||||
{
|
||||
pc_col += W_WIDTH(curwin) - 1 - curwin->w_wcol;
|
||||
pc_col += curwin->w_width - 1 - curwin->w_wcol;
|
||||
# ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
{
|
||||
@@ -1874,7 +1874,7 @@ display_dollar(colnr_T col)
|
||||
}
|
||||
#endif
|
||||
curs_columns(FALSE); /* recompute w_wrow and w_wcol */
|
||||
if (curwin->w_wcol < W_WIDTH(curwin))
|
||||
if (curwin->w_wcol < curwin->w_width)
|
||||
{
|
||||
edit_putchar('$', FALSE);
|
||||
dollar_vcol = curwin->w_virtcol;
|
||||
@@ -6834,7 +6834,7 @@ check_auto_format(
|
||||
/*
|
||||
* Find out textwidth to be used for formatting:
|
||||
* if 'textwidth' option is set, use it
|
||||
* else if 'wrapmargin' option is set, use W_WIDTH(curwin) - 'wrapmargin'
|
||||
* else if 'wrapmargin' option is set, use curwin->w_width - 'wrapmargin'
|
||||
* if invalid value, use 0.
|
||||
* Set default to window width (maximum 79) for "gq" operator.
|
||||
*/
|
||||
@@ -6849,7 +6849,7 @@ comp_textwidth(
|
||||
{
|
||||
/* The width is the window width minus 'wrapmargin' minus all the
|
||||
* things that add to the margin. */
|
||||
textwidth = W_WIDTH(curwin) - curbuf->b_p_wm;
|
||||
textwidth = curwin->w_width - curbuf->b_p_wm;
|
||||
#ifdef FEAT_CMDWIN
|
||||
if (cmdwin_type != 0)
|
||||
textwidth -= 1;
|
||||
@@ -6868,7 +6868,7 @@ comp_textwidth(
|
||||
textwidth = 0;
|
||||
if (ff && textwidth == 0)
|
||||
{
|
||||
textwidth = W_WIDTH(curwin) - 1;
|
||||
textwidth = curwin->w_width - 1;
|
||||
if (textwidth > 79)
|
||||
textwidth = 79;
|
||||
}
|
||||
@@ -8216,7 +8216,7 @@ in_cinkeys(
|
||||
{
|
||||
/* "0=word": Check if there are only blanks before the
|
||||
* word. */
|
||||
if (getwhitecols(line) !=
|
||||
if (getwhitecols_curline() !=
|
||||
(int)(curwin->w_cursor.col - (p - look)))
|
||||
match = FALSE;
|
||||
}
|
||||
@@ -9480,7 +9480,7 @@ ins_mousescroll(int dir)
|
||||
step = scroll_wheel_force;
|
||||
# endif
|
||||
if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))
|
||||
step = W_WIDTH(curwin);
|
||||
step = curwin->w_width;
|
||||
val = curwin->w_leftcol + (dir == MSCR_RIGHT ? -step : step);
|
||||
if (val < 0)
|
||||
val = 0;
|
||||
|
||||
+5
-1
@@ -187,7 +187,8 @@ static struct vimvar
|
||||
{VV_NAME("t_none", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("t_job", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("t_channel", VAR_NUMBER), VV_RO},
|
||||
{VV_NAME("termrgbresp", VAR_STRING), VV_RO},
|
||||
{VV_NAME("termrfgresp", VAR_STRING), VV_RO},
|
||||
{VV_NAME("termrbgresp", VAR_STRING), VV_RO},
|
||||
{VV_NAME("termu7resp", VAR_STRING), VV_RO},
|
||||
{VV_NAME("termstyleresp", VAR_STRING), VV_RO},
|
||||
{VV_NAME("termblinkresp", VAR_STRING), VV_RO},
|
||||
@@ -1704,7 +1705,10 @@ ex_let_one(
|
||||
&stringval, opt_flags);
|
||||
if ((opt_type == 1 && *op == '.')
|
||||
|| (opt_type == 0 && *op != '.'))
|
||||
{
|
||||
EMSG2(_(e_letwrong), op);
|
||||
s = NULL; /* don't set the value */
|
||||
}
|
||||
else
|
||||
{
|
||||
if (opt_type == 1) /* number */
|
||||
|
||||
+3
-3
@@ -5190,8 +5190,8 @@ f_gettabvar(typval_T *argvars, typval_T *rettv)
|
||||
/* Set tp to be our tabpage, temporarily. Also set the window to the
|
||||
* first window in the tabpage, otherwise the window is not valid. */
|
||||
if (switch_win(&oldcurwin, &oldtabpage,
|
||||
tp->tp_firstwin == NULL ? firstwin : tp->tp_firstwin, tp, TRUE)
|
||||
== OK)
|
||||
tp == curtab || tp->tp_firstwin == NULL ? firstwin
|
||||
: tp->tp_firstwin, tp, TRUE) == OK)
|
||||
{
|
||||
/* look up the variable */
|
||||
/* Let gettabvar({nr}, "") return the "t:" dictionary. */
|
||||
@@ -13266,7 +13266,7 @@ f_winrestview(typval_T *argvars, typval_T *rettv UNUSED)
|
||||
|
||||
check_cursor();
|
||||
win_new_height(curwin, curwin->w_height);
|
||||
win_new_width(curwin, W_WIDTH(curwin));
|
||||
win_new_width(curwin, curwin->w_width);
|
||||
changed_window_setting();
|
||||
|
||||
if (curwin->w_topline <= 0)
|
||||
|
||||
+2
-2
@@ -177,7 +177,7 @@ ex_align(exarg_T *eap)
|
||||
if (width <= 0)
|
||||
width = curbuf->b_p_tw;
|
||||
if (width == 0 && curbuf->b_p_wm > 0)
|
||||
width = W_WIDTH(curwin) - curbuf->b_p_wm;
|
||||
width = curwin->w_width - curbuf->b_p_wm;
|
||||
if (width <= 0)
|
||||
width = 80;
|
||||
}
|
||||
@@ -3400,7 +3400,7 @@ do_wqall(exarg_T *eap)
|
||||
|
||||
FOR_ALL_BUFFERS(buf)
|
||||
{
|
||||
if (bufIsChanged(buf))
|
||||
if (bufIsChanged(buf) && !bt_dontwrite(buf))
|
||||
{
|
||||
/*
|
||||
* Check if there is a reason the buffer cannot be written:
|
||||
|
||||
+30
-27
@@ -1714,7 +1714,7 @@ script_do_profile(scriptitem_T *si)
|
||||
}
|
||||
|
||||
/*
|
||||
* save time when starting to invoke another script or function.
|
||||
* Save time when starting to invoke another script or function.
|
||||
*/
|
||||
void
|
||||
script_prof_save(
|
||||
@@ -1805,12 +1805,14 @@ script_dump_profile(FILE *fd)
|
||||
fprintf(fd, "Cannot open file!\n");
|
||||
else
|
||||
{
|
||||
for (i = 0; i < si->sn_prl_ga.ga_len; ++i)
|
||||
/* Keep going till the end of file, so that trailing
|
||||
* continuation lines are listed. */
|
||||
for (i = 0; ; ++i)
|
||||
{
|
||||
if (vim_fgets(IObuff, IOSIZE, sfd))
|
||||
break;
|
||||
pp = &PRL_ITEM(si, i);
|
||||
if (pp->snp_count > 0)
|
||||
if (i < si->sn_prl_ga.ga_len
|
||||
&& (pp = &PRL_ITEM(si, i))->snp_count > 0)
|
||||
{
|
||||
fprintf(fd, "%5d ", pp->snp_count);
|
||||
if (profile_equal(&pp->sn_prl_total, &pp->sn_prl_self))
|
||||
@@ -4307,27 +4309,6 @@ do_source(
|
||||
save_sourcing_lnum = sourcing_lnum;
|
||||
sourcing_lnum = 0;
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
cookie.conv.vc_type = CONV_NONE; /* no conversion */
|
||||
|
||||
/* Read the first line so we can check for a UTF-8 BOM. */
|
||||
firstline = getsourceline(0, (void *)&cookie, 0);
|
||||
if (firstline != NULL && STRLEN(firstline) >= 3 && firstline[0] == 0xef
|
||||
&& firstline[1] == 0xbb && firstline[2] == 0xbf)
|
||||
{
|
||||
/* Found BOM; setup conversion, skip over BOM and recode the line. */
|
||||
convert_setup(&cookie.conv, (char_u *)"utf-8", p_enc);
|
||||
p = string_convert(&cookie.conv, firstline + 3, NULL);
|
||||
if (p == NULL)
|
||||
p = vim_strsave(firstline + 3);
|
||||
if (p != NULL)
|
||||
{
|
||||
vim_free(firstline);
|
||||
firstline = p;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef STARTUPTIME
|
||||
if (time_fd != NULL)
|
||||
time_push(&tv_rel, &tv_start);
|
||||
@@ -4420,6 +4401,27 @@ do_source(
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
cookie.conv.vc_type = CONV_NONE; /* no conversion */
|
||||
|
||||
/* Read the first line so we can check for a UTF-8 BOM. */
|
||||
firstline = getsourceline(0, (void *)&cookie, 0);
|
||||
if (firstline != NULL && STRLEN(firstline) >= 3 && firstline[0] == 0xef
|
||||
&& firstline[1] == 0xbb && firstline[2] == 0xbf)
|
||||
{
|
||||
/* Found BOM; setup conversion, skip over BOM and recode the line. */
|
||||
convert_setup(&cookie.conv, (char_u *)"utf-8", p_enc);
|
||||
p = string_convert(&cookie.conv, firstline + 3, NULL);
|
||||
if (p == NULL)
|
||||
p = vim_strsave(firstline + 3);
|
||||
if (p != NULL)
|
||||
{
|
||||
vim_free(firstline);
|
||||
firstline = p;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Call do_cmdline, which will call getsourceline() to get the lines.
|
||||
*/
|
||||
@@ -4902,7 +4904,8 @@ script_line_start(void)
|
||||
{
|
||||
/* Grow the array before starting the timer, so that the time spent
|
||||
* here isn't counted. */
|
||||
(void)ga_grow(&si->sn_prl_ga, (int)(sourcing_lnum - si->sn_prl_ga.ga_len));
|
||||
(void)ga_grow(&si->sn_prl_ga,
|
||||
(int)(sourcing_lnum - si->sn_prl_ga.ga_len));
|
||||
si->sn_prl_idx = sourcing_lnum - 1;
|
||||
while (si->sn_prl_ga.ga_len <= si->sn_prl_idx
|
||||
&& si->sn_prl_ga.ga_len < si->sn_prl_ga.ga_maxlen)
|
||||
@@ -4937,7 +4940,7 @@ script_line_exec(void)
|
||||
}
|
||||
|
||||
/*
|
||||
* Called when done with a function line.
|
||||
* Called when done with a script line.
|
||||
*/
|
||||
void
|
||||
script_line_end(void)
|
||||
|
||||
+70
-64
@@ -5102,29 +5102,6 @@ expand_filename(
|
||||
{
|
||||
if (n == 2)
|
||||
{
|
||||
#ifdef UNIX
|
||||
/*
|
||||
* Only for Unix we check for more than one file name.
|
||||
* For other systems spaces are considered to be part
|
||||
* of the file name.
|
||||
* Only check here if there is no wildcard, otherwise
|
||||
* ExpandOne() will check for errors. This allows
|
||||
* ":e `ls ve*.c`" on Unix.
|
||||
*/
|
||||
if (!has_wildcards)
|
||||
for (p = eap->arg; *p; ++p)
|
||||
{
|
||||
/* skip escaped characters */
|
||||
if (p[1] && (*p == '\\' || *p == Ctrl_V))
|
||||
++p;
|
||||
else if (VIM_ISWHITE(*p))
|
||||
{
|
||||
*errormsgp = (char_u *)_("E172: Only one file name allowed");
|
||||
return FAIL;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Halve the number of backslashes (this is Vi compatible).
|
||||
* For Unix and OS/2, when wildcards are expanded, this is
|
||||
@@ -7264,10 +7241,14 @@ ex_quit(exarg_T *eap)
|
||||
wp = curwin;
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
|
||||
/* Refuse to quit when locked or when the buffer in the last window is
|
||||
* being closed (can only happen in autocommands). */
|
||||
if (curbuf_locked() || !win_valid(wp)
|
||||
/* Refuse to quit when locked. */
|
||||
if (curbuf_locked())
|
||||
return;
|
||||
apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, wp->w_buffer);
|
||||
/* Bail out when autocommands closed the window.
|
||||
* Refuse to quit when the buffer in the last window is being closed (can
|
||||
* only happen in autocommands). */
|
||||
if (!win_valid(wp)
|
||||
|| (wp->w_buffer->b_nwindows == 1 && wp->w_buffer->b_locked > 0))
|
||||
return;
|
||||
#endif
|
||||
@@ -7281,8 +7262,8 @@ ex_quit(exarg_T *eap)
|
||||
*/
|
||||
if (check_more(FALSE, eap->forceit) == OK && only_one_window())
|
||||
exiting = TRUE;
|
||||
if ((!buf_hide(curbuf)
|
||||
&& check_changed(curbuf, (p_awa ? CCGD_AW : 0)
|
||||
if ((!buf_hide(wp->w_buffer)
|
||||
&& check_changed(wp->w_buffer, (p_awa ? CCGD_AW : 0)
|
||||
| (eap->forceit ? CCGD_FORCEIT : 0)
|
||||
| CCGD_EXCMD))
|
||||
|| check_more(TRUE, eap->forceit) == FAIL
|
||||
@@ -7301,6 +7282,7 @@ ex_quit(exarg_T *eap)
|
||||
*/
|
||||
if (only_one_window() && (ONE_WINDOW || eap->addr_count == 0))
|
||||
getout(0);
|
||||
not_exiting();
|
||||
#ifdef FEAT_GUI
|
||||
need_mouse_correct = TRUE;
|
||||
#endif
|
||||
@@ -7839,6 +7821,7 @@ ex_exit(exarg_T *eap)
|
||||
{
|
||||
if (only_one_window()) /* quit last window, exit Vim */
|
||||
getout(0);
|
||||
not_exiting();
|
||||
# ifdef FEAT_GUI
|
||||
need_mouse_correct = TRUE;
|
||||
# endif
|
||||
@@ -8504,7 +8487,7 @@ ex_resize(exarg_T *eap)
|
||||
if (cmdmod.split & WSP_VERT)
|
||||
{
|
||||
if (*eap->arg == '-' || *eap->arg == '+')
|
||||
n += W_WIDTH(curwin);
|
||||
n += curwin->w_width;
|
||||
else if (n == 0 && eap->arg[0] == NUL) /* default is very wide */
|
||||
n = 9999;
|
||||
win_setwidth_win((int)n, wp);
|
||||
@@ -9130,7 +9113,7 @@ ex_sleep(exarg_T *eap)
|
||||
{
|
||||
n = W_WINROW(curwin) + curwin->w_wrow - msg_scrolled;
|
||||
if (n >= 0)
|
||||
windgoto((int)n, W_WINCOL(curwin) + curwin->w_wcol);
|
||||
windgoto((int)n, curwin->w_wincol + curwin->w_wcol);
|
||||
}
|
||||
|
||||
len = eap->line2;
|
||||
@@ -10133,20 +10116,62 @@ update_topline_cursor(void)
|
||||
update_curswant();
|
||||
}
|
||||
|
||||
/*
|
||||
* Save the current State and go to Normal mode.
|
||||
* Return TRUE if the typeahead could be saved.
|
||||
*/
|
||||
int
|
||||
save_current_state(save_state_T *sst)
|
||||
{
|
||||
sst->save_msg_scroll = msg_scroll;
|
||||
sst->save_restart_edit = restart_edit;
|
||||
sst->save_msg_didout = msg_didout;
|
||||
sst->save_State = State;
|
||||
sst->save_insertmode = p_im;
|
||||
sst->save_finish_op = finish_op;
|
||||
sst->save_opcount = opcount;
|
||||
|
||||
msg_scroll = FALSE; /* no msg scrolling in Normal mode */
|
||||
restart_edit = 0; /* don't go to Insert mode */
|
||||
p_im = FALSE; /* don't use 'insertmode' */
|
||||
|
||||
/*
|
||||
* Save the current typeahead. This is required to allow using ":normal"
|
||||
* from an event handler and makes sure we don't hang when the argument
|
||||
* ends with half a command.
|
||||
*/
|
||||
save_typeahead(&sst->tabuf);
|
||||
return sst->tabuf.typebuf_valid;
|
||||
}
|
||||
|
||||
void
|
||||
restore_current_state(save_state_T *sst)
|
||||
{
|
||||
/* Restore the previous typeahead. */
|
||||
restore_typeahead(&sst->tabuf);
|
||||
|
||||
msg_scroll = sst->save_msg_scroll;
|
||||
restart_edit = sst->save_restart_edit;
|
||||
p_im = sst->save_insertmode;
|
||||
finish_op = sst->save_finish_op;
|
||||
opcount = sst->save_opcount;
|
||||
msg_didout |= sst->save_msg_didout; /* don't reset msg_didout now */
|
||||
|
||||
/* Restore the state (needed when called from a function executed for
|
||||
* 'indentexpr'). Update the mouse and cursor, they may have changed. */
|
||||
State = sst->save_State;
|
||||
#ifdef CURSOR_SHAPE
|
||||
ui_cursor_shape(); /* may show different cursor shape */
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* ":normal[!] {commands}": Execute normal mode commands.
|
||||
*/
|
||||
void
|
||||
ex_normal(exarg_T *eap)
|
||||
{
|
||||
int save_msg_scroll = msg_scroll;
|
||||
int save_restart_edit = restart_edit;
|
||||
int save_msg_didout = msg_didout;
|
||||
int save_State = State;
|
||||
tasave_T tabuf;
|
||||
int save_insertmode = p_im;
|
||||
int save_finish_op = finish_op;
|
||||
int save_opcount = opcount;
|
||||
save_state_T save_state;
|
||||
#ifdef FEAT_MBYTE
|
||||
char_u *arg = NULL;
|
||||
int l;
|
||||
@@ -10163,11 +10188,6 @@ ex_normal(exarg_T *eap)
|
||||
EMSG(_("E192: Recursive use of :normal too deep"));
|
||||
return;
|
||||
}
|
||||
++ex_normal_busy;
|
||||
|
||||
msg_scroll = FALSE; /* no msg scrolling in Normal mode */
|
||||
restart_edit = 0; /* don't go to Insert mode */
|
||||
p_im = FALSE; /* don't use 'insertmode' */
|
||||
|
||||
#ifdef FEAT_MBYTE
|
||||
/*
|
||||
@@ -10233,13 +10253,8 @@ ex_normal(exarg_T *eap)
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Save the current typeahead. This is required to allow using ":normal"
|
||||
* from an event handler and makes sure we don't hang when the argument
|
||||
* ends with half a command.
|
||||
*/
|
||||
save_typeahead(&tabuf);
|
||||
if (tabuf.typebuf_valid)
|
||||
++ex_normal_busy;
|
||||
if (save_current_state(&save_state))
|
||||
{
|
||||
/*
|
||||
* Repeat the :normal command for each line in the range. When no
|
||||
@@ -10267,20 +10282,8 @@ ex_normal(exarg_T *eap)
|
||||
/* Might not return to the main loop when in an event handler. */
|
||||
update_topline_cursor();
|
||||
|
||||
/* Restore the previous typeahead. */
|
||||
restore_typeahead(&tabuf);
|
||||
|
||||
restore_current_state(&save_state);
|
||||
--ex_normal_busy;
|
||||
msg_scroll = save_msg_scroll;
|
||||
restart_edit = save_restart_edit;
|
||||
p_im = save_insertmode;
|
||||
finish_op = save_finish_op;
|
||||
opcount = save_opcount;
|
||||
msg_didout |= save_msg_didout; /* don't reset msg_didout now */
|
||||
|
||||
/* Restore the state (needed when called from a function executed for
|
||||
* 'indentexpr'). Update the mouse and cursor, they may have changed. */
|
||||
State = save_State;
|
||||
#ifdef FEAT_MOUSE
|
||||
setmouse();
|
||||
#endif
|
||||
@@ -10301,6 +10304,9 @@ ex_startinsert(exarg_T *eap)
|
||||
{
|
||||
if (eap->forceit)
|
||||
{
|
||||
/* cursor line can be zero on startup */
|
||||
if (!curwin->w_cursor.lnum)
|
||||
curwin->w_cursor.lnum = 1;
|
||||
coladvance((colnr_T)MAXCOL);
|
||||
curwin->w_curswant = MAXCOL;
|
||||
curwin->w_set_curswant = FALSE;
|
||||
|
||||
+30
-8
@@ -145,6 +145,19 @@ sort_func_compare(const void *s1, const void *s2);
|
||||
static void set_search_match(pos_T *t);
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
static void
|
||||
trigger_cmd_autocmd(int typechar, int evt)
|
||||
{
|
||||
char_u typestr[2];
|
||||
|
||||
typestr[0] = typechar;
|
||||
typestr[1] = NUL;
|
||||
apply_autocmds(evt, typestr, typestr, FALSE, curbuf);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* getcmdline() - accept a command line starting with firstc.
|
||||
*
|
||||
@@ -222,6 +235,9 @@ getcmdline(
|
||||
* custom status line may invoke ":normal". */
|
||||
struct cmdline_info save_ccline;
|
||||
#endif
|
||||
#ifdef FEAT_AUTOCMD
|
||||
int cmdline_type;
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
if (firstc == -1)
|
||||
@@ -349,6 +365,12 @@ getcmdline(
|
||||
* terminal mode set to cooked. Need to set raw mode here then. */
|
||||
settmode(TMODE_RAW);
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
/* Trigger CmdlineEnter autocommands. */
|
||||
cmdline_type = firstc == NUL ? '-' : firstc;
|
||||
trigger_cmd_autocmd(cmdline_type, EVENT_CMDLINEENTER);
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_CMDHIST
|
||||
init_history();
|
||||
hiscnt = hislen; /* set hiscnt to impossible history value */
|
||||
@@ -2093,6 +2115,11 @@ returncmd:
|
||||
if (some_key_typed)
|
||||
need_wait_return = FALSE;
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
/* Trigger CmdlineLeave autocommands. */
|
||||
trigger_cmd_autocmd(cmdline_type, EVENT_CMDLINELEAVE);
|
||||
#endif
|
||||
|
||||
State = save_State;
|
||||
#ifdef USE_IM_CONTROL
|
||||
if (b_im_ptr != NULL && *b_im_ptr != B_IMODE_LMAP)
|
||||
@@ -3449,7 +3476,7 @@ compute_cmdrow(void)
|
||||
cmdline_row = Rows - 1;
|
||||
else
|
||||
cmdline_row = W_WINROW(lastwin) + lastwin->w_height
|
||||
+ W_STATUS_HEIGHT(lastwin);
|
||||
+ lastwin->w_status_height;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -6848,9 +6875,6 @@ open_cmdwin(void)
|
||||
linenr_T lnum;
|
||||
int histtype;
|
||||
garray_T winsizes;
|
||||
#ifdef FEAT_AUTOCMD
|
||||
char_u typestr[2];
|
||||
#endif
|
||||
int save_restart_edit = restart_edit;
|
||||
int save_State = State;
|
||||
int save_exmode = exmode_active;
|
||||
@@ -6979,9 +7003,7 @@ open_cmdwin(void)
|
||||
|
||||
# ifdef FEAT_AUTOCMD
|
||||
/* Trigger CmdwinEnter autocommands. */
|
||||
typestr[0] = cmdwin_type;
|
||||
typestr[1] = NUL;
|
||||
apply_autocmds(EVENT_CMDWINENTER, typestr, typestr, FALSE, curbuf);
|
||||
trigger_cmd_autocmd(cmdwin_type, EVENT_CMDWINENTER);
|
||||
if (restart_edit != 0) /* autocmd with ":startinsert" */
|
||||
stuffcharReadbuff(K_NOP);
|
||||
# endif
|
||||
@@ -7004,7 +7026,7 @@ open_cmdwin(void)
|
||||
# endif
|
||||
|
||||
/* Trigger CmdwinLeave autocommands. */
|
||||
apply_autocmds(EVENT_CMDWINLEAVE, typestr, typestr, FALSE, curbuf);
|
||||
trigger_cmd_autocmd(cmdwin_type, EVENT_CMDWINLEAVE);
|
||||
|
||||
# ifdef FEAT_FOLDING
|
||||
/* Restore KeyTyped in case it is modified by autocommands */
|
||||
|
||||
@@ -7769,6 +7769,8 @@ static struct event_name
|
||||
{"BufWritePost", EVENT_BUFWRITEPOST},
|
||||
{"BufWritePre", EVENT_BUFWRITEPRE},
|
||||
{"BufWriteCmd", EVENT_BUFWRITECMD},
|
||||
{"CmdlineEnter", EVENT_CMDLINEENTER},
|
||||
{"CmdlineLeave", EVENT_CMDLINELEAVE},
|
||||
{"CmdwinEnter", EVENT_CMDWINENTER},
|
||||
{"CmdwinLeave", EVENT_CMDWINLEAVE},
|
||||
{"CmdUndefined", EVENT_CMDUNDEFINED},
|
||||
|
||||
+3
-3
@@ -2666,8 +2666,8 @@ vgetorpeek(int advance)
|
||||
++col;
|
||||
}
|
||||
curwin->w_wrow = curwin->w_cline_row
|
||||
+ curwin->w_wcol / W_WIDTH(curwin);
|
||||
curwin->w_wcol %= W_WIDTH(curwin);
|
||||
+ curwin->w_wcol / curwin->w_width;
|
||||
curwin->w_wcol %= curwin->w_width;
|
||||
curwin->w_wcol += curwin_col_off();
|
||||
#ifdef FEAT_MBYTE
|
||||
col = 0; /* no correction needed */
|
||||
@@ -2684,7 +2684,7 @@ vgetorpeek(int advance)
|
||||
else if (curwin->w_p_wrap && curwin->w_wrow)
|
||||
{
|
||||
--curwin->w_wrow;
|
||||
curwin->w_wcol = W_WIDTH(curwin) - 1;
|
||||
curwin->w_wcol = curwin->w_width - 1;
|
||||
#ifdef FEAT_MBYTE
|
||||
col = curwin->w_cursor.col - 1;
|
||||
#endif
|
||||
|
||||
@@ -380,6 +380,9 @@ EXTERN int cterm_normal_bg_color INIT(= 0);
|
||||
EXTERN guicolor_T cterm_normal_fg_gui_color INIT(= INVALCOLOR);
|
||||
EXTERN guicolor_T cterm_normal_bg_gui_color INIT(= INVALCOLOR);
|
||||
#endif
|
||||
#ifdef FEAT_TERMRESPONSE
|
||||
EXTERN int is_mac_terminal INIT(= FALSE); /* recognized Terminal.app */
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
EXTERN int autocmd_busy INIT(= FALSE); /* Is apply_autocmds() busy? */
|
||||
|
||||
@@ -4613,14 +4613,14 @@ gui_update_horiz_scrollbar(int force)
|
||||
return;
|
||||
}
|
||||
|
||||
size = W_WIDTH(curwin);
|
||||
size = curwin->w_width;
|
||||
if (curwin->w_p_wrap)
|
||||
{
|
||||
value = 0;
|
||||
#ifdef SCROLL_PAST_END
|
||||
max = 0;
|
||||
#else
|
||||
max = W_WIDTH(curwin) - 1;
|
||||
max = curwin->w_width - 1;
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -4640,7 +4640,7 @@ gui_update_horiz_scrollbar(int force)
|
||||
#endif
|
||||
|
||||
#ifndef SCROLL_PAST_END
|
||||
max += W_WIDTH(curwin) - 1;
|
||||
max += curwin->w_width - 1;
|
||||
#endif
|
||||
/* The line number isn't scrolled, thus there is less space when
|
||||
* 'number' or 'relativenumber' is set (also for 'foldcolumn'). */
|
||||
@@ -4968,10 +4968,10 @@ xy2win(int x UNUSED, int y UNUSED)
|
||||
}
|
||||
else if (row > wp->w_height) /* below status line */
|
||||
update_mouseshape(SHAPE_IDX_CLINE);
|
||||
else if (!(State & CMDLINE) && W_VSEP_WIDTH(wp) > 0 && col == wp->w_width
|
||||
else if (!(State & CMDLINE) && wp->w_vsep_width > 0 && col == wp->w_width
|
||||
&& (row != wp->w_height || !stl_connected(wp)) && msg_scrolled == 0)
|
||||
update_mouseshape(SHAPE_IDX_VSEP);
|
||||
else if (!(State & CMDLINE) && W_STATUS_HEIGHT(wp) > 0
|
||||
else if (!(State & CMDLINE) && wp->w_status_height > 0
|
||||
&& row == wp->w_height && msg_scrolled == 0)
|
||||
update_mouseshape(SHAPE_IDX_STATUS);
|
||||
else
|
||||
|
||||
+1
-1
@@ -338,7 +338,7 @@ get_beval_info(
|
||||
row = Y_2_ROW(beval->y);
|
||||
col = X_2_COL(beval->x);
|
||||
wp = mouse_find_win(&row, &col);
|
||||
if (wp != NULL && row < wp->w_height && col < W_WIDTH(wp))
|
||||
if (wp != NULL && row < wp->w_height && col < wp->w_width)
|
||||
{
|
||||
/* Found a window and the cursor is in the text. Now find the line
|
||||
* number. */
|
||||
|
||||
+1
-1
@@ -1954,7 +1954,7 @@ popup_menu_position_func(GtkMenu *menu UNUSED,
|
||||
# endif
|
||||
{
|
||||
/* Find the cursor position in the current window */
|
||||
*x += FILL_X(W_WINCOL(curwin) + curwin->w_wcol + 1) + 1;
|
||||
*x += FILL_X(curwin->w_wincol + curwin->w_wcol + 1) + 1;
|
||||
*y += FILL_Y(W_WINROW(curwin) + curwin->w_wrow + 1) + 1;
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -1612,7 +1612,7 @@ gui_mac_scroll_action(ControlHandle theControl, short partCode)
|
||||
else /* Bottom scrollbar */
|
||||
{
|
||||
sb_info = sb;
|
||||
page = W_WIDTH(curwin) - 5;
|
||||
page = curwin->w_width - 5;
|
||||
}
|
||||
|
||||
switch (partCode)
|
||||
|
||||
+16
-15
@@ -4384,7 +4384,7 @@ add_dialog_element(
|
||||
WORD clss,
|
||||
const char *caption);
|
||||
static LPWORD lpwAlign(LPWORD);
|
||||
static int nCopyAnsiToWideChar(LPWORD, LPSTR);
|
||||
static int nCopyAnsiToWideChar(LPWORD, LPSTR, BOOL);
|
||||
#if defined(FEAT_MENU) && defined(FEAT_TEAROFF)
|
||||
static void gui_mch_tearoff(char_u *title, vimmenu_T *menu, int initX, int initY);
|
||||
#endif
|
||||
@@ -6608,7 +6608,7 @@ gui_make_popup(char_u *path_name, int mouse_pos)
|
||||
}
|
||||
else if (curwin != NULL)
|
||||
{
|
||||
p.x += TEXT_X(W_WINCOL(curwin) + curwin->w_wcol + 1);
|
||||
p.x += TEXT_X(curwin->w_wincol + curwin->w_wcol + 1);
|
||||
p.y += TEXT_Y(W_WINROW(curwin) + curwin->w_wrow + 1);
|
||||
}
|
||||
msg_scroll = FALSE;
|
||||
@@ -7284,9 +7284,8 @@ gui_mch_dialog(
|
||||
add_word(0); // Class
|
||||
|
||||
/* copy the title of the dialog */
|
||||
nchar = nCopyAnsiToWideChar(p, (title ?
|
||||
(LPSTR)title :
|
||||
(LPSTR)("Vim "VIM_VERSION_MEDIUM)));
|
||||
nchar = nCopyAnsiToWideChar(p, (title ? (LPSTR)title
|
||||
: (LPSTR)("Vim "VIM_VERSION_MEDIUM)), TRUE);
|
||||
p += nchar;
|
||||
|
||||
if (s_usenewlook)
|
||||
@@ -7298,13 +7297,13 @@ gui_mch_dialog(
|
||||
/* point size */
|
||||
*p++ = -MulDiv(lfSysmenu.lfHeight, 72,
|
||||
GetDeviceCaps(hdc, LOGPIXELSY));
|
||||
nchar = nCopyAnsiToWideChar(p, TEXT(lfSysmenu.lfFaceName));
|
||||
nchar = nCopyAnsiToWideChar(p, lfSysmenu.lfFaceName, FALSE);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
*p++ = DLG_FONT_POINT_SIZE; // point size
|
||||
nchar = nCopyAnsiToWideChar(p, TEXT(DLG_FONT_NAME));
|
||||
nchar = nCopyAnsiToWideChar(p, DLG_FONT_NAME, FALSE);
|
||||
}
|
||||
p += nchar;
|
||||
}
|
||||
@@ -7485,7 +7484,7 @@ add_dialog_element(
|
||||
*p++ = (WORD)0xffff;
|
||||
*p++ = clss; //2 more here
|
||||
|
||||
nchar = nCopyAnsiToWideChar(p, (LPSTR)caption); //strlen(caption)+1
|
||||
nchar = nCopyAnsiToWideChar(p, (LPSTR)caption, TRUE); //strlen(caption)+1
|
||||
p += nchar;
|
||||
|
||||
*p++ = 0; // advance pointer over nExtraStuff WORD - 2 more
|
||||
@@ -7517,11 +7516,13 @@ lpwAlign(
|
||||
* parameter as wide character (16-bits / char) string, and returns integer
|
||||
* number of wide characters (words) in string (including the trailing wide
|
||||
* char NULL). Partly taken from the Win32SDK samples.
|
||||
*/
|
||||
* If "use_enc" is TRUE, 'encoding' is used for "lpAnsiIn". If FALSE, current
|
||||
* ACP is used for "lpAnsiIn". */
|
||||
static int
|
||||
nCopyAnsiToWideChar(
|
||||
LPWORD lpWCStr,
|
||||
LPSTR lpAnsiIn)
|
||||
LPSTR lpAnsiIn,
|
||||
BOOL use_enc)
|
||||
{
|
||||
int nChar = 0;
|
||||
#ifdef FEAT_MBYTE
|
||||
@@ -7529,7 +7530,7 @@ nCopyAnsiToWideChar(
|
||||
int i;
|
||||
WCHAR *wn;
|
||||
|
||||
if (enc_codepage == 0 && (int)GetACP() != enc_codepage)
|
||||
if (use_enc && enc_codepage >= 0 && (int)GetACP() != enc_codepage)
|
||||
{
|
||||
/* Not a codepage, use our own conversion function. */
|
||||
wn = enc_to_utf16((char_u *)lpAnsiIn, NULL);
|
||||
@@ -7852,8 +7853,8 @@ gui_mch_tearoff(
|
||||
|
||||
/* copy the title of the dialog */
|
||||
nchar = nCopyAnsiToWideChar(p, ((*title)
|
||||
? (LPSTR)title
|
||||
: (LPSTR)("Vim "VIM_VERSION_MEDIUM)));
|
||||
? (LPSTR)title
|
||||
: (LPSTR)("Vim "VIM_VERSION_MEDIUM)), TRUE);
|
||||
p += nchar;
|
||||
|
||||
if (s_usenewlook)
|
||||
@@ -7865,13 +7866,13 @@ gui_mch_tearoff(
|
||||
/* point size */
|
||||
*p++ = -MulDiv(lfSysmenu.lfHeight, 72,
|
||||
GetDeviceCaps(hdc, LOGPIXELSY));
|
||||
nchar = nCopyAnsiToWideChar(p, TEXT(lfSysmenu.lfFaceName));
|
||||
nchar = nCopyAnsiToWideChar(p, lfSysmenu.lfFaceName, FALSE);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
*p++ = DLG_FONT_POINT_SIZE; // point size
|
||||
nchar = nCopyAnsiToWideChar (p, TEXT(DLG_FONT_NAME));
|
||||
nchar = nCopyAnsiToWideChar(p, DLG_FONT_NAME, FALSE);
|
||||
}
|
||||
p += nchar;
|
||||
}
|
||||
|
||||
+1
-1
@@ -1179,7 +1179,7 @@ luaV_window_index(lua_State *L)
|
||||
else if (strncmp(s, "col", 3) == 0)
|
||||
lua_pushinteger(L, w->w_cursor.col + 1);
|
||||
else if (strncmp(s, "width", 5) == 0)
|
||||
lua_pushinteger(L, W_WIDTH(w));
|
||||
lua_pushinteger(L, w->w_width);
|
||||
else if (strncmp(s, "height", 6) == 0)
|
||||
lua_pushinteger(L, w->w_height);
|
||||
/* methods */
|
||||
|
||||
+2
-2
@@ -757,7 +757,7 @@ mzscheme_runtime_link_init(char *sch_dll, char *gc_dll, int verbose)
|
||||
mzscheme_enabled(int verbose)
|
||||
{
|
||||
return mzscheme_runtime_link_init(
|
||||
DYNAMIC_MZSCH_DLL, DYNAMIC_MZGC_DLL, verbose) == OK;
|
||||
(char *)p_mzschemedll, (char *)p_mzschemegcdll, verbose) == OK;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -2063,7 +2063,7 @@ get_window_width(void *data, int argc, Scheme_Object **argv)
|
||||
Vim_Prim *prim = (Vim_Prim *)data;
|
||||
vim_mz_window *win = get_window_arg(prim->name, 0, argc, argv);
|
||||
|
||||
return scheme_make_integer(W_WIDTH(win->win));
|
||||
return scheme_make_integer(win->win->w_width);
|
||||
}
|
||||
|
||||
/* (set-win-width {width} [window]) */
|
||||
|
||||
@@ -1472,7 +1472,6 @@ Msg(text, hl=NULL)
|
||||
|
||||
PREINIT:
|
||||
int attr;
|
||||
int id;
|
||||
|
||||
PPCODE:
|
||||
if (text != NULL)
|
||||
|
||||
+2
-2
@@ -3875,9 +3875,9 @@ WindowAttr(WindowObject *self, char *name)
|
||||
else if (strcmp(name, "row") == 0)
|
||||
return PyLong_FromLong((long)(self->win->w_winrow));
|
||||
else if (strcmp(name, "width") == 0)
|
||||
return PyLong_FromLong((long)(W_WIDTH(self->win)));
|
||||
return PyLong_FromLong((long)(self->win->w_width));
|
||||
else if (strcmp(name, "col") == 0)
|
||||
return PyLong_FromLong((long)(W_WINCOL(self->win)));
|
||||
return PyLong_FromLong((long)(self->win->w_wincol));
|
||||
else if (strcmp(name, "vars") == 0)
|
||||
return NEW_DICTIONARY(self->win->w_vars);
|
||||
else if (strcmp(name, "options") == 0)
|
||||
|
||||
+2
-2
@@ -891,7 +891,7 @@ static int ensure_ruby_initialized(void)
|
||||
#ifdef RUBY19_OR_LATER
|
||||
{
|
||||
int dummy_argc = 2;
|
||||
char *dummy_argv[] = {"vim-ruby", "-e0"};
|
||||
char *dummy_argv[] = {"vim-ruby", "-e_=0"};
|
||||
ruby_options(dummy_argc, dummy_argv);
|
||||
}
|
||||
ruby_script("vim-ruby");
|
||||
@@ -1479,7 +1479,7 @@ static VALUE window_set_height(VALUE self, VALUE height)
|
||||
|
||||
static VALUE window_width(VALUE self UNUSED)
|
||||
{
|
||||
return INT2NUM(W_WIDTH(get_win(self)));
|
||||
return INT2NUM(get_win(self)->w_width);
|
||||
}
|
||||
|
||||
static VALUE window_set_width(VALUE self UNUSED, VALUE width)
|
||||
|
||||
@@ -25,12 +25,13 @@ static const VTermColor ansi_colors[] = {
|
||||
};
|
||||
|
||||
static int ramp6[] = {
|
||||
0x00, 0x33, 0x66, 0x99, 0xCC, 0xFF,
|
||||
0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF,
|
||||
};
|
||||
|
||||
/* Use 0x81 instead of 0x80 to be able to distinguish from ansi black */
|
||||
static int ramp24[] = {
|
||||
0x00, 0x0B, 0x16, 0x21, 0x2C, 0x37, 0x42, 0x4D, 0x58, 0x63, 0x6E, 0x79,
|
||||
0x85, 0x90, 0x9B, 0xA6, 0xB1, 0xBC, 0xC7, 0xD2, 0xDD, 0xE8, 0xF3, 0xFF,
|
||||
0x08, 0x12, 0x1C, 0x26, 0x30, 0x3A, 0x44, 0x4E, 0x58, 0x62, 0x6C, 0x76,
|
||||
0x81, 0x8A, 0x94, 0x9E, 0xA8, 0xB2, 0xBC, 0xC6, 0xD0, 0xDA, 0xE4, 0xEE,
|
||||
};
|
||||
|
||||
static int lookup_colour_ansi(const VTermState *state, long index, VTermColor *col)
|
||||
|
||||
@@ -130,7 +130,8 @@ static int outbuffer_is_full(VTerm *vt)
|
||||
return vt->outbuffer_cur >= vt->outbuffer_len - 1;
|
||||
}
|
||||
|
||||
#if _XOPEN_SOURCE >= 500 || _ISOC99_SOURCE || _BSD_SOURCE
|
||||
#if (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 500) \
|
||||
|| defined(_ISOC99_SOURCE) || defined(_BSD_SOURCE)
|
||||
# undef VSNPRINTF
|
||||
# define VSNPRINTF vsnprintf
|
||||
#else
|
||||
|
||||
+15
@@ -2648,6 +2648,21 @@ check_tty(mparm_T *parmp)
|
||||
#if defined(WIN3264) && !defined(FEAT_GUI_W32)
|
||||
if (is_cygpty_used())
|
||||
{
|
||||
# if defined(FEAT_MBYTE) && defined(HAVE_BIND_TEXTDOMAIN_CODESET) \
|
||||
&& defined(FEAT_GETTEXT)
|
||||
char *s, *tofree = NULL;
|
||||
|
||||
/* Set the encoding of the error message based on $LC_ALL or
|
||||
* other environment variables instead of 'encoding'.
|
||||
* Note that the message is shown on a Cygwin terminal (e.g.
|
||||
* mintty) which encoding is based on $LC_ALL or etc., not the
|
||||
* current codepage used by normal Win32 console programs. */
|
||||
tofree = s = (char *)enc_locale_env(NULL);
|
||||
if (s == NULL)
|
||||
s = "utf-8"; /* Use "utf-8" by default. */
|
||||
(void)bind_textdomain_codeset(VIMPACKAGE, s);
|
||||
vim_free(tofree);
|
||||
# endif
|
||||
mch_errmsg(_("Vim: Error: This version of Vim does not run in a Cygwin terminal\n"));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
+53
-31
@@ -1402,6 +1402,8 @@ static struct interval ambiguous[] =
|
||||
int
|
||||
utf_uint2cells(UINT32_T c)
|
||||
{
|
||||
if (c >= 0x100 && utf_iscomposing((int)c))
|
||||
return 0;
|
||||
return utf_char2cells((int)c);
|
||||
}
|
||||
#endif
|
||||
@@ -4385,45 +4387,31 @@ enc_alias_search(char_u *name)
|
||||
|
||||
#if defined(FEAT_MBYTE) || defined(PROTO)
|
||||
|
||||
#ifdef HAVE_LANGINFO_H
|
||||
# include <langinfo.h>
|
||||
#endif
|
||||
# ifdef HAVE_LANGINFO_H
|
||||
# include <langinfo.h>
|
||||
# endif
|
||||
|
||||
# ifndef FEAT_GUI_W32
|
||||
/*
|
||||
* Get the canonicalized encoding of the current locale.
|
||||
* Get the canonicalized encoding from the specified locale string "locale"
|
||||
* or from the environment variables LC_ALL, LC_CTYPE and LANG.
|
||||
* Returns an allocated string when successful, NULL when not.
|
||||
*/
|
||||
char_u *
|
||||
enc_locale(void)
|
||||
enc_locale_env(char *locale)
|
||||
{
|
||||
#ifndef WIN3264
|
||||
char *s;
|
||||
char *s = locale;
|
||||
char *p;
|
||||
int i;
|
||||
#endif
|
||||
char buf[50];
|
||||
#ifdef WIN3264
|
||||
long acp = GetACP();
|
||||
|
||||
if (acp == 1200)
|
||||
STRCPY(buf, "ucs-2le");
|
||||
else if (acp == 1252) /* cp1252 is used as latin1 */
|
||||
STRCPY(buf, "latin1");
|
||||
else
|
||||
sprintf(buf, "cp%ld", acp);
|
||||
#else
|
||||
# ifdef HAVE_NL_LANGINFO_CODESET
|
||||
if ((s = nl_langinfo(CODESET)) == NULL || *s == NUL)
|
||||
# endif
|
||||
# if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
|
||||
if ((s = setlocale(LC_CTYPE, NULL)) == NULL || *s == NUL)
|
||||
# endif
|
||||
if ((s = getenv("LC_ALL")) == NULL || *s == NUL)
|
||||
if ((s = getenv("LC_CTYPE")) == NULL || *s == NUL)
|
||||
s = getenv("LANG");
|
||||
|
||||
if (s == NULL || *s == NUL)
|
||||
return FAIL;
|
||||
if ((s = getenv("LC_ALL")) == NULL || *s == NUL)
|
||||
if ((s = getenv("LC_CTYPE")) == NULL || *s == NUL)
|
||||
s = getenv("LANG");
|
||||
|
||||
if (s == NULL || *s == NUL)
|
||||
return NULL;
|
||||
|
||||
/* The most generic locale format is:
|
||||
* language[_territory][.codeset][@modifier][+special][,[sponsor][_revision]]
|
||||
@@ -4458,12 +4446,46 @@ enc_locale(void)
|
||||
break;
|
||||
}
|
||||
buf[i] = NUL;
|
||||
#endif
|
||||
|
||||
return enc_canonize((char_u *)buf);
|
||||
}
|
||||
# endif
|
||||
|
||||
#if defined(WIN3264) || defined(PROTO) || defined(FEAT_CYGWIN_WIN32_CLIPBOARD)
|
||||
/*
|
||||
* Get the canonicalized encoding of the current locale.
|
||||
* Returns an allocated string when successful, NULL when not.
|
||||
*/
|
||||
char_u *
|
||||
enc_locale(void)
|
||||
{
|
||||
# ifdef WIN3264
|
||||
char buf[50];
|
||||
long acp = GetACP();
|
||||
|
||||
if (acp == 1200)
|
||||
STRCPY(buf, "ucs-2le");
|
||||
else if (acp == 1252) /* cp1252 is used as latin1 */
|
||||
STRCPY(buf, "latin1");
|
||||
else
|
||||
sprintf(buf, "cp%ld", acp);
|
||||
|
||||
return enc_canonize((char_u *)buf);
|
||||
# else
|
||||
char *s;
|
||||
|
||||
# ifdef HAVE_NL_LANGINFO_CODESET
|
||||
if ((s = nl_langinfo(CODESET)) == NULL || *s == NUL)
|
||||
# endif
|
||||
# if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
|
||||
if ((s = setlocale(LC_CTYPE, NULL)) == NULL || *s == NUL)
|
||||
# endif
|
||||
s = NULL;
|
||||
|
||||
return enc_locale_env(s);
|
||||
# endif
|
||||
}
|
||||
|
||||
# if defined(WIN3264) || defined(PROTO) || defined(FEAT_CYGWIN_WIN32_CLIPBOARD)
|
||||
/*
|
||||
* Convert an encoding name to an MS-Windows codepage.
|
||||
* Returns zero if no codepage can be figured out.
|
||||
@@ -4490,7 +4512,7 @@ encname2codepage(char_u *name)
|
||||
return cp;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
|
||||
# if defined(USE_ICONV) || defined(PROTO)
|
||||
|
||||
|
||||
+27
-5
@@ -88,7 +88,7 @@ static const char *toolbar_names[] =
|
||||
static int
|
||||
menu_is_winbar(char_u *name)
|
||||
{
|
||||
return (STRNCMP(name, "WinBar", 5) == 0);
|
||||
return (STRNCMP(name, "WinBar", 6) == 0);
|
||||
}
|
||||
|
||||
int
|
||||
@@ -1808,6 +1808,7 @@ menu_is_menubar(char_u *name)
|
||||
{
|
||||
return (!menu_is_popup(name)
|
||||
&& !menu_is_toolbar(name)
|
||||
&& !menu_is_winbar(name)
|
||||
&& *name != MNU_HIDDEN_CHAR);
|
||||
}
|
||||
|
||||
@@ -2248,7 +2249,7 @@ gui_destroy_tearoffs_recurse(vimmenu_T *menu)
|
||||
execute_menu(exarg_T *eap, vimmenu_T *menu)
|
||||
{
|
||||
char_u *mode;
|
||||
int idx;
|
||||
int idx = -1;
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
char_u *old_arg;
|
||||
#endif
|
||||
@@ -2315,7 +2316,9 @@ execute_menu(exarg_T *eap, vimmenu_T *menu)
|
||||
if (*p_sel == 'e' && gchar_cursor() != NUL)
|
||||
++curwin->w_cursor.col;
|
||||
}
|
||||
else
|
||||
|
||||
/* For the WinBar menu always use the Normal mode menu. */
|
||||
if (idx == -1 || eap == NULL)
|
||||
{
|
||||
mode = (char_u *)"Normal";
|
||||
idx = MENU_INDEX_NORMAL;
|
||||
@@ -2333,8 +2336,16 @@ execute_menu(exarg_T *eap, vimmenu_T *menu)
|
||||
|| current_SID != 0
|
||||
#endif
|
||||
)
|
||||
exec_normal_cmd(menu->strings[idx], menu->noremap[idx],
|
||||
{
|
||||
save_state_T save_state;
|
||||
|
||||
++ex_normal_busy;
|
||||
if (save_current_state(&save_state))
|
||||
exec_normal_cmd(menu->strings[idx], menu->noremap[idx],
|
||||
menu->silent[idx]);
|
||||
restore_current_state(&save_state);
|
||||
--ex_normal_busy;
|
||||
}
|
||||
else
|
||||
ins_typebuf(menu->strings[idx], menu->noremap[idx], 0,
|
||||
TRUE, menu->silent[idx]);
|
||||
@@ -2433,12 +2444,18 @@ winbar_click(win_T *wp, int col)
|
||||
if (col >= item->wb_startcol && col <= item->wb_endcol)
|
||||
{
|
||||
win_T *save_curwin = NULL;
|
||||
pos_T save_visual = VIsual;
|
||||
int save_visual_active = VIsual_active;
|
||||
int save_visual_select = VIsual_select;
|
||||
int save_visual_reselect = VIsual_reselect;
|
||||
int save_visual_mode = VIsual_mode;
|
||||
|
||||
if (wp != curwin)
|
||||
{
|
||||
/* Clicking in the window toolbar of a not-current window.
|
||||
* Make that window the current one and go to Normal mode. */
|
||||
* Make that window the current one and save Visual mode. */
|
||||
save_curwin = curwin;
|
||||
VIsual_active = FALSE;
|
||||
curwin = wp;
|
||||
curbuf = curwin->w_buffer;
|
||||
check_cursor();
|
||||
@@ -2450,6 +2467,11 @@ winbar_click(win_T *wp, int col)
|
||||
{
|
||||
curwin = save_curwin;
|
||||
curbuf = curwin->w_buffer;
|
||||
VIsual = save_visual;
|
||||
VIsual_active = save_visual_active;
|
||||
VIsual_select = save_visual_select;
|
||||
VIsual_reselect = save_visual_reselect;
|
||||
VIsual_mode = save_visual_mode;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -495,7 +495,7 @@ get_breakindent_win(
|
||||
static varnumber_T prev_tick = 0; /* changedtick of cached value */
|
||||
int bri = 0;
|
||||
/* window width minus window margin space, i.e. what rests for text */
|
||||
const int eff_wwidth = W_WIDTH(wp)
|
||||
const int eff_wwidth = wp->w_width
|
||||
- ((wp->w_p_nu || wp->w_p_rnu)
|
||||
&& (vim_strchr(p_cpo, CPO_NUMCOL) == NULL)
|
||||
? number_width(wp) + 1 : 0);
|
||||
@@ -2026,7 +2026,7 @@ plines_win_nofold(win_T *wp, linenr_T lnum)
|
||||
/*
|
||||
* Add column offset for 'number', 'relativenumber' and 'foldcolumn'.
|
||||
*/
|
||||
width = W_WIDTH(wp) - win_col_off(wp);
|
||||
width = wp->w_width - win_col_off(wp);
|
||||
if (width <= 0)
|
||||
return 32000;
|
||||
if (col <= width)
|
||||
@@ -2083,7 +2083,7 @@ plines_win_col(win_T *wp, linenr_T lnum, long column)
|
||||
/*
|
||||
* Add column offset for 'number', 'relativenumber', 'foldcolumn', etc.
|
||||
*/
|
||||
width = W_WIDTH(wp) - win_col_off(wp);
|
||||
width = wp->w_width - win_col_off(wp);
|
||||
if (width <= 0)
|
||||
return 9999;
|
||||
|
||||
|
||||
+3
-3
@@ -165,7 +165,7 @@ coladvance2(
|
||||
else
|
||||
{
|
||||
#ifdef FEAT_VIRTUALEDIT
|
||||
int width = W_WIDTH(curwin) - win_col_off(curwin);
|
||||
int width = curwin->w_width - win_col_off(curwin);
|
||||
|
||||
if (finetune
|
||||
&& curwin->w_p_wrap
|
||||
@@ -310,7 +310,7 @@ coladvance2(
|
||||
int b = (int)wcol - (int)col;
|
||||
|
||||
/* The difference between wcol and col is used to set coladd. */
|
||||
if (b > 0 && b < (MAXCOL - 2 * W_WIDTH(curwin)))
|
||||
if (b > 0 && b < (MAXCOL - 2 * curwin->w_width))
|
||||
pos->coladd = b;
|
||||
|
||||
col += b;
|
||||
@@ -662,7 +662,7 @@ leftcol_changed(void)
|
||||
int retval = FALSE;
|
||||
|
||||
changed_cline_bef_curs();
|
||||
lastcol = curwin->w_leftcol + W_WIDTH(curwin) - curwin_col_off() - 1;
|
||||
lastcol = curwin->w_leftcol + curwin->w_width - curwin_col_off() - 1;
|
||||
validate_virtcol();
|
||||
|
||||
/*
|
||||
|
||||
+11
-11
@@ -884,14 +884,14 @@ validate_cursor_col(void)
|
||||
col = curwin->w_virtcol;
|
||||
off = curwin_col_off();
|
||||
col += off;
|
||||
width = W_WIDTH(curwin) - off + curwin_col_off2();
|
||||
width = curwin->w_width - off + curwin_col_off2();
|
||||
|
||||
/* long line wrapping, adjust curwin->w_wrow */
|
||||
if (curwin->w_p_wrap
|
||||
&& col >= (colnr_T)W_WIDTH(curwin)
|
||||
&& col >= (colnr_T)curwin->w_width
|
||||
&& width > 0)
|
||||
/* use same formula as what is used in curs_columns() */
|
||||
col -= ((col - W_WIDTH(curwin)) / width + 1) * width;
|
||||
col -= ((col - curwin->w_width) / width + 1) * width;
|
||||
if (col > (int)curwin->w_leftcol)
|
||||
col -= curwin->w_leftcol;
|
||||
else
|
||||
@@ -1004,11 +1004,11 @@ curs_columns(
|
||||
*/
|
||||
curwin->w_wrow = curwin->w_cline_row;
|
||||
|
||||
textwidth = W_WIDTH(curwin) - extra;
|
||||
textwidth = curwin->w_width - extra;
|
||||
if (textwidth <= 0)
|
||||
{
|
||||
/* No room for text, put cursor in last char of window. */
|
||||
curwin->w_wcol = W_WIDTH(curwin) - 1;
|
||||
curwin->w_wcol = curwin->w_width - 1;
|
||||
curwin->w_wrow = curwin->w_height - 1;
|
||||
}
|
||||
else if (curwin->w_p_wrap && curwin->w_width != 0)
|
||||
@@ -1016,10 +1016,10 @@ curs_columns(
|
||||
width = textwidth + curwin_col_off2();
|
||||
|
||||
/* long line wrapping, adjust curwin->w_wrow */
|
||||
if (curwin->w_wcol >= W_WIDTH(curwin))
|
||||
if (curwin->w_wcol >= curwin->w_width)
|
||||
{
|
||||
/* this same formula is used in validate_cursor_col() */
|
||||
n = (curwin->w_wcol - W_WIDTH(curwin)) / width + 1;
|
||||
n = (curwin->w_wcol - curwin->w_width) / width + 1;
|
||||
curwin->w_wcol -= n * width;
|
||||
curwin->w_wrow += n;
|
||||
|
||||
@@ -1050,7 +1050,7 @@ curs_columns(
|
||||
* extra
|
||||
*/
|
||||
off_left = (int)startcol - (int)curwin->w_leftcol - p_siso;
|
||||
off_right = (int)endcol - (int)(curwin->w_leftcol + W_WIDTH(curwin)
|
||||
off_right = (int)endcol - (int)(curwin->w_leftcol + curwin->w_width
|
||||
- p_siso) + 1;
|
||||
if (off_left < 0 || off_right > 0)
|
||||
{
|
||||
@@ -1278,7 +1278,7 @@ scrolldown(
|
||||
validate_virtcol();
|
||||
validate_cheight();
|
||||
wrow += curwin->w_cline_height - 1 -
|
||||
curwin->w_virtcol / W_WIDTH(curwin);
|
||||
curwin->w_virtcol / curwin->w_width;
|
||||
}
|
||||
while (wrow >= curwin->w_height && curwin->w_cursor.lnum > 1)
|
||||
{
|
||||
@@ -1483,7 +1483,7 @@ scrolldown_clamp(void)
|
||||
validate_cheight();
|
||||
validate_virtcol();
|
||||
end_row += curwin->w_cline_height - 1 -
|
||||
curwin->w_virtcol / W_WIDTH(curwin);
|
||||
curwin->w_virtcol / curwin->w_width;
|
||||
}
|
||||
if (end_row < curwin->w_height - p_so)
|
||||
{
|
||||
@@ -1541,7 +1541,7 @@ scrollup_clamp(void)
|
||||
if (curwin->w_p_wrap && curwin->w_width != 0)
|
||||
{
|
||||
validate_virtcol();
|
||||
start_row -= curwin->w_virtcol / W_WIDTH(curwin);
|
||||
start_row -= curwin->w_virtcol / curwin->w_width;
|
||||
}
|
||||
if (start_row >= p_so)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
@echo off
|
||||
rem To be used on MS-Windows for Visual C++ 2015 (either Express or Community)
|
||||
rem See INSTALLpc.txt for information.
|
||||
rem
|
||||
rem Usage:
|
||||
rem For x86 builds run this without options:
|
||||
rem msvc2015
|
||||
rem For x64 builds run this with "x86_amd64" option:
|
||||
rem msvc2015 x86_amd64
|
||||
@echo on
|
||||
|
||||
call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" %*
|
||||
|
||||
rem Use Windows SDK 7.1A for targeting Windows XP.
|
||||
if "%ProgramFiles(x86)%"=="" (
|
||||
set "WinSdk71=%ProgramFiles%\Microsoft SDKs\Windows\v7.1A"
|
||||
) else (
|
||||
set "WinSdk71=%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.1A"
|
||||
)
|
||||
if not exist "%WinSdk71%" (
|
||||
echo Windows SDK 7.1A is not found. Targeting Windows Vista and later.
|
||||
goto :eof
|
||||
)
|
||||
|
||||
set INCLUDE=%WinSdk71%\Include;%INCLUDE%
|
||||
if "%Platform%"=="x64" (
|
||||
set "LIB=%WinSdk71%\Lib\x64;%LIB%"
|
||||
set SUBSYSTEM_VER=5.02
|
||||
) else (
|
||||
set "LIB=%WinSdk71%\Lib;%LIB%"
|
||||
set SUBSYSTEM_VER=5.01
|
||||
)
|
||||
set CL=/D_USING_V110_SDK71_
|
||||
+1
-1
@@ -2872,7 +2872,7 @@ netbeans_button_release(int button)
|
||||
|
||||
if (bufno >= 0 && curwin != NULL && curwin->w_buffer == curbuf)
|
||||
{
|
||||
int col = mouse_col - W_WINCOL(curwin)
|
||||
int col = mouse_col - curwin->w_wincol
|
||||
- ((curwin->w_p_nu || curwin->w_p_rnu) ? 9 : 1);
|
||||
long off = pos2off(curbuf, &curwin->w_cursor);
|
||||
|
||||
|
||||
+20
-12
@@ -2796,6 +2796,12 @@ do_mouse(
|
||||
*/
|
||||
jump_flags = jump_to_mouse(jump_flags,
|
||||
oap == NULL ? NULL : &(oap->inclusive), which_button);
|
||||
|
||||
#ifdef FEAT_MENU
|
||||
/* A click in the window toolbar has no side effects. */
|
||||
if (jump_flags & MOUSE_WINBAR)
|
||||
return FALSE;
|
||||
#endif
|
||||
moved = (jump_flags & CURSOR_MOVED);
|
||||
in_status_line = (jump_flags & IN_STATUS_LINE);
|
||||
in_sep_line = (jump_flags & IN_SEP_LINE);
|
||||
@@ -4453,8 +4459,8 @@ nv_screengo(oparg_T *oap, int dir, long dist)
|
||||
|
||||
col_off1 = curwin_col_off();
|
||||
col_off2 = col_off1 - curwin_col_off2();
|
||||
width1 = W_WIDTH(curwin) - col_off1;
|
||||
width2 = W_WIDTH(curwin) - col_off2;
|
||||
width1 = curwin->w_width - col_off1;
|
||||
width2 = curwin->w_width - col_off2;
|
||||
if (width2 == 0)
|
||||
width2 = 1; /* avoid divide by zero */
|
||||
|
||||
@@ -4659,7 +4665,7 @@ nv_mousescroll(cmdarg_T *cap)
|
||||
step = scroll_wheel_force;
|
||||
# endif
|
||||
if (mod_mask & (MOD_MASK_SHIFT | MOD_MASK_CTRL))
|
||||
step = W_WIDTH(curwin);
|
||||
step = curwin->w_width;
|
||||
val = curwin->w_leftcol + (cap->arg == MSCR_RIGHT ? -step : +step);
|
||||
if (val < 0)
|
||||
val = 0;
|
||||
@@ -4911,7 +4917,7 @@ dozet:
|
||||
|
||||
/* "zH" - scroll screen right half-page */
|
||||
case 'H':
|
||||
cap->count1 *= W_WIDTH(curwin) / 2;
|
||||
cap->count1 *= curwin->w_width / 2;
|
||||
/* FALLTHROUGH */
|
||||
|
||||
/* "zh" - scroll screen to the right */
|
||||
@@ -4928,7 +4934,7 @@ dozet:
|
||||
break;
|
||||
|
||||
/* "zL" - scroll screen left half-page */
|
||||
case 'L': cap->count1 *= W_WIDTH(curwin) / 2;
|
||||
case 'L': cap->count1 *= curwin->w_width / 2;
|
||||
/* FALLTHROUGH */
|
||||
|
||||
/* "zl" - scroll screen to the left */
|
||||
@@ -4972,7 +4978,7 @@ dozet:
|
||||
else
|
||||
#endif
|
||||
getvcol(curwin, &curwin->w_cursor, NULL, NULL, &col);
|
||||
n = W_WIDTH(curwin) - curwin_col_off();
|
||||
n = curwin->w_width - curwin_col_off();
|
||||
if ((long)col + p_siso < n)
|
||||
col = 0;
|
||||
else
|
||||
@@ -5982,7 +5988,9 @@ nv_scroll(cmdarg_T *cap)
|
||||
curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
|
||||
}
|
||||
|
||||
cursor_correct(); /* correct for 'so' */
|
||||
/* Correct for 'so', except when an operator is pending. */
|
||||
if (cap->oap->op_type == OP_NOP)
|
||||
cursor_correct();
|
||||
beginline(BL_SOL | BL_FIX);
|
||||
}
|
||||
|
||||
@@ -8107,7 +8115,7 @@ nv_g_cmd(cmdarg_T *cap)
|
||||
oap->inclusive = FALSE;
|
||||
if (curwin->w_p_wrap && curwin->w_width != 0)
|
||||
{
|
||||
int width1 = W_WIDTH(curwin) - curwin_col_off();
|
||||
int width1 = curwin->w_width - curwin_col_off();
|
||||
int width2 = width1 + curwin_col_off2();
|
||||
|
||||
validate_virtcol();
|
||||
@@ -8121,7 +8129,7 @@ nv_g_cmd(cmdarg_T *cap)
|
||||
* 'relativenumber' is on and lines are wrapping the middle can be more
|
||||
* to the left. */
|
||||
if (cap->nchar == 'm')
|
||||
i += (W_WIDTH(curwin) - curwin_col_off()
|
||||
i += (curwin->w_width - curwin_col_off()
|
||||
+ ((curwin->w_p_wrap && i > 0)
|
||||
? curwin_col_off2() : 0)) / 2;
|
||||
coladvance((colnr_T)i);
|
||||
@@ -8173,7 +8181,7 @@ nv_g_cmd(cmdarg_T *cap)
|
||||
curwin->w_curswant = MAXCOL; /* so we stay at the end */
|
||||
if (cap->count1 == 1)
|
||||
{
|
||||
int width1 = W_WIDTH(curwin) - col_off;
|
||||
int width1 = curwin->w_width - col_off;
|
||||
int width2 = width1 + curwin_col_off2();
|
||||
|
||||
validate_virtcol();
|
||||
@@ -8205,7 +8213,7 @@ nv_g_cmd(cmdarg_T *cap)
|
||||
}
|
||||
else
|
||||
{
|
||||
i = curwin->w_leftcol + W_WIDTH(curwin) - col_off - 1;
|
||||
i = curwin->w_leftcol + curwin->w_width - col_off - 1;
|
||||
coladvance((colnr_T)i);
|
||||
|
||||
/* Make sure we stick in this column. */
|
||||
@@ -9599,7 +9607,7 @@ get_op_vcol(
|
||||
colnr_T start, end;
|
||||
|
||||
if (VIsual_mode != Ctrl_V
|
||||
|| (!initial && oap->end.col < W_WIDTH(curwin)))
|
||||
|| (!initial && oap->end.col < curwin->w_width))
|
||||
return;
|
||||
|
||||
oap->block_mode = TRUE;
|
||||
|
||||
@@ -3259,8 +3259,8 @@ op_yank(oparg_T *oap, int deleting, int mess)
|
||||
|
||||
clip_own_selection(&clip_plus);
|
||||
clip_gen_set_selection(&clip_plus);
|
||||
if (!clip_isautosel_star() && !did_star
|
||||
&& curr == &(y_regs[PLUS_REGISTER]))
|
||||
if (!clip_isautosel_star() && !clip_isautosel_plus()
|
||||
&& !did_star && curr == &(y_regs[PLUS_REGISTER]))
|
||||
{
|
||||
copy_yank_reg(&(y_regs[STAR_REGISTER]));
|
||||
clip_own_selection(&clip_star);
|
||||
|
||||
+19
-3
@@ -2084,6 +2084,24 @@ static struct vimoption options[] =
|
||||
{"mousetime", "mouset", P_NUM|P_VI_DEF,
|
||||
(char_u *)&p_mouset, PV_NONE,
|
||||
{(char_u *)500L, (char_u *)0L} SCRIPTID_INIT},
|
||||
{"mzschemedll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||
#if defined(DYNAMIC_MZSCHEME)
|
||||
(char_u *)&p_mzschemedll, PV_NONE,
|
||||
{(char_u *)DYNAMIC_MZSCH_DLL, (char_u *)0L}
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
{(char_u *)"", (char_u *)0L}
|
||||
#endif
|
||||
SCRIPTID_INIT},
|
||||
{"mzschemegcdll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||
#if defined(DYNAMIC_MZSCHEME)
|
||||
(char_u *)&p_mzschemegcdll, PV_NONE,
|
||||
{(char_u *)DYNAMIC_MZGC_DLL, (char_u *)0L}
|
||||
#else
|
||||
(char_u *)NULL, PV_NONE,
|
||||
{(char_u *)"", (char_u *)0L}
|
||||
#endif
|
||||
SCRIPTID_INIT},
|
||||
{"mzquantum", "mzq", P_NUM,
|
||||
#ifdef FEAT_MZSCHEME
|
||||
(char_u *)&p_mzq, PV_NONE,
|
||||
@@ -3224,6 +3242,7 @@ static struct vimoption options[] =
|
||||
p_term("t_ms", T_MS)
|
||||
p_term("t_nd", T_ND)
|
||||
p_term("t_op", T_OP)
|
||||
p_term("t_RF", T_RFG)
|
||||
p_term("t_RB", T_RBG)
|
||||
p_term("t_RC", T_CRC)
|
||||
p_term("t_RI", T_CRI)
|
||||
@@ -9085,9 +9104,6 @@ set_num_option(
|
||||
{
|
||||
if (p_imst != IM_ON_THE_SPOT && p_imst != IM_OVER_THE_SPOT)
|
||||
errmsg = e_invarg;
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
gui_macvim_set_imstyle(p_imst);
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -681,6 +681,10 @@ EXTERN long p_mouset; /* 'mousetime' */
|
||||
EXTERN int p_more; /* 'more' */
|
||||
#ifdef FEAT_MZSCHEME
|
||||
EXTERN long p_mzq; /* 'mzquantum */
|
||||
# if defined(DYNAMIC_MZSCHEME)
|
||||
EXTERN char_u *p_mzschemedll; /* 'mzschemedll' */
|
||||
EXTERN char_u *p_mzschemegcdll; /* 'mzschemegcdll' */
|
||||
# endif
|
||||
#endif
|
||||
#if defined(MSWIN)
|
||||
EXTERN int p_odev; /* 'opendevice' */
|
||||
|
||||
+29
-13
@@ -4080,7 +4080,7 @@ wait4pid(pid_t child, waitstatus *status)
|
||||
mch_parse_cmd(char_u *cmd, int use_shcf, char ***argv, int *argc)
|
||||
{
|
||||
int i;
|
||||
char_u *p;
|
||||
char_u *p, *d;
|
||||
int inquote;
|
||||
|
||||
/*
|
||||
@@ -4098,26 +4098,34 @@ mch_parse_cmd(char_u *cmd, int use_shcf, char ***argv, int *argc)
|
||||
if (i == 1)
|
||||
(*argv)[*argc] = (char *)p;
|
||||
++*argc;
|
||||
d = p;
|
||||
while (*p != NUL && (inquote || (*p != ' ' && *p != TAB)))
|
||||
{
|
||||
if (p[0] == '"')
|
||||
/* quotes surrounding an argument and are dropped */
|
||||
inquote = !inquote;
|
||||
else if (p[0] == '\\' && p[1] != NUL)
|
||||
else
|
||||
{
|
||||
/* First pass: skip over "\ " and "\"".
|
||||
* Second pass: Remove the backslash. */
|
||||
if (i == 1)
|
||||
mch_memmove(p, p + 1, STRLEN(p));
|
||||
else
|
||||
if (p[0] == '\\' && p[1] != NUL)
|
||||
{
|
||||
/* First pass: skip over "\ " and "\"".
|
||||
* Second pass: Remove the backslash. */
|
||||
++p;
|
||||
}
|
||||
if (i == 1)
|
||||
*d++ = *p;
|
||||
}
|
||||
++p;
|
||||
}
|
||||
if (*p == NUL)
|
||||
{
|
||||
if (i == 1)
|
||||
*d++ = NUL;
|
||||
break;
|
||||
}
|
||||
if (i == 1)
|
||||
*p++ = NUL;
|
||||
p = skipwhite(p);
|
||||
*d++ = NUL;
|
||||
p = skipwhite(p + 1);
|
||||
}
|
||||
if (*argv == NULL)
|
||||
{
|
||||
@@ -5352,6 +5360,9 @@ mch_job_start(char **argv, job_T *job, jobopt_T *options)
|
||||
channel = add_channel();
|
||||
if (channel == NULL)
|
||||
goto failed;
|
||||
if (job->jv_tty_out != NULL)
|
||||
ch_log(channel, "using pty %s on fd %d",
|
||||
job->jv_tty_out, pty_master_fd);
|
||||
}
|
||||
|
||||
BLOCK_SIGNALS(&curset);
|
||||
@@ -5724,6 +5735,9 @@ mch_create_pty_channel(job_T *job, jobopt_T *options)
|
||||
close(pty_master_fd);
|
||||
return FAIL;
|
||||
}
|
||||
if (job->jv_tty_out != NULL)
|
||||
ch_log(channel, "using pty %s on fd %d",
|
||||
job->jv_tty_out, pty_master_fd);
|
||||
job->jv_channel = channel; /* ch_refcount was set by add_channel() */
|
||||
channel->ch_keep_open = TRUE;
|
||||
|
||||
@@ -5991,7 +6005,7 @@ RealWaitForChar(int fd, long msec, int *check_for_gpm UNUSED, int *interrupted)
|
||||
}
|
||||
# endif
|
||||
#ifdef FEAT_JOB_CHANNEL
|
||||
nfd = channel_poll_setup(nfd, &fds);
|
||||
nfd = channel_poll_setup(nfd, &fds, &towait);
|
||||
#endif
|
||||
if (interrupted != NULL)
|
||||
*interrupted = FALSE;
|
||||
@@ -6043,7 +6057,8 @@ RealWaitForChar(int fd, long msec, int *check_for_gpm UNUSED, int *interrupted)
|
||||
}
|
||||
# endif
|
||||
#ifdef FEAT_JOB_CHANNEL
|
||||
if (ret > 0)
|
||||
/* also call when ret == 0, we may be polling a keep-open channel */
|
||||
if (ret >= 0)
|
||||
ret = channel_poll_check(ret, &fds);
|
||||
#endif
|
||||
|
||||
@@ -6119,7 +6134,7 @@ select_eintr:
|
||||
}
|
||||
# endif
|
||||
# ifdef FEAT_JOB_CHANNEL
|
||||
maxfd = channel_select_setup(maxfd, &rfds, &wfds);
|
||||
maxfd = channel_select_setup(maxfd, &rfds, &wfds, &tv, &tvp);
|
||||
# endif
|
||||
if (interrupted != NULL)
|
||||
*interrupted = FALSE;
|
||||
@@ -6205,7 +6220,8 @@ select_eintr:
|
||||
}
|
||||
# endif
|
||||
#ifdef FEAT_JOB_CHANNEL
|
||||
if (ret > 0)
|
||||
/* also call when ret == 0, we may be polling a keep-open channel */
|
||||
if (ret >= 0)
|
||||
ret = channel_select_check(ret, &rfds, &wfds);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ LANGUAGES = \
|
||||
ja \
|
||||
ko \
|
||||
ko.UTF-8 \
|
||||
lv \
|
||||
nb \
|
||||
nl \
|
||||
no \
|
||||
@@ -63,6 +64,7 @@ MOFILES = \
|
||||
ja.mo \
|
||||
ko.mo \
|
||||
ko.UTF-8.mo \
|
||||
lv.mo \
|
||||
nb.mo \
|
||||
nl.mo \
|
||||
no.mo \
|
||||
|
||||
+102
-132
@@ -13,8 +13,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: vim 8.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-28 10:54+0200\n"
|
||||
"PO-Revision-Date: 2017-05-28 23:45+0200\n"
|
||||
"POT-Creation-Date: 2017-09-24 16:26+0200\n"
|
||||
"PO-Revision-Date: 2017-09-24 18:40+0200\n"
|
||||
"Last-Translator: Antonio Colombo <azc100@gmail.com>\n"
|
||||
"Language-Team: Antonio Colombo <azc100@gmail.com>\n"
|
||||
"Language: Italian\n"
|
||||
@@ -96,7 +96,6 @@ msgstr "E90: Non riesco a scaricare l'ultimo buffer"
|
||||
msgid "E84: No modified buffer found"
|
||||
msgstr "E84: Nessun buffer risulta modificato"
|
||||
|
||||
#. back where we started, didn't find anything.
|
||||
msgid "E85: There is no listed buffer"
|
||||
msgstr "E85: Non c'è alcun buffer elencato"
|
||||
|
||||
@@ -111,6 +110,18 @@ msgid "E89: No write since last change for buffer %ld (add ! to override)"
|
||||
msgstr ""
|
||||
"E89: Buffer %ld non salvato dopo modifica (aggiungi ! per eseguire comunque)"
|
||||
|
||||
msgid "E948: Job still running (add ! to end the job)"
|
||||
msgstr "E948: Lavoro ancora in esecuzione (aggiungi! per terminarlo)"
|
||||
|
||||
msgid "E37: No write since last change (add ! to override)"
|
||||
msgstr "E37: Non salvato dopo modifica (aggiungi ! per eseguire comunque)"
|
||||
|
||||
msgid "E948: Job still running"
|
||||
msgstr "E948: Lavoro ancora attivo"
|
||||
|
||||
msgid "E37: No write since last change"
|
||||
msgstr "E37: Non salvato dopo l'ultima modifica"
|
||||
|
||||
msgid "W14: Warning: List of file names overflow"
|
||||
msgstr "W14: Avviso: Superato limite della lista dei nomi di file"
|
||||
|
||||
@@ -166,7 +177,6 @@ msgstr "riga %ld di %ld --%d%%-- col "
|
||||
msgid "[No Name]"
|
||||
msgstr "[Senza nome]"
|
||||
|
||||
#. must be a help buffer
|
||||
msgid "help"
|
||||
msgstr "aiuto"
|
||||
|
||||
@@ -192,6 +202,9 @@ msgstr ""
|
||||
"\n"
|
||||
"# Lista Buffer:\n"
|
||||
|
||||
msgid "E382: Cannot write, 'buftype' option is set"
|
||||
msgstr "E382: Non posso scrivere, l'opzione 'buftype' è impostata"
|
||||
|
||||
msgid "[Scratch]"
|
||||
msgstr "[Volatile]"
|
||||
|
||||
@@ -228,6 +241,7 @@ msgstr "E904: l'ultimo argomento per espressione/chiamata dev'essere numerico"
|
||||
msgid "E904: third argument for call must be a list"
|
||||
msgstr "E904: il terzo argomento della chiamata dev'essere una Lista"
|
||||
|
||||
#, c-format
|
||||
msgid "E905: received unknown command: %s"
|
||||
msgstr "E905: recevuto comando non conosciuto: %s"
|
||||
|
||||
@@ -235,6 +249,7 @@ msgstr "E905: recevuto comando non conosciuto: %s"
|
||||
msgid "E630: %s(): write while not connected"
|
||||
msgstr "E630: %s(): scrittura in mancanza di connessione"
|
||||
|
||||
#, c-format
|
||||
msgid "E631: %s(): write failed"
|
||||
msgstr "E631: %s(): scrittura non riuscita"
|
||||
|
||||
@@ -299,6 +314,7 @@ msgstr "argomento di extend()"
|
||||
msgid "E737: Key already exists: %s"
|
||||
msgstr "E737: Chiave già esistente: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E96: Cannot diff more than %ld buffers"
|
||||
msgstr "E96: Non supporto differenze fra più di %ld buffer"
|
||||
|
||||
@@ -355,7 +371,6 @@ msgstr "E791: Nessuna keymap per questo tasto"
|
||||
msgid " Keyword completion (^N^P)"
|
||||
msgstr " Completamento Keyword (^N^P)"
|
||||
|
||||
#. ctrl_x_mode == 0, ^P/^N compl.
|
||||
msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
|
||||
msgstr " modalità ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
|
||||
|
||||
@@ -433,10 +448,6 @@ msgstr "corrispondenza nel file"
|
||||
msgid " Adding"
|
||||
msgstr " Aggiungo"
|
||||
|
||||
#. showmode might reset the internal line pointers, so it must
|
||||
#. * be called before line = ml_get(), or when this address is no
|
||||
#. * longer needed. -- Acevedo.
|
||||
#.
|
||||
msgid "-- Searching..."
|
||||
msgstr "-- Ricerca..."
|
||||
|
||||
@@ -457,7 +468,6 @@ msgstr "corrispondenza %d di %d"
|
||||
msgid "match %d"
|
||||
msgstr "corrispondenza %d"
|
||||
|
||||
#. maximum nesting of lists and dicts
|
||||
msgid "E18: Unexpected characters in :let"
|
||||
msgstr "E18: Caratteri non previsti in :let"
|
||||
|
||||
@@ -518,8 +528,7 @@ msgstr "E690: Manca \"in\" dopo :for"
|
||||
msgid "E108: No such variable: \"%s\""
|
||||
msgstr "E108: Variabile inesistente: \"%s\""
|
||||
|
||||
#. For historic reasons this error is not given for a list or dict.
|
||||
#. * E.g., the b: dict could be locked/unlocked.
|
||||
#, c-format
|
||||
msgid "E940: Cannot lock or unlock variable %s"
|
||||
msgstr "E940: Non riesco a bloccare o sbloccare la variabile %s"
|
||||
|
||||
@@ -693,11 +702,6 @@ msgstr "argomento di add()"
|
||||
msgid "E785: complete() can only be used in Insert mode"
|
||||
msgstr "E785: complete() può essere usata solo in modalità inserimento"
|
||||
|
||||
#.
|
||||
#. * Yes this is ugly, I don't particularly like it either. But doing it
|
||||
#. * this way has the compelling advantage that translations need not to
|
||||
#. * be touched at all. See below what 'ok' and 'ync' are used for.
|
||||
#.
|
||||
msgid "&Ok"
|
||||
msgstr "&OK"
|
||||
|
||||
@@ -794,6 +798,7 @@ msgstr "E882: Funzione confronto in uniq non riuscita"
|
||||
msgid "(Invalid)"
|
||||
msgstr "(Non valido)"
|
||||
|
||||
#, c-format
|
||||
msgid "E935: invalid submatch number: %d"
|
||||
msgstr "E935: nomeri di sotto-corrispondenza non valido: %d"
|
||||
|
||||
@@ -858,7 +863,6 @@ msgstr " file elaborati in precedenza"
|
||||
msgid " FAILED"
|
||||
msgstr " FALLITO"
|
||||
|
||||
#. avoid a wait_return for this message, it's annoying
|
||||
#, c-format
|
||||
msgid "E137: Viminfo file is not writable: %s"
|
||||
msgstr "E137: File viminfo \"%s\" inaccessibile in scrittura"
|
||||
@@ -879,7 +883,6 @@ msgstr "Scrivo file viminfo \"%s\""
|
||||
msgid "E886: Can't rename viminfo file to %s!"
|
||||
msgstr "E886: Non riesco a rinominare il file viminfo a %s!"
|
||||
|
||||
#. Write the info:
|
||||
#, c-format
|
||||
msgid "# This viminfo file was generated by Vim %s.\n"
|
||||
msgstr "# Questo file viminfo è stato generato da Vim %s.\n"
|
||||
@@ -999,8 +1002,8 @@ msgstr " in 1 riga"
|
||||
msgid " on %ld lines"
|
||||
msgstr " in %ld righe"
|
||||
|
||||
msgid "E147: Cannot do :global recursive"
|
||||
msgstr "E147: :global non può essere usato ricorsivamente"
|
||||
msgid "E147: Cannot do :global recursive with a range"
|
||||
msgstr "E147: :global non può essere usato ricorsivamente con un intervallo"
|
||||
|
||||
msgid "E148: Regular expression missing from global"
|
||||
msgstr "E148: Manca espressione regolare nel comando 'global'"
|
||||
@@ -1037,6 +1040,7 @@ msgstr "E149: Spiacente, nessun aiuto per %s"
|
||||
msgid "Sorry, help file \"%s\" not found"
|
||||
msgstr "Spiacente, non trovo file di aiuto \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E151: No match: %s"
|
||||
msgstr "E151: Nessuna corrispondenza: %s"
|
||||
|
||||
@@ -1148,8 +1152,8 @@ msgstr "E750: Usare prima \":profile start {fname}\""
|
||||
msgid "Save changes to \"%s\"?"
|
||||
msgstr "Salvare modifiche a \"%s\"?"
|
||||
|
||||
msgid "Untitled"
|
||||
msgstr "Senza Nome"
|
||||
msgid "E947: Job still running in buffer \"%s\""
|
||||
msgstr "E947: Lavoro ancora in esecuzione nel buffer \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E162: No write since last change for buffer \"%s\""
|
||||
@@ -1186,11 +1190,13 @@ msgstr "non trovato in '%s': \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "W20: Required python version 2.x not supported, ignoring file: %s"
|
||||
msgstr "W20: Versione richiesta di python 2.x non supportata, ignoro il file: %s"
|
||||
msgstr ""
|
||||
"W20: Versione richiesta di python 2.x non supportata, ignoro il file: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "W21: Required python version 3.x not supported, ignoring file: %s"
|
||||
msgstr "W21: Versione richiesta di python 3.x non supportata, ignoro il file: %s"
|
||||
msgstr ""
|
||||
"W21: Versione richiesta di python 3.x non supportata, ignoro il file: %s"
|
||||
|
||||
msgid "Source Vim script"
|
||||
msgstr "Esegui script Vim"
|
||||
@@ -1459,7 +1465,6 @@ msgstr "E189: \"%s\" esiste (aggiungi ! per eseguire comunque)"
|
||||
msgid "E190: Cannot open \"%s\" for writing"
|
||||
msgstr "E190: Non riesco ad aprire \"%s\" in scrittura"
|
||||
|
||||
#. set mark
|
||||
msgid "E191: Argument must be a letter or forward/backward quote"
|
||||
msgstr ""
|
||||
"E191: L'argomento deve essere una lettera, oppure un apice/apice retroverso"
|
||||
@@ -1501,13 +1506,15 @@ msgstr "E500: Il valore
|
||||
msgid "E195: Cannot open viminfo file for reading"
|
||||
msgstr "E195: Non posso aprire il file viminfo in lettura"
|
||||
|
||||
msgid "Untitled"
|
||||
msgstr "Senza Nome"
|
||||
|
||||
msgid "E196: No digraphs in this version"
|
||||
msgstr "E196: Digrammi non supportati in questa versione"
|
||||
|
||||
msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
|
||||
msgstr "E608: Impossibile lanciare eccezioni con prefisso 'Vim'"
|
||||
|
||||
#. always scroll up, don't overwrite
|
||||
#, c-format
|
||||
msgid "Exception thrown: %s"
|
||||
msgstr "Eccezione lanciata: %s"
|
||||
@@ -1524,7 +1531,6 @@ msgstr "Eccezione scartata: %s"
|
||||
msgid "%s, line %ld"
|
||||
msgstr "%s, riga %ld"
|
||||
|
||||
#. always scroll up, don't overwrite
|
||||
#, c-format
|
||||
msgid "Exception caught: %s"
|
||||
msgstr "Eccezione intercettata: %s"
|
||||
@@ -1550,7 +1556,6 @@ msgstr "Errore ed interruzione"
|
||||
msgid "Error"
|
||||
msgstr "Errore"
|
||||
|
||||
#. if (pending & CSTP_INTERRUPT)
|
||||
msgid "Interrupt"
|
||||
msgstr "Interruzione"
|
||||
|
||||
@@ -1593,15 +1598,12 @@ msgstr "E601: nidificazione di :try troppo estesa"
|
||||
msgid "E603: :catch without :try"
|
||||
msgstr "E603: :catch senza :try"
|
||||
|
||||
#. Give up for a ":catch" after ":finally" and ignore it.
|
||||
#. * Just parse.
|
||||
msgid "E604: :catch after :finally"
|
||||
msgstr "E604: :catch dopo :finally"
|
||||
|
||||
msgid "E606: :finally without :try"
|
||||
msgstr "E606: :finally senza :try"
|
||||
|
||||
#. Give up for a multiple ":finally" and ignore it.
|
||||
msgid "E607: multiple :finally"
|
||||
msgstr "E607: :finally multipli"
|
||||
|
||||
@@ -1694,7 +1696,6 @@ msgstr "Vim: Leggo da 'stdin'...\n"
|
||||
msgid "Reading from stdin..."
|
||||
msgstr "Leggo da 'stdin'..."
|
||||
|
||||
#. Re-opening the original file failed!
|
||||
msgid "E202: Conversion made file unreadable!"
|
||||
msgstr "E202: La conversione ha reso il file illeggibile!"
|
||||
|
||||
@@ -1911,9 +1912,6 @@ msgstr "[noeol]"
|
||||
msgid "[Incomplete last line]"
|
||||
msgstr "[Manca carattere di fine riga]"
|
||||
|
||||
#. don't overwrite messages here
|
||||
#. must give this prompt
|
||||
#. don't use emsg() here, don't want to flush the buffers
|
||||
msgid "WARNING: The file has been changed since reading it!!!"
|
||||
msgstr "AVVISO: File modificato dopo essere stato letto!!!"
|
||||
|
||||
@@ -1992,7 +1990,6 @@ msgstr "--Cancellato--"
|
||||
msgid "auto-removing autocommand: %s <buffer=%d>"
|
||||
msgstr "auto-rimozione dell'autocomando: %s <buffer=%d>"
|
||||
|
||||
#. the group doesn't exist
|
||||
#, c-format
|
||||
msgid "E367: No such group: \"%s\""
|
||||
msgstr "E367: Gruppo inesistente: \"%s\""
|
||||
@@ -2015,7 +2012,6 @@ msgstr "E216: Evento inesistente: %s"
|
||||
msgid "E216: No such group or event: %s"
|
||||
msgstr "E216: Evento o gruppo inesistente: %s"
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
"--- Auto-Commands ---"
|
||||
@@ -2196,18 +2192,15 @@ msgstr "Trova cosa:"
|
||||
msgid "Replace with:"
|
||||
msgstr "Sostituisci con:"
|
||||
|
||||
#. whole word only button
|
||||
msgid "Match whole word only"
|
||||
msgstr "Cerca solo la parola intera"
|
||||
|
||||
#. match case button
|
||||
msgid "Match case"
|
||||
msgstr "Maiuscole/minuscole"
|
||||
|
||||
msgid "Direction"
|
||||
msgstr "Direzione"
|
||||
|
||||
#. 'Up' and 'Down' buttons
|
||||
msgid "Up"
|
||||
msgstr "Su"
|
||||
|
||||
@@ -2286,8 +2279,6 @@ msgstr "Stringa di ricerca (usa '\\\\' per cercare un '\\')"
|
||||
msgid "Find & Replace (use '\\\\' to find a '\\')"
|
||||
msgstr "Sostituisci (usa '\\\\' per cercare un '\\')"
|
||||
|
||||
#. We fake this: Use a filter that doesn't select anything and a default
|
||||
#. * file name that won't be used.
|
||||
msgid "Not Used"
|
||||
msgstr "Non Utilizzato"
|
||||
|
||||
@@ -2361,7 +2352,6 @@ msgstr "Vim - Selettore Font"
|
||||
msgid "Name:"
|
||||
msgstr "Nome:"
|
||||
|
||||
#. create toggle button
|
||||
msgid "Show size in Points"
|
||||
msgstr "Mostra dimensione in Punti"
|
||||
|
||||
@@ -2606,7 +2596,6 @@ msgstr "E261: connessione cscope %s non trovata"
|
||||
msgid "cscope connection %s closed"
|
||||
msgstr "connessione cscope %s chiusa"
|
||||
|
||||
#. should not reach here
|
||||
msgid "E570: fatal error in cs_manage_matches"
|
||||
msgstr "E570: errore irreparabile in cs_manage_matches"
|
||||
|
||||
@@ -2768,7 +2757,6 @@ msgstr "numero buffer non valido"
|
||||
msgid "not implemented yet"
|
||||
msgstr "non ancora implementato"
|
||||
|
||||
#. ???
|
||||
msgid "cannot set line(s)"
|
||||
msgstr "non posso impostare riga(he)"
|
||||
|
||||
@@ -2809,7 +2797,6 @@ msgid ""
|
||||
msgstr ""
|
||||
"non posso registrare comando callback: buffer/finestra già in cancellazione"
|
||||
|
||||
#. This should never happen. Famous last word?
|
||||
msgid ""
|
||||
"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
|
||||
"org"
|
||||
@@ -2848,8 +2835,9 @@ msgstr "E573: Identificativo di server non valido: %s"
|
||||
msgid "E251: VIM instance registry property is badly formed. Deleted!"
|
||||
msgstr "E251: Proprietà registry relative a VIM non adeguate. Cancellate!"
|
||||
|
||||
#, c-format
|
||||
msgid "E938: Duplicate key in JSON: \"%s\""
|
||||
msgstr "E938: Chiave duplicata in JSON: \"%s\""
|
||||
msgstr "E938: Chiave duplicata in JSON: \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E696: Missing comma in List: %s"
|
||||
@@ -2912,7 +2900,6 @@ msgstr "Vim: Avviso: Output non diretto a un terminale\n"
|
||||
msgid "Vim: Warning: Input is not from a terminal\n"
|
||||
msgstr "Vim: Avviso: Input non proveniente da un terminale\n"
|
||||
|
||||
#. just in case..
|
||||
msgid "pre-vimrc command line"
|
||||
msgstr "riga comandi prima di vimrc"
|
||||
|
||||
@@ -3171,6 +3158,9 @@ msgstr ""
|
||||
msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
|
||||
msgstr "-i <viminfo>\t\tUsa <viminfo> invece di .viminfo"
|
||||
|
||||
msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo"
|
||||
msgstr "--clean\t\t'nocompatible', default di Vim, no plugin, no viminfo"
|
||||
|
||||
msgid "-h or --help\tPrint Help (this message) and exit"
|
||||
msgstr "-h opp. --help\tStampa Aiuto (questo messaggio) ed esci"
|
||||
|
||||
@@ -3271,11 +3261,9 @@ msgstr "--windowid <HWND>\tApri Vim dentro un altro widget win32"
|
||||
msgid "No display"
|
||||
msgstr "Manca display"
|
||||
|
||||
#. Failed to send, abort.
|
||||
msgid ": Send failed.\n"
|
||||
msgstr ": Invio fallito.\n"
|
||||
|
||||
#. Let vim start normally.
|
||||
msgid ": Send failed. Trying to execute locally\n"
|
||||
msgstr ": Invio fallito. Tento di eseguire localmente\n"
|
||||
|
||||
@@ -3296,7 +3284,6 @@ msgstr "Nessun mark impostato"
|
||||
msgid "E283: No marks matching \"%s\""
|
||||
msgstr "E283: Nessun mark corrispondente a \"%s\""
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
"mark line col file/text"
|
||||
@@ -3304,7 +3291,6 @@ msgstr ""
|
||||
"\n"
|
||||
"mark riga col.file/testo"
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
" jump line col file/text"
|
||||
@@ -3312,7 +3298,6 @@ msgstr ""
|
||||
"\n"
|
||||
" salt.riga col.file/testo"
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
"change line col text"
|
||||
@@ -3327,7 +3312,6 @@ msgstr ""
|
||||
"\n"
|
||||
"# File mark:\n"
|
||||
|
||||
#. Write the jumplist with -'
|
||||
msgid ""
|
||||
"\n"
|
||||
"# Jumplist (newest first):\n"
|
||||
@@ -3396,7 +3380,6 @@ msgstr "E298: Non riesco a leggere blocco numero 2?"
|
||||
msgid "E843: Error while updating swap file crypt"
|
||||
msgstr "E843: Errore aggiornando cifratura dello swap file"
|
||||
|
||||
#. could not (re)open the swap file, what can we do????
|
||||
msgid "E301: Oops, lost the swap file!!!"
|
||||
msgstr "E301: Ahimè, lo swap file è perduto!!!"
|
||||
|
||||
@@ -3580,7 +3563,6 @@ msgstr ""
|
||||
msgid "Using crypt key from swap file for the text file.\n"
|
||||
msgstr "Uso la chiave di cifratura del file swap per il file di testo.\n"
|
||||
|
||||
#. use msg() to start the scrolling properly
|
||||
msgid "Swap files found:"
|
||||
msgstr "Swap file trovati:"
|
||||
|
||||
@@ -3750,8 +3732,6 @@ msgstr "Mentre aprivo file \""
|
||||
msgid " NEWER than swap file!\n"
|
||||
msgstr " più RECENTE dello swap file!\n"
|
||||
|
||||
#. Some of these messages are long to allow translation to
|
||||
#. * other languages.
|
||||
msgid ""
|
||||
"\n"
|
||||
"(1) Another program may be editing the same file. If this is the case,\n"
|
||||
@@ -3840,7 +3820,6 @@ msgstr "E328: I Menu esistono solo in un'altra modalit
|
||||
msgid "E329: No menu \"%s\""
|
||||
msgstr "E329: Nessun Menu \"%s\""
|
||||
|
||||
#. Only a mnemonic or accelerator is not valid.
|
||||
msgid "E792: Empty menu name"
|
||||
msgstr "E792: Nome menu non valido"
|
||||
|
||||
@@ -3854,8 +3833,6 @@ msgstr ""
|
||||
msgid "E332: Separator cannot be part of a menu path"
|
||||
msgstr "E332: Il separatore non può far parte di un percorso di Menu"
|
||||
|
||||
#. Now we have found the matching menu, and we list the mappings
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
"--- Menus ---"
|
||||
@@ -3866,6 +3843,10 @@ msgstr ""
|
||||
msgid "Tear off this menu"
|
||||
msgstr "Togli questo Menu"
|
||||
|
||||
#, c-format
|
||||
msgid "E335: Menu not defined for %s mode"
|
||||
msgstr "E335: Menu non definito per la modalità %s"
|
||||
|
||||
msgid "E333: Menu path must lead to a menu item"
|
||||
msgstr "E333: Il percorso Menu deve condurre ad un elemento Menu"
|
||||
|
||||
@@ -3873,10 +3854,6 @@ msgstr "E333: Il percorso Menu deve condurre ad un elemento Menu"
|
||||
msgid "E334: Menu not found: %s"
|
||||
msgstr "E334: Menu non trovato: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E335: Menu not defined for %s mode"
|
||||
msgstr "E335: Menu non definito per la modalità %s"
|
||||
|
||||
msgid "E336: Menu path must lead to a sub-menu"
|
||||
msgstr "E336: Il percorso Menu deve condurre ad un sotto-Menu"
|
||||
|
||||
@@ -3946,7 +3923,6 @@ msgstr "Salva File dialogo"
|
||||
msgid "Open File dialog"
|
||||
msgstr "Apri File dialogo"
|
||||
|
||||
#. TODO: non-GUI file selector here
|
||||
msgid "E338: Sorry, no file browser in console mode"
|
||||
msgstr "E338: Spiacente, niente esplorazione file in modalità console"
|
||||
|
||||
@@ -4111,8 +4087,8 @@ msgstr "E662: All'inizio della lista modifiche"
|
||||
msgid "E663: At end of changelist"
|
||||
msgstr "E663: Alla fine della lista modifiche"
|
||||
|
||||
msgid "Type :quit<Enter> to exit Vim"
|
||||
msgstr "Batti :quit<Invio> per uscire da Vim"
|
||||
msgid "Type :qa! and press <Enter> to abandon all changes and exit Vim"
|
||||
msgstr "Batti :qa! e premi <Invio> per ignorare le modifiche e uscire da Vim"
|
||||
|
||||
#, c-format
|
||||
msgid "1 line %sed 1 time"
|
||||
@@ -4144,7 +4120,6 @@ msgstr "%ld righe rientrate "
|
||||
msgid "E748: No previously used register"
|
||||
msgstr "E748: Nessun registro usato in precedenza"
|
||||
|
||||
#. must display the prompt
|
||||
msgid "cannot yank; delete anyway"
|
||||
msgstr "non riesco a salvare in un registro; cancello comunque"
|
||||
|
||||
@@ -4159,25 +4134,27 @@ msgstr "%ld righe cambiate"
|
||||
msgid "freeing %ld lines"
|
||||
msgstr "libero %ld righe"
|
||||
|
||||
msgid "block of 1 line yanked"
|
||||
msgstr "blocco di 1 riga messo in registro"
|
||||
|
||||
msgid "1 line yanked"
|
||||
msgstr "1 riga messa in registro"
|
||||
|
||||
#, c-format
|
||||
msgid "block of %ld lines yanked"
|
||||
msgstr "blocco di %ld righe messo in registro"
|
||||
msgid " into \"%c"
|
||||
msgstr " in \"%c"
|
||||
|
||||
#, c-format
|
||||
msgid "%ld lines yanked"
|
||||
msgstr "%ld righe messe in registro"
|
||||
#
|
||||
msgid "block of 1 line yanked%s"
|
||||
msgstr "blocco di 1 riga messo in registro%s"
|
||||
|
||||
msgid "1 line yanked%s"
|
||||
msgstr "1 riga messa in registro%s"
|
||||
|
||||
msgid "block of %ld lines yanked%s"
|
||||
msgstr "blocco di %ld righe messo in registro%s"
|
||||
|
||||
msgid "%ld lines yanked%s"
|
||||
msgstr "%ld righe messe in registro%s"
|
||||
|
||||
#, c-format
|
||||
msgid "E353: Nothing in register %s"
|
||||
msgstr "E353: Niente nel registro %s"
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
"--- Registers ---"
|
||||
@@ -4240,9 +4217,6 @@ msgstr ""
|
||||
msgid "(+%ld for BOM)"
|
||||
msgstr "(+%ld per BOM)"
|
||||
|
||||
msgid "%<%f%h%m%=Page %N"
|
||||
msgstr "%<%f%h%m%=Pagina %N"
|
||||
|
||||
msgid "Thanks for flying Vim"
|
||||
msgstr "Grazie per aver volato con Vim"
|
||||
|
||||
@@ -4350,6 +4324,10 @@ msgstr "E541: troppi elementi"
|
||||
msgid "E542: unbalanced groups"
|
||||
msgstr "E542: gruppi sbilanciati"
|
||||
|
||||
msgid "E946: Cannot make a terminal with running job modifiable"
|
||||
msgstr "E946: Non posso aprire un terminale mentre ci sono lavori "
|
||||
"modificabili in esecuzione"
|
||||
|
||||
msgid "E590: A preview window already exists"
|
||||
msgstr "E590: Una finestra di pre-visualizzazione esiste già"
|
||||
|
||||
@@ -4368,9 +4346,6 @@ msgstr "E594: Servono almeno %d colonne"
|
||||
msgid "E355: Unknown option: %s"
|
||||
msgstr "E355: Opzione inesistente: %s"
|
||||
|
||||
#. There's another character after zeros or the string
|
||||
#. * is empty. In both cases, we are trying to set a
|
||||
#. * num option using a string.
|
||||
#, c-format
|
||||
msgid "E521: Number required: &%s = '%s'"
|
||||
msgstr "E521: Ci vuole un numero: &%s = '%s'"
|
||||
@@ -4443,7 +4418,6 @@ msgstr "non posso modificare modalit
|
||||
msgid "mch_get_shellsize: not a console??\n"
|
||||
msgstr "mch_get_shellsize: non una console??\n"
|
||||
|
||||
#. if Vim opened a window: Executing a shell may cause crashes
|
||||
msgid "E360: Cannot execute shell with -f option"
|
||||
msgstr "E360: Non posso eseguire lo shell con l'opzione -f"
|
||||
|
||||
@@ -4667,7 +4641,6 @@ msgstr "E376: %%%c non valido nel prefisso della stringa di 'format'"
|
||||
msgid "E377: Invalid %%%c in format string"
|
||||
msgstr "E377: %%%c non valido nella stringa di 'format'"
|
||||
|
||||
#. nothing found
|
||||
msgid "E378: 'errorformat' contains no pattern"
|
||||
msgstr "E378: 'errorformat' non contiene alcun modello"
|
||||
|
||||
@@ -4693,6 +4666,7 @@ msgstr "(%d di %d)%s%s: "
|
||||
msgid " (line deleted)"
|
||||
msgstr " (riga cancellata)"
|
||||
|
||||
#, c-format
|
||||
msgid "%serror list %d of %d; %d errors "
|
||||
msgstr "%slista errori %d di %d; %d errori"
|
||||
|
||||
@@ -4705,9 +4679,6 @@ msgstr "E381: In cima allo stack di quickfix"
|
||||
msgid "No entries"
|
||||
msgstr "Nessun elemento"
|
||||
|
||||
msgid "E382: Cannot write, 'buftype' option is set"
|
||||
msgstr "E382: Non posso scrivere, l'opzione 'buftype' è impostata"
|
||||
|
||||
msgid "Error file"
|
||||
msgstr "File errori"
|
||||
|
||||
@@ -4732,6 +4703,12 @@ msgstr "E369: elemento non valido in %s%%[]"
|
||||
msgid "E769: Missing ] after %s["
|
||||
msgstr "E769: Manca ] dopo %s["
|
||||
|
||||
msgid "E944: Reverse range in character class"
|
||||
msgstr "E944: Intervallo invertito nella classe di caratteri"
|
||||
|
||||
msgid "E945: Range too large in character class"
|
||||
msgstr "E945: Intervallo troppo ampio nella classe di caratteri"
|
||||
|
||||
#, c-format
|
||||
msgid "E53: Unmatched %s%%("
|
||||
msgstr "E53: Senza riscontro: %s%%("
|
||||
@@ -4758,6 +4735,9 @@ msgstr "E69: Manca ] dopo %s%%["
|
||||
msgid "E70: Empty %s%%[]"
|
||||
msgstr "E70: %s%%[] vuoto"
|
||||
|
||||
msgid "E65: Illegal back reference"
|
||||
msgstr "E65: Riferimento all'indietro non ammesso"
|
||||
|
||||
msgid "E339: Pattern too long"
|
||||
msgstr "E339: Espressione troppo lunga"
|
||||
|
||||
@@ -4794,9 +4774,6 @@ msgstr "E63: uso non valido di \\_"
|
||||
msgid "E64: %s%c follows nothing"
|
||||
msgstr "E64: %s%c senza nulla prima"
|
||||
|
||||
msgid "E65: Illegal back reference"
|
||||
msgstr "E65: Riferimento all'indietro non ammesso"
|
||||
|
||||
msgid "E68: Invalid character after \\z"
|
||||
msgstr "E68: Carattere non ammesso dopo \\z"
|
||||
|
||||
@@ -4848,7 +4825,6 @@ msgstr "E867: (NFA) Operatore sconosciuto '\\z%c'"
|
||||
msgid "E867: (NFA) Unknown operator '\\%%%c'"
|
||||
msgstr "E867: (NFA) Operatore sconosciuto '\\%%%c'"
|
||||
|
||||
#. should never happen
|
||||
msgid "E868: Error building NFA with equivalence class!"
|
||||
msgstr "E868: Errore nel build di NFA con classe di equivalenza!"
|
||||
|
||||
@@ -4859,11 +4835,9 @@ msgstr "E869: (NFA) Operatore sconosciuto '\\@%c'"
|
||||
msgid "E870: (NFA regexp) Error reading repetition limits"
|
||||
msgstr "E870: (NFA regexp) Errore nella lettura dei limiti di ripetizione"
|
||||
|
||||
#. Can't have a multi follow a multi.
|
||||
msgid "E871: (NFA regexp) Can't have a multi follow a multi !"
|
||||
msgstr "E871: (NFA regexp) Non si può avere multi dopo multi !"
|
||||
|
||||
#. Too many `('
|
||||
msgid "E872: (NFA regexp) Too many '('"
|
||||
msgstr "E872: (NFA regexp) Troppi '('"
|
||||
|
||||
@@ -4970,7 +4944,6 @@ msgstr "E386: '?' o '/' atteso dopo ';'"
|
||||
msgid " (includes previously listed match)"
|
||||
msgstr " (comprese corrispondenze elencate prima)"
|
||||
|
||||
#. cursor at status line
|
||||
msgid "--- Included files "
|
||||
msgstr "--- File inclusi "
|
||||
|
||||
@@ -5047,8 +5020,6 @@ msgstr "Spiacente, nessun suggerimento"
|
||||
msgid "Sorry, only %ld suggestions"
|
||||
msgstr "Spiacente, solo %ld suggerimenti"
|
||||
|
||||
#. for when 'cmdheight' > 1
|
||||
#. avoid more prompt
|
||||
#, c-format
|
||||
msgid "Change \"%.*s\" to:"
|
||||
msgstr "Cambiare \"%.*s\" in:"
|
||||
@@ -5330,10 +5301,6 @@ msgstr "%d di %d nodi compressi; ne restano %d (%d%%)"
|
||||
msgid "Reading back spell file..."
|
||||
msgstr "Rilettura file ortografico..."
|
||||
|
||||
#.
|
||||
#. * Go through the trie of good words, soundfold each word and add it to
|
||||
#. * the soundfold trie.
|
||||
#.
|
||||
msgid "Performing soundfolding..."
|
||||
msgstr "Eseguo soundfolding..."
|
||||
|
||||
@@ -5388,19 +5355,17 @@ msgstr "Parola '%.*s' aggiunta a %s"
|
||||
msgid "E763: Word characters differ between spell files"
|
||||
msgstr "E763: Caratteri di parola differenti nei file ortografici"
|
||||
|
||||
#. This should have been checked when generating the .spl
|
||||
#. * file.
|
||||
msgid "E783: duplicate char in MAP entry"
|
||||
msgstr "E783: carattere duplicato nell'elemento MAP"
|
||||
|
||||
msgid "No Syntax items defined for this buffer"
|
||||
msgstr "Nessun elemento sintattico definito per questo buffer"
|
||||
|
||||
msgid "syn conceal on"
|
||||
msgstr "syn conceal attivo"
|
||||
msgid "syntax conceal on"
|
||||
msgstr "syntax conceal attivo"
|
||||
|
||||
msgid "syn conceal off"
|
||||
msgstr "syn conceal inattivo"
|
||||
msgid "syntax conceal off"
|
||||
msgstr "syntax conceal inattivo"
|
||||
|
||||
#, c-format
|
||||
msgid "E390: Illegal argument: %s"
|
||||
@@ -5656,7 +5621,6 @@ msgstr "E428: Non posso andare oltre l'ultimo tag corrispondente"
|
||||
msgid "File \"%s\" does not exist"
|
||||
msgstr "Il file \"%s\" non esiste"
|
||||
|
||||
#. Give an indication of the number of matching tags
|
||||
#, c-format
|
||||
msgid "tag %d of %d%s"
|
||||
msgstr "tag %d di %d%s"
|
||||
@@ -5671,7 +5635,6 @@ msgstr " Uso tag ignorando maiuscole/minuscole!"
|
||||
msgid "E429: File \"%s\" does not exist"
|
||||
msgstr "E429: Il file \"%s\" non esiste"
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
" # TO tag FROM line in file/text"
|
||||
@@ -5702,7 +5665,6 @@ msgstr "Prima del byte %ld"
|
||||
msgid "E432: Tags file not sorted: %s"
|
||||
msgstr "E432: Tag file non ordinato alfabeticamente: %s"
|
||||
|
||||
#. never opened any tags file
|
||||
msgid "E433: No tags file"
|
||||
msgstr "E433: Nessun tag file"
|
||||
|
||||
@@ -5738,7 +5700,6 @@ msgstr "E436: Nessuna descrizione per \"%s\" in 'termcap'"
|
||||
msgid "E437: terminal capability \"cm\" required"
|
||||
msgstr "E437: capacità \"cm\" del terminale necessaria"
|
||||
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
"--- Terminal keys ---"
|
||||
@@ -5749,6 +5710,21 @@ msgstr ""
|
||||
msgid "Cannot open $VIMRUNTIME/rgb.txt"
|
||||
msgstr "Non riesco ad aprire $VIMRUNTIME/rgb.txt"
|
||||
|
||||
msgid "Terminal"
|
||||
msgstr "Terminale"
|
||||
|
||||
msgid "Terminal-finished"
|
||||
msgstr "Terminale-terminato"
|
||||
|
||||
msgid "active"
|
||||
msgstr "attivo"
|
||||
|
||||
msgid "running"
|
||||
msgstr "in esecuzione"
|
||||
|
||||
msgid "finished"
|
||||
msgstr "terminato"
|
||||
|
||||
msgid "new shell started\n"
|
||||
msgstr "fatto eseguire nuovo shell\n"
|
||||
|
||||
@@ -5758,12 +5734,9 @@ msgstr "Vim: Errore leggendo l'input, esco...\n"
|
||||
msgid "Used CUT_BUFFER0 instead of empty selection"
|
||||
msgstr "Uso CUT_BUFFER0 invece che una scelta nulla"
|
||||
|
||||
#. This happens when the FileChangedRO autocommand changes the
|
||||
#. * file in a way it becomes shorter.
|
||||
msgid "E881: Line count changed unexpectedly"
|
||||
msgstr "E881: Contatore righe è inaspettatamente cambiato"
|
||||
|
||||
#. must display the prompt
|
||||
msgid "No undo possible; continue anyway"
|
||||
msgstr "'undo' non più possibile; continuo comunque"
|
||||
|
||||
@@ -5953,6 +5926,7 @@ msgstr "E699: Troppi argomenti"
|
||||
msgid "E117: Unknown function: %s"
|
||||
msgstr "E117: Funzione sconosciuta: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E933: Function was deleted: %s"
|
||||
msgstr "E933: Funzione eliminata: %s"
|
||||
|
||||
@@ -5992,11 +5966,15 @@ msgstr "E862: Non si pu
|
||||
|
||||
#, c-format
|
||||
msgid "E932: Closure function should not be at top level: %s"
|
||||
msgstr "E932: La funzione di chiusura non novrebbe essere al livello più alto: %s"
|
||||
msgstr ""
|
||||
"E932: La funzione di chiusura non novrebbe essere al livello più alto: %s"
|
||||
|
||||
msgid "E126: Missing :endfunction"
|
||||
msgstr "E126: Manca :endfunction"
|
||||
|
||||
msgid "W22: Text found after :endfunction: %s"
|
||||
msgstr "W22: Trovato testo dopo :endfunction: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E707: Function name conflicts with variable: %s"
|
||||
msgstr "E707: Nome funzione in conflitto con la variabile: %s"
|
||||
@@ -6336,6 +6314,7 @@ msgstr "E446: Nessun nome file sotto il cursore"
|
||||
msgid "E447: Can't find file \"%s\" in path"
|
||||
msgstr "E447: Non riesco a trovare il file \"%s\" nel percorso"
|
||||
|
||||
#, c-format
|
||||
msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)"
|
||||
msgstr "E799: ID non valido: %ld (dev'essere maggiore o uguale a 1)"
|
||||
|
||||
@@ -6346,9 +6325,11 @@ msgstr "E801: ID gi
|
||||
msgid "List or number required"
|
||||
msgstr "È necessaria una Lista o un numero"
|
||||
|
||||
#, c-format
|
||||
msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)"
|
||||
msgstr "E802: ID non valido: %ld (dev'essere maggiore o uguale a 1)"
|
||||
|
||||
#, c-format
|
||||
msgid "E803: ID not found: %ld"
|
||||
msgstr "E803: ID non trovato: %ld"
|
||||
|
||||
@@ -6377,7 +6358,6 @@ msgstr "Differenza con Vim"
|
||||
msgid "Edit with &Vim"
|
||||
msgstr "Apri con &Vim"
|
||||
|
||||
#. Now concatenate
|
||||
msgid "Edit with existing Vim - "
|
||||
msgstr "Apri con Vim esistente - "
|
||||
|
||||
@@ -6398,10 +6378,6 @@ msgstr "Percorso file troppo lungo!"
|
||||
msgid "--No lines in buffer--"
|
||||
msgstr "--File vuoto--"
|
||||
|
||||
#.
|
||||
#. * The error messages that can be shared are included here.
|
||||
#. * Excluded are errors that are only used once and debugging messages.
|
||||
#.
|
||||
msgid "E470: Command aborted"
|
||||
msgstr "E470: Comando finito male"
|
||||
|
||||
@@ -6586,12 +6562,6 @@ msgstr "E484: Non riesco ad aprire il file %s"
|
||||
msgid "E485: Can't read file %s"
|
||||
msgstr "E485: Non riesco a leggere il file %s"
|
||||
|
||||
msgid "E37: No write since last change (add ! to override)"
|
||||
msgstr "E37: Non salvato dopo modifica (aggiungi ! per eseguire comunque)"
|
||||
|
||||
msgid "E37: No write since last change"
|
||||
msgstr "E37: Non salvato dopo l'ultima modifica"
|
||||
|
||||
msgid "E38: Null argument"
|
||||
msgstr "E38: Argomento nullo"
|
||||
|
||||
@@ -6878,7 +6848,6 @@ msgstr "il costruttore di lista non accetta parole chiave come argomenti"
|
||||
msgid "list index out of range"
|
||||
msgstr "indice di lista non nell'intervallo"
|
||||
|
||||
#. No more suitable format specifications in python-2.3
|
||||
#, c-format
|
||||
msgid "internal error: failed to get vim list item %d"
|
||||
msgstr "errore interno: non ho potuto ottenere l'elemento di vim list %d"
|
||||
@@ -7045,3 +7014,4 @@ msgstr ""
|
||||
"Impostazione di percorso non riuscita: sys.path non è una Lista\n"
|
||||
"Dovresti aggiungere vim.VIM_SPECIAL_PATH a sys.path"
|
||||
|
||||
|
||||
|
||||
+282
@@ -0,0 +1,282 @@
|
||||
# Latvian Translation for Vim vim:set foldmethod=marker:
|
||||
#
|
||||
# Do ":help uganda" in Vim to read copying and usage conditions.
|
||||
# Do ":help credits" in Vim to see a list of people who contributed.
|
||||
#
|
||||
# FIRST AUTHOR Valdis Vitolins <valdis.vitolins@odo.lv>, 2017.
|
||||
#
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Vim (Latvian)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-03 18:03+0100\n"
|
||||
"PO-Revision-Date: 2017-05-03 18:08+0300\n"
|
||||
"Last-Translator: Valdis Vītoliņš <valdis.vitolins@odo.lv>\n"
|
||||
"Language-Team: Bram Moolenaar <Bram@vim.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: lv\n"
|
||||
"X-Generator: Poedit 1.8.7.1\n"
|
||||
|
||||
#, c-format
|
||||
msgid "E96: Can not diff more than %ld buffers"
|
||||
msgstr "E96: Nevar salīdzināt vairāk kā %ld buferus"
|
||||
|
||||
msgid "E101: More than two buffers in diff mode, don't know which one to use"
|
||||
msgstr "E101: Vairāk par vienu buferi diff režīmā, nav skaidrs, kuru izmantot"
|
||||
|
||||
#, c-format
|
||||
msgid "E102: Can't find buffer \"%s\""
|
||||
msgstr "E102: Nevar atrast buferi \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E738: Can't list variables for %s"
|
||||
msgstr "E738: Nevar parādīt %s mainīgos"
|
||||
|
||||
#, c-format
|
||||
msgid "E138: Can't write viminfo file %s!"
|
||||
msgstr "E138: Nevar ierakstīt viminfo failu %s!"
|
||||
|
||||
msgid ""
|
||||
"# You may edit it if you're careful!\n"
|
||||
"\n"
|
||||
msgstr ""
|
||||
"# Ja rediģējat, esiet uzmanīgs!\n"
|
||||
"\n"
|
||||
|
||||
msgid "E146: Regular expressions can't be delimited by letters"
|
||||
msgstr "E146: Regulārās izteiksmes nedrīkst atdalīt ar burtiem"
|
||||
|
||||
msgid "E493: Backwards range given"
|
||||
msgstr "E493: Uzdots pretējs diapazons"
|
||||
|
||||
msgid "Backwards range given, OK to swap"
|
||||
msgstr "Diapazons pretējā secībā, OK lai apvērstu"
|
||||
|
||||
#, c-format
|
||||
msgid "E185: Cannot find color scheme %s"
|
||||
msgstr "E185: Nevar atrast krāsu shēmu %s"
|
||||
|
||||
msgid "Can't find temp file for conversion"
|
||||
msgstr "Nevar atrast konvertējamo īslaicīgo failu"
|
||||
|
||||
msgid "can't read output of 'charconvert'"
|
||||
msgstr "nevar nolasīt 'charconvert' izeju"
|
||||
|
||||
msgid "E506: Can't write to backup file (add ! to override)"
|
||||
msgstr "E506: Nevar ierakstīt rezerves failu (pievienojiet ! lai pārlabotu)"
|
||||
|
||||
msgid "E508: Can't read file for backup (add ! to override)"
|
||||
msgstr "E508: Nevar nolasīt rezerves failu (pievienojiet ! lai pārlabotu)"
|
||||
|
||||
msgid "E510: Can't make backup file (add ! to override)"
|
||||
msgstr "E510: Nevar izveidot rezerves failu (pievienojiet ! lai pārlabotu)"
|
||||
|
||||
msgid "E214: Can't find temp file for writing"
|
||||
msgstr "E214: Nevar atvērt īslaicīgo failu rakstīšanai"
|
||||
|
||||
msgid "E166: Can't open linked file for writing"
|
||||
msgstr "E166: Nevar atvērt rakstīšanai saistīto failu"
|
||||
|
||||
msgid "E212: Can't open file for writing"
|
||||
msgstr "E212: Nevar atvērt failu rakstīšanai"
|
||||
|
||||
msgid "E205: Patchmode: can't save original file"
|
||||
msgstr "E205: Patchmode: nevar saglabāt oriģinālo failu"
|
||||
|
||||
msgid "E206: patchmode: can't touch empty original file"
|
||||
msgstr "E206: patchmode: nevar izveidot jaunu oriģinālo failu"
|
||||
|
||||
msgid "E207: Can't delete backup file"
|
||||
msgstr "E207: nevar izdzēst kopijas failu"
|
||||
|
||||
msgid "don't quit the editor until the file is successfully written!"
|
||||
msgstr "neizejiet no redaktora pirms fails nav veiksmīgi saglabāts!"
|
||||
|
||||
msgid "E217: Can't execute autocommands for ALL events"
|
||||
msgstr "E217: Nevar izpildīt autokomandu VISIEM notikumiem"
|
||||
|
||||
#, c-format
|
||||
msgid "E482: Can't create file %s"
|
||||
msgstr "E482: Nevar izveidot failu %s"
|
||||
|
||||
msgid "E483: Can't get temp file name"
|
||||
msgstr "E483: Nevar iegūt īslaicīgā faila nosaukumu"
|
||||
|
||||
#, c-format
|
||||
msgid "E484: Can't open file %s"
|
||||
msgstr "E484: Nevar atvērt failu %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E485: Can't read file %s"
|
||||
msgstr "E485: Nevar nolasīt failu %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E40: Can't open errorfile %s"
|
||||
msgstr "E40: Nevar atvērt kļūdu failu %s"
|
||||
|
||||
msgid "E255: Couldn't read in sign data!"
|
||||
msgstr "E255: Nevar nolasīt zīmes datus!"
|
||||
|
||||
#, c-format
|
||||
msgid "E254: Cannot allocate color %s"
|
||||
msgstr "E254: Nevar izdalīt krāsu %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E616: vim_SelFile: can't get font %s"
|
||||
msgstr "E616: vim_SelFile: nevar iegūt fontu %s"
|
||||
|
||||
msgid "E614: vim_SelFile: can't return to current directory"
|
||||
msgstr "E614: vim_SelFile: nevar atgriezties uz tekošo mapi"
|
||||
|
||||
msgid "E615: vim_SelFile: can't get current directory"
|
||||
msgstr "E615: vim_SelFile: nevar iegūt tekošo mapi"
|
||||
|
||||
msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect"
|
||||
msgstr "Vim E458: Nevar izveidot krāsu karti, iespējams, ir kāda nepareiza krāsa"
|
||||
|
||||
#, c-format
|
||||
msgid "E624: Can't open file \"%s\""
|
||||
msgstr "E624: Nevar atvērt failu \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E457: Can't read PostScript resource file \"%s\""
|
||||
msgstr "E457: Nevar nolasīt PostScript resursu failu \"%s\""
|
||||
|
||||
msgid "E324: Can't open PostScript output file"
|
||||
msgstr "E324: Nevar atvērt PostScript izejas failu"
|
||||
|
||||
#, c-format
|
||||
msgid "E456: Can't open file \"%s\""
|
||||
msgstr "E456: Nevar atrast failu \"%s\""
|
||||
|
||||
msgid "E456: Can't find PostScript resource file \"prolog.ps\""
|
||||
msgstr "E456: Nevar atrast PostScript resursu failu \"prolog.ps\""
|
||||
|
||||
msgid "E456: Can't find PostScript resource file \"cidfont.ps\""
|
||||
msgstr "E456: Nevar atrast PostScript resursu failu \"cidfont.ps\""
|
||||
|
||||
#, c-format
|
||||
msgid "E456: Can't find PostScript resource file \"%s.ps\""
|
||||
msgstr "E456: Nevar atrast PostScript resursu failu \"%s.ps\""
|
||||
|
||||
msgid "couldn't open buffer"
|
||||
msgstr "nevar atvērt buferi"
|
||||
|
||||
msgid "can't delete OutputObject attributes"
|
||||
msgstr "nevar izdzēst OutputObject vērtības"
|
||||
|
||||
msgid "--literal\t\tDon't expand wildcards"
|
||||
msgstr "--literal\t\tNeizvērst aizstājējzīmes"
|
||||
|
||||
msgid "-f or --nofork\tForeground: Don't fork when starting GUI"
|
||||
msgstr "-f jeb --nofork\tPriekšplānā: startējot GUI, neveidot jaunu pavedienu"
|
||||
|
||||
msgid "-f\t\t\tDon't use newcli to open window"
|
||||
msgstr "-f\t\t\tAtverot logu, neveidot jaunu klientu"
|
||||
|
||||
msgid "--noplugin\t\tDon't load plugin scripts"
|
||||
msgstr "--noplugin\t\tNeielādēt spraudņu skriptus"
|
||||
|
||||
msgid "--remote-silent <files> Same, don't complain if there is no server"
|
||||
msgstr "--remote-silent <files> Līdzīgi, nebrīdināt, ja nav servera"
|
||||
|
||||
msgid "--remote-wait-silent <files> Same, don't complain if there is no server"
|
||||
msgstr "--remote-wait-silent <files> Līdzīgi, nebrīdināt, ja nav servera"
|
||||
|
||||
msgid "-background <color>\tUse <color> for the background (also: -bg)"
|
||||
msgstr "-background <krāsa>\tLietot <krāsa> kā fonu (arī: -bg)"
|
||||
|
||||
msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
|
||||
msgstr "-foreground <krāsa>\tLietot <krāsa> normālam tekstam (arī: -fg)"
|
||||
|
||||
msgid "+reverse\t\tDon't use reverse video (also: +rv)"
|
||||
msgstr "+reverse\t\tNelietot reversu video (arī: +rv)"
|
||||
|
||||
msgid "E288: input method doesn't support any style"
|
||||
msgstr "E288: ievades veids neatbalsta nevienu stilu"
|
||||
|
||||
msgid "E289: input method doesn't support my preedit type"
|
||||
msgstr "E289: ievades veids neatbalsta šādu preedit veidu"
|
||||
|
||||
msgid "E298: Didn't get block nr 0?"
|
||||
msgstr "E298: Neizdevās iegūt bloku nr 0?"
|
||||
|
||||
msgid "E298: Didn't get block nr 1?"
|
||||
msgstr "E298: Neizdevās iegūt blok nr 1?"
|
||||
|
||||
msgid "E298: Didn't get block nr 2?"
|
||||
msgstr "E298: Neizdevās iegūt bloku nr 2?"
|
||||
|
||||
msgid "E304: ml_upd_block0(): Didn't get block 0??"
|
||||
msgstr "E304: ml_upd_block0(): Neizdevās iegūt bloku 0??"
|
||||
|
||||
msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>"
|
||||
msgstr "Messages maintainer: Valdis Vitolins <valdis.vitolins@odo.lv>"
|
||||
|
||||
msgid "Keys don't match!"
|
||||
msgstr "Atslēgas neatbilst!"
|
||||
|
||||
#, c-format
|
||||
msgid "E344: Can't find directory \"%s\" in cdpath"
|
||||
msgstr "E344: cdpath nevar atrast mapi \"%s\""
|
||||
|
||||
#, c-format
|
||||
msgid "E345: Can't find file \"%s\" in path"
|
||||
msgstr "E345: ceļā nevar atrast failu \"%s\""
|
||||
|
||||
msgid "E597: can't select fontset"
|
||||
msgstr "E597: nevar izvēlēties fontu kopu"
|
||||
|
||||
msgid "E533: can't select wide font"
|
||||
msgstr "E533: nevar izvēlēties plato fontu"
|
||||
|
||||
msgid "VIM: Can't open window!\n"
|
||||
msgstr "VIM: Nevar atvērt logu!\n"
|
||||
|
||||
msgid "E388: Couldn't find definition"
|
||||
msgstr "E388: neatradu definīciju"
|
||||
|
||||
msgid "E389: Couldn't find pattern"
|
||||
msgstr "E389: neatradu šablonu"
|
||||
|
||||
#, c-format
|
||||
msgid "Unrecognized or duplicate item in %s line %d: %s"
|
||||
msgstr "Neatpazīts vai dublēts vienums %s rindā %d: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "Unrecognized flags in %s line %d: %s"
|
||||
msgstr "Neatpazīti karodziņi %s rindā %d: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E781: .sug file doesn't match .spl file: %s"
|
||||
msgstr "E781: .sug fails neatbilst .spl failam: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E394: Didn't find region item for %s"
|
||||
msgstr "E394: Neatradu vienuma %s reģionu"
|
||||
|
||||
msgid "E419: FG color unknown"
|
||||
msgstr "E419: Nezināma priekšplāna krāsa"
|
||||
|
||||
msgid "E420: BG color unknown"
|
||||
msgstr "E420: Nezināma fona krāsa"
|
||||
|
||||
#, c-format
|
||||
msgid "E421: Color name or number not recognized: %s"
|
||||
msgstr "E421: Nezināms krāsas %s nosaukums vai numurs"
|
||||
|
||||
msgid "E434: Can't find tag pattern"
|
||||
msgstr "E434: Neatradu tagu paraugu"
|
||||
|
||||
msgid "E435: Couldn't find tag, just guessing!"
|
||||
msgstr "E435: Neatradu tagu, mēģinu uzminēt!"
|
||||
|
||||
msgid "E442: Can't split topleft and botright at the same time"
|
||||
msgstr "E442: Nevar sadalīt kreiso augšu un labo apakšu vienlaicīgi"
|
||||
|
||||
#, c-format
|
||||
msgid "E447: Can't find file \"%s\" in path"
|
||||
msgstr "E447: Failu \"%s\" ceļā nevar atrast"
|
||||
+2659
-1880
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user