mirror of
https://github.com/zoriya/vim.git
synced 2025-12-28 01:48:19 +00:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
03531f79c3 | ||
|
|
3c53160348 | ||
|
|
66b4bf8980 | ||
|
|
bf55e1442d | ||
|
|
67b3f99eb0 | ||
|
|
a3e7b1f42b | ||
|
|
2a8caa414e | ||
|
|
37dd018cdd | ||
|
|
27d9eceb66 | ||
|
|
22e193ddd5 | ||
|
|
2d0860d06c | ||
|
|
dba01a0197 | ||
|
|
16a6165bb3 | ||
|
|
0536570fa2 | ||
|
|
2d73ff4500 |
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.3. Last change: 2010 Oct 18
|
||||
*eval.txt* For Vim version 7.3. Last change: 2010 Oct 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -4009,7 +4009,7 @@ maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
"lhs" The {lhs} of the mapping.
|
||||
"rhs" The {rhs} of the mapping as typed.
|
||||
"silent" 1 for a |:map-silent| mapping, else 0.
|
||||
"noremap" 1 if the {rhs} of the mapping is remappable.
|
||||
"noremap" 1 if the {rhs} of the mapping is not remappable.
|
||||
"expr" 1 for an expression mapping (|:map-<expr>|).
|
||||
"buffer" 1 for a buffer local mapping (|:map-local|).
|
||||
"mode" Modes for which the mapping is defined. In
|
||||
@@ -4018,8 +4018,8 @@ maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
|
||||
" " Normal, Visual and Operator-pending
|
||||
"!" Insert and Commandline mode
|
||||
(|mapmpde-ic|)
|
||||
"sid" the Script local ID, used for <sid> mappings
|
||||
(|<SID>|)
|
||||
"sid" The script local ID, used for <sid> mappings
|
||||
(|<SID>|).
|
||||
|
||||
The mappings local to the current buffer are checked first,
|
||||
then the global mappings.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_ruby.txt* For Vim version 7.3. Last change: 2010 Jul 20
|
||||
*if_ruby.txt* For Vim version 7.3. Last change: 2010 Oct 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Shugo Maeda
|
||||
@@ -40,6 +40,9 @@ downloading Ruby there.
|
||||
wasn't compiled in. To avoid errors, see
|
||||
|script-here|.
|
||||
|
||||
Command to try it out: >
|
||||
:ruby print "Hello" # this is a comment
|
||||
|
||||
Example Vim script: >
|
||||
|
||||
function! RedGem()
|
||||
@@ -187,12 +190,12 @@ $curbuf The current buffer object.
|
||||
==============================================================================
|
||||
6. Dynamic loading *ruby-dynamic*
|
||||
|
||||
On MS-Windows the Ruby library can be loaded dynamically. The |:version|
|
||||
output then includes |+ruby/dyn|.
|
||||
On MS-Windows and Unix the Ruby library can be loaded dynamically. The
|
||||
|:version| output then includes |+ruby/dyn|.
|
||||
|
||||
This means that Vim will search for the Ruby DLL file only when needed. When
|
||||
you don't use the Ruby interface you don't need it, thus you can use Vim
|
||||
without this DLL file.
|
||||
This means that Vim will search for the Ruby DLL file or shared library only
|
||||
when needed. When you don't use the Ruby interface you don't need it, thus
|
||||
you can use Vim even though this library file is not on your system.
|
||||
|
||||
You need to install the right version of Ruby for this to work. You can find
|
||||
the package to download from:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 7.3. Last change: 2010 Sep 29
|
||||
*insert.txt* For Vim version 7.3. Last change: 2010 Oct 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -382,6 +382,10 @@ mappings it's often better to use <Esc> (first put an "x" in the text, <Esc>
|
||||
will then always put the cursor on it). Or use CTRL-\ CTRL-O, but then
|
||||
beware of the cursor possibly being beyond the end of the line.
|
||||
|
||||
The CTRL-O command takes you to Normal mode. If you then use a command enter
|
||||
Insert mode again it doesn't nest. Thus when typing "a<C-O>a" and then <Esc>
|
||||
takes you back to Normal mode, you do not need to type <Esc> twice.
|
||||
|
||||
The shifted cursor keys are not available on all terminals.
|
||||
|
||||
Another side effect is that a count specified before the "i" or "a" command is
|
||||
@@ -1043,7 +1047,8 @@ be relatively short. The "info" item can be longer, it will be displayed in
|
||||
the preview window when "preview" appears in 'completeopt'. The "info" item
|
||||
will also remain displayed after the popup menu has been removed. This is
|
||||
useful for function arguments. Use a single space for "info" to remove
|
||||
existing text in the preview window.
|
||||
existing text in the preview window. The size of the preview window is three
|
||||
lines, but 'previewheight' is used when it has a value of 1 or 2.
|
||||
|
||||
The "kind" item uses a single letter to indicate the kind of completion. This
|
||||
may be used to show the completion differently (different color or icon).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.3. Last change: 2010 Oct 20
|
||||
*options.txt* For Vim version 7.3. Last change: 2010 Oct 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -3089,6 +3089,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Specifies for which type of commands folds will be opened, if the
|
||||
command moves the cursor into a closed fold. It is a comma separated
|
||||
list of items.
|
||||
NOTE: When the command is part of a mapping this option is not used.
|
||||
Add the |zv| command to the mapping to get the same effect.
|
||||
(rationale: the mapping may want to control opening folds itself)
|
||||
|
||||
item commands ~
|
||||
all any
|
||||
block "(", "{", "[[", "[{", etc.
|
||||
@@ -3103,8 +3107,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Also for |[s| and |]s|.
|
||||
tag jumping to a tag: ":ta", CTRL-T, etc.
|
||||
undo undo or redo: "u" and CTRL-R
|
||||
When the command is part of a mapping this option is not used. Add
|
||||
the |zv| command to the mapping to get the same effect.
|
||||
When a movement command is used for an operator (e.g., "dl" or "y%")
|
||||
this option is not used. This means the operator will include the
|
||||
whole closed fold.
|
||||
|
||||
@@ -8086,6 +8086,7 @@ v:val eval.txt /*v:val*
|
||||
v:var eval.txt /*v:var*
|
||||
v:version eval.txt /*v:version*
|
||||
v:warningmsg eval.txt /*v:warningmsg*
|
||||
v:windowid eval.txt /*v:windowid*
|
||||
v_! change.txt /*v_!*
|
||||
v_$ visual.txt /*v_$*
|
||||
v_: cmdline.txt /*v_:*
|
||||
@@ -8360,6 +8361,7 @@ window-size term.txt /*window-size*
|
||||
window-size-functions usr_41.txt /*window-size-functions*
|
||||
window-tag windows.txt /*window-tag*
|
||||
window-variable eval.txt /*window-variable*
|
||||
windowid-variable eval.txt /*windowid-variable*
|
||||
windows windows.txt /*windows*
|
||||
windows-3.1 os_win32.txt /*windows-3.1*
|
||||
windows-intro windows.txt /*windows-intro*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.3. Last change: 2010 Oct 20
|
||||
*todo.txt* For Vim version 7.3. Last change: 2010 Oct 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -30,6 +30,8 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Segfault with command line abbreviation. (Randy Morris, 2010 Oct 25)
|
||||
|
||||
'cursorline' is displayed too short when there are concealed characters and
|
||||
'list' is set, 'listchars' at default value. (Dennis Preiser, 2010 Aug 15)
|
||||
|
||||
@@ -45,16 +47,8 @@ Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
|
||||
This line hangs Vim, because of syntax HL:
|
||||
call append(line, "INFO ....12....18....24....30....36....42....48....54....60....66....72....78%$")
|
||||
|
||||
Patch to add v:windowid. (Christian J. Robinson, 2010 Oct 13, update by Lech
|
||||
Lorens, Oct 14)
|
||||
|
||||
maparg() doesn't return the flags, such as <buffer>, <script>, <silent>.
|
||||
These are needed to save and restore a mapping.
|
||||
Also: the rhs string is not always correct. (Hari Krishna Dara, 2009 Sept 29)
|
||||
Patch by Christian Brabandt, 2010 Sep 17.
|
||||
|
||||
Building the MingW version without clipboard but with multi-byte doesn't
|
||||
build. (Bill Lam, 2010 Sep 18)
|
||||
work. (Bill Lam, 2010 Sep 18)
|
||||
|
||||
Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
|
||||
|
||||
@@ -62,17 +56,12 @@ Using ":break" or something else that stops executing commands inside a
|
||||
":finally" does not rethrow a previously uncaught exception. (ZyX, 2010 Oct
|
||||
15)
|
||||
|
||||
Patch to fix warning for accessing mediumVersion. (Dominique Pelle, 2010 Aug
|
||||
18)
|
||||
|
||||
Patch for 2html to support 'fileencoding'. (Benjamin Fritz, 2010 Sep 10)
|
||||
|
||||
Patch to use 'previewheight' for popup menu. (Benjamin Haskell, 2010 Sep 29)
|
||||
Beta testing finished now?
|
||||
|
||||
Three patches for undo persistence. (Christian Brabandt, 2010 Sep 4)
|
||||
|
||||
ml_get error for using :copen in a custom complete function. (Xavier
|
||||
Deguillard, 2010 Oct 19) Other way to reproduce it by Lech Lorens, Oct 20.
|
||||
Patch to adjust mzscheme to support racket. (Sergey Khorev, 2010 Oct 24)
|
||||
|
||||
string() can't parse back "inf" and "nan". Fix documentation or fix code?
|
||||
(ZyX, 2010 Aug 23)
|
||||
@@ -80,8 +69,14 @@ string() can't parse back "inf" and "nan". Fix documentation or fix code?
|
||||
Patch to use "--as-needed" instead of the link.sh functionality. (Kirill A.
|
||||
Shutemov, 2010 Aug 25)
|
||||
|
||||
ml_get error for using :copen in a custom complete function. (Xavier
|
||||
Deguillard, 2010 Oct 19) Other way to reproduce it by Lech Lorens, Oct 20.
|
||||
Patch from Lech: Oct 20. More problems from Lech, Oct 21.
|
||||
|
||||
Patch to fix complete(). (Kikuchan, 2010 Oct 15)
|
||||
|
||||
maparg() does not show the <script> flag. How to restore the script ID?
|
||||
|
||||
Ruby: Patch to load Gem module. Why is this needed? (Yasuhiro Matsumoto, 2010
|
||||
Oct 6)
|
||||
|
||||
@@ -102,8 +97,11 @@ it: Pablo Contreras, 2010 Oct 12 Windows XP and 7. Font is never freed?
|
||||
GTK: drawing a double-width combining character over single-width characters
|
||||
doesn't look right. (Dominique Pelle, 2010 Aug 8)
|
||||
|
||||
GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)
|
||||
|
||||
Using ":call" inside "if 0" does not see that a function returns a Dict and
|
||||
gives error for "." as string concatenation. (Yasuhiro Matsumoto, 2010 Oct 20)
|
||||
Patch: Oct 20.
|
||||
|
||||
Copy/paste between Vim and Google chrome doesn't work well for multi-byte
|
||||
characters. (Ben Haskell, 2010 Sep 17)
|
||||
@@ -128,13 +126,23 @@ Included, but also need a change to configure.
|
||||
|
||||
setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
|
||||
|
||||
7 The 'directory' option supports changing path separators to "%" to make
|
||||
file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
|
||||
Patch by Christian Brabandt, 2010 Oct 21.
|
||||
|
||||
getpos()/setpos() don't include curswant. getpos() could return a fifth
|
||||
element. setpos() could accept an optional fifth element.
|
||||
Patch by Christian Brabandt, 2010 Sep 6. Check that new argument is optional
|
||||
and that it's documented.
|
||||
|
||||
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
|
||||
2010 Oct 24)
|
||||
|
||||
Messages in message.txt are highlighted as examples.
|
||||
|
||||
When using cp850 the NBSP (0xff) is not drawn correctly. (Brett Stahlman, 2010
|
||||
Oct 22) 'isprint' is set to "@,161-255".
|
||||
|
||||
Test 73 fails on MS-Windows when compiled with DJGPP and run twice. How to
|
||||
delete the Xfind directory? Add an rmdir() function, just like we have
|
||||
mkdir().
|
||||
@@ -1879,11 +1887,6 @@ Macintosh:
|
||||
works.
|
||||
8 A very long message in confirm() can't be quit. Make this possible with
|
||||
CTRL-C.
|
||||
7 clip_x11_own_selection() uses CurrentTime, that is not allowed. VNC X
|
||||
server has a problem with this. (Mark Waggoner) Remembering the timestamp
|
||||
of events isn't always possible. We don't get them in an xterm. GTK
|
||||
doesn't obtain the selection again when the timestamp differs, thus it
|
||||
won't work for GTK anyway.
|
||||
8 When the clipboard isn't supported: ":yank*" gives a confusing error
|
||||
message. Specifically mention that the register name is invalid.
|
||||
8 "gf" always excludes trailing punctuation characters. file_name_in_line()
|
||||
@@ -4278,8 +4281,6 @@ Writing files:
|
||||
8 'backupskip' doesn't write a backup file at all, a bit dangerous for some
|
||||
applications. Add 'backupelsewhere' to write a backup file in another
|
||||
directory? Or add a flag to 'backupdir'?
|
||||
7 The 'directory' option supports changing path separators to "%" to make
|
||||
file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
|
||||
6 Add an option to write a new, numbered, backup file each time. Like
|
||||
'patchmode', e.g., 'backupmode'.
|
||||
6 Make it possible to write 'patchmode' files to a different directory.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*undo.txt* For Vim version 7.3. Last change: 2010 Sep 30
|
||||
*undo.txt* For Vim version 7.3. Last change: 2010 Oct 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -239,7 +239,9 @@ Vim saves undo trees in a separate undo file, one for each edited file, using
|
||||
a simple scheme that maps filesystem paths directly to undo files. Vim will
|
||||
detect if an undo file is no longer synchronized with the file it was written
|
||||
for (with a hash of the file contents) and ignore it when the file was changed
|
||||
after the undo file was written, to prevent corruption.
|
||||
after the undo file was written, to prevent corruption. An undo file is also
|
||||
ignored if its owner differs from the owner of the edited file. Set 'verbose'
|
||||
to get a message about that.
|
||||
|
||||
Undo files are normally saved in the same directory as the file. This can be
|
||||
changed with the 'undodir' option.
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2010 May 06
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/syntax/debchangelog.vim
|
||||
" Last Change: 2010 Oct 21
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
if version < 600
|
||||
@@ -19,7 +19,7 @@ syn case ignore
|
||||
" Define some common expressions we can use later on
|
||||
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
|
||||
syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(etch|lenny)-%(backports|volatile)|%(dapper|hardy|jaunty|karmic|lucid|maverick)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(lenny|squeeze)-%(backports%(-sloppy)=|volatile)|%(dapper|hardy|jaunty|karmic|lucid|maverick|natty)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogVersion contained "(.\{-})"
|
||||
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
|
||||
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2009 Aug 17
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/syntax/debcontrol.vim
|
||||
" Last Change: 2010 Oct 21
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
if version < 600
|
||||
@@ -27,7 +27,7 @@ syn match debControlSpace " "
|
||||
syn match debcontrolArchitecture contained "\%(all\|any\|alpha\|amd64\|arm\%(e[bl]\)\=\|avr32\|hppa\|i386\|ia64\|lpia\|m32r\|m68k\|mips\%(el\)\=\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc\%(64\)\=\|hurd-i386\|kfreebsd-\%(i386\|amd64\|gnu\)\|knetbsd-i386\|kopensolaris-i386\|netbsd-\%(alpha\|i386\)\)"
|
||||
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
|
||||
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
|
||||
syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
|
||||
syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
|
||||
syn match debcontrolPackageType contained "u\?deb"
|
||||
syn match debcontrolVariable contained "\${.\{-}}"
|
||||
syn match debcontrolDmUpload contained "\cyes"
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
" Language: Debian sources.list
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||
" Last Change: 2010 May 06
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/tip/runtime/syntax/debsources.vim
|
||||
" Last Change: 2010 Oct 21
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
if version < 600
|
||||
@@ -23,7 +23,7 @@ syn match debsourcesComment /#.*/ contains=@Spell
|
||||
|
||||
" Match uri's
|
||||
syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
|
||||
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(etch\|lenny\|squeeze\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|dapper\|hardy\|jaunty\|karmic\|lucid\|maverick\)\([-[:alnum:]_./]*\)+
|
||||
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(lenny\|squeeze\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|dapper\|hardy\|jaunty\|karmic\|lucid\|maverick\|natty\)\([-[:alnum:]_./]*\)+
|
||||
|
||||
" Associate our matches and regions with pretty colours
|
||||
hi def link debsourcesLine Error
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# Makefile for VIM on Win32, using Cygnus gcc
|
||||
# Last updated by Dan Sharp. Last Change: 2010 Feb 24
|
||||
# Last updated by Dan Sharp. Last Change: 2010 Nov 03
|
||||
#
|
||||
# Also read INSTALLpc.txt!
|
||||
#
|
||||
@@ -27,6 +27,7 @@
|
||||
# MZSCHEME_VER define to version of MzScheme being used (209_000)
|
||||
# DYNAMIC_MZSCHEME no or yes: use yes to load the MzScheme DLLs dynamically (yes)
|
||||
# MZSCHEME_DLLS path to MzScheme DLLs (libmzgc and libmzsch), for "static" build.
|
||||
# MZSCHEME_USE_RACKET define to use "racket" instead of "mzsch".
|
||||
# LUA define to path to Lua dir to get Lua support (not defined)
|
||||
# LUA_VER define to version of Lua being used (51)
|
||||
# DYNAMIC_LUA no or yes: use yes to load the Lua DLL dynamically (yes)
|
||||
@@ -254,16 +255,22 @@ ifndef MZSCHEME_GENERATE_BASE
|
||||
MZSCHEME_GENERATE_BASE=no
|
||||
endif
|
||||
|
||||
ifndef MZSCHEME_USE_RACKET
|
||||
MZSCHEME_MAIN_LIB=mzsch
|
||||
else
|
||||
MZSCHEME_MAIN_LIB=racket
|
||||
endif
|
||||
|
||||
ifeq (yes, $(DYNAMIC_MZSCHEME))
|
||||
DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
|
||||
DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
|
||||
else
|
||||
ifndef MZSCHEME_DLLS
|
||||
MZSCHEME_DLLS = $(MZSCHEME)
|
||||
endif
|
||||
ifeq (yes,$(MZSCHEME_PRECISE_GC))
|
||||
MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER)
|
||||
MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
|
||||
else
|
||||
MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
|
||||
MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
|
||||
endif
|
||||
EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB)
|
||||
endif
|
||||
|
||||
@@ -141,11 +141,17 @@ ifndef MZSCHEME_GENERATE_BASE
|
||||
MZSCHEME_GENERATE_BASE=no
|
||||
endif
|
||||
|
||||
ifndef MZSCHEME_USE_RACKET
|
||||
MZSCHEME_MAIN_LIB=mzsch
|
||||
else
|
||||
MZSCHEME_MAIN_LIB=racket
|
||||
endif
|
||||
|
||||
ifeq (no,$(DYNAMIC_MZSCHEME))
|
||||
ifeq (yes,$(MZSCHEME_PRECISE_GC))
|
||||
MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER)
|
||||
MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
|
||||
else
|
||||
MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
|
||||
MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
|
||||
endif
|
||||
# the modern MinGW can dynamically link to dlls directly.
|
||||
# point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll
|
||||
@@ -343,7 +349,7 @@ endif
|
||||
ifdef MZSCHEME
|
||||
CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\"
|
||||
ifeq (yes, $(DYNAMIC_MZSCHEME))
|
||||
CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
|
||||
CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
@@ -705,12 +705,18 @@ PYTHON3_LIB = $(PYTHON3)\libs\python$(PYTHON3_VER).lib
|
||||
MZSCHEME_VER = 205_000
|
||||
!endif
|
||||
CFLAGS = $(CFLAGS) -DFEAT_MZSCHEME -I $(MZSCHEME)\include
|
||||
!if EXIST("$(MZSCHEME)\collects\scheme\base.ss")
|
||||
# for MzScheme 4.x we need to include byte code for basic Scheme stuff
|
||||
!if EXIST("$(MZSCHEME)\collects\scheme\base.ss") \
|
||||
|| EXIST("$(MZSCHEME)\collects\scheme\base.rkt")
|
||||
# for MzScheme >= 4 we need to include byte code for basic Scheme stuff
|
||||
MZSCHEME_EXTRA_DEP = mzscheme_base.c
|
||||
CFLAGS = $(CFLAGS) -DINCLUDE_MZSCHEME_BASE
|
||||
!endif
|
||||
!if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib") \
|
||||
!if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib")
|
||||
MZSCHEME_MAIN_LIB=mzsch
|
||||
!else
|
||||
MZSCHEME_MAIN_LIB=racket
|
||||
!endif
|
||||
!if EXIST("$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib") \
|
||||
&& !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib")
|
||||
!message Building with Precise GC
|
||||
MZSCHEME_PRECISE_GC = yes
|
||||
@@ -722,7 +728,7 @@ CFLAGS = $(CFLAGS) -DMZ_PRECISE_GC
|
||||
!endif
|
||||
!message MzScheme DLLs will be loaded dynamically
|
||||
CFLAGS = $(CFLAGS) -DDYNAMIC_MZSCHEME \
|
||||
-DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" \
|
||||
-DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" \
|
||||
-DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
|
||||
!else
|
||||
!if "$(MZSCHEME_DEBUG)" == "yes"
|
||||
@@ -730,10 +736,10 @@ CFLAGS = $(CFLAGS) -DMZSCHEME_FORCE_GC
|
||||
!endif
|
||||
!if "$(MZSCHEME_PRECISE_GC)" == "yes"
|
||||
# Precise GC does not use separate dll
|
||||
MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib
|
||||
MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib
|
||||
!else
|
||||
MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib \
|
||||
$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib
|
||||
$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib
|
||||
!endif
|
||||
!endif
|
||||
MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj
|
||||
|
||||
@@ -1700,7 +1700,8 @@ $(VIMTARGET): auto/config.mk objects $(OBJ) version.c version.h
|
||||
$(CCC) version.c -o objects/version.o
|
||||
@LINK="$(PURIFY) $(SHRPENV) $(CClink) $(ALL_LIB_DIRS) $(LDFLAGS) \
|
||||
-o $(VIMTARGET) $(OBJ) objects/version.o $(ALL_LIBS)" \
|
||||
MAKE="$(MAKE)" sh $(srcdir)/link.sh
|
||||
MAKE="$(MAKE)" LINK_AS_NEEDED=$(LINK_AS_NEEDED) \
|
||||
sh $(srcdir)/link.sh
|
||||
|
||||
xxd/xxd$(EXEEXT): xxd/xxd.c
|
||||
cd xxd; CC="$(CC)" CFLAGS="$(CPPFLAGS) $(CFLAGS)" \
|
||||
|
||||
74
src/auto/configure
vendored
74
src/auto/configure
vendored
@@ -593,6 +593,7 @@ ac_includes_default="\
|
||||
|
||||
ac_subst_vars='LTLIBOBJS
|
||||
LIBOBJS
|
||||
LINK_AS_NEEDED
|
||||
DEPEND_CFLAGS_FILTER
|
||||
MAKEMO
|
||||
MSGFMT
|
||||
@@ -4862,16 +4863,36 @@ $as_echo "yes" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/plt/" >&5
|
||||
$as_echo_n "checking if scheme.h can be found in /usr/include/plt/... " >&6; }
|
||||
if test -f /usr/include/plt/scheme.h; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket" >&5
|
||||
$as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket... " >&6; }
|
||||
if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
SCHEME_INC=/usr/include/plt
|
||||
SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
vi_cv_path_mzscheme_pfx=
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/plt/" >&5
|
||||
$as_echo_n "checking if scheme.h can be found in /usr/include/plt/... " >&6; }
|
||||
if test -f /usr/include/plt/scheme.h; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
SCHEME_INC=/usr/include/plt
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/racket/" >&5
|
||||
$as_echo_n "checking if scheme.h can be found in /usr/include/racket/... " >&6; }
|
||||
if test -f /usr/include/racket/scheme.h; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
SCHEME_INC=/usr/include/racket
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
vi_cv_path_mzscheme_pfx=
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -4883,12 +4904,22 @@ $as_echo "no" >&6; }
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
|
||||
else
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.so"; then
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket3m"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.so"; then
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket -lmzgc"
|
||||
else
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
|
||||
fi
|
||||
@@ -4901,10 +4932,20 @@ $as_echo "no" >&6; }
|
||||
fi
|
||||
if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
|
||||
SCHEME_COLLECTS=lib/plt/
|
||||
else
|
||||
if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then
|
||||
SCHEME_COLLECTS=lib/racket/
|
||||
fi
|
||||
fi
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
|
||||
MZSCHEME_EXTRA="mzscheme_base.c"
|
||||
MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
|
||||
MZSCHEME_EXTRA="mzscheme_base.c"
|
||||
else
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
|
||||
MZSCHEME_EXTRA="mzscheme_base.c"
|
||||
fi
|
||||
fi
|
||||
if test "X$MZSCHEME_EXTRA" != "X" ; then
|
||||
MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
|
||||
MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
|
||||
fi
|
||||
MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
|
||||
@@ -12364,6 +12405,23 @@ $as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking linker --as-needed support" >&5
|
||||
$as_echo_n "checking linker --as-needed support... " >&6; }
|
||||
LINK_AS_NEEDED=
|
||||
# Check if linker supports --as-needed and --no-as-needed options
|
||||
if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then
|
||||
LDFLAGS="$LDFLAGS -Wl,--as-needed"
|
||||
LINK_AS_NEEDED=yes
|
||||
fi
|
||||
if test "$LINK_AS_NEEDED" = yes; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
ac_config_files="$ac_config_files auto/config.mk:config.mk.in"
|
||||
|
||||
cat >confcache <<\_ACEOF
|
||||
|
||||
@@ -30,6 +30,7 @@ TAGPRG = @TAGPRG@
|
||||
CPP = @CPP@
|
||||
CPP_MM = @CPP_MM@
|
||||
DEPEND_CFLAGS_FILTER = @DEPEND_CFLAGS_FILTER@
|
||||
LINK_AS_NEEDED = @LINK_AS_NEEDED@
|
||||
X_CFLAGS = @X_CFLAGS@
|
||||
X_LIBS_DIR = @X_LIBS@
|
||||
X_PRE_LIBS = @X_PRE_LIBS@
|
||||
|
||||
@@ -568,13 +568,27 @@ if test "$enable_mzschemeinterp" = "yes"; then
|
||||
SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_CHECKING(if scheme.h can be found in /usr/include/plt/)
|
||||
if test -f /usr/include/plt/scheme.h; then
|
||||
AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket)
|
||||
if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then
|
||||
AC_MSG_RESULT(yes)
|
||||
SCHEME_INC=/usr/include/plt
|
||||
SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
vi_cv_path_mzscheme_pfx=
|
||||
AC_MSG_CHECKING(if scheme.h can be found in /usr/include/plt/)
|
||||
if test -f /usr/include/plt/scheme.h; then
|
||||
AC_MSG_RESULT(yes)
|
||||
SCHEME_INC=/usr/include/plt
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_CHECKING(if scheme.h can be found in /usr/include/racket/)
|
||||
if test -f /usr/include/racket/scheme.h; then
|
||||
AC_MSG_RESULT(yes)
|
||||
SCHEME_INC=/usr/include/racket
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
vi_cv_path_mzscheme_pfx=
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -586,13 +600,23 @@ if test "$enable_mzschemeinterp" = "yes"; then
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a"; then
|
||||
MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
|
||||
else
|
||||
dnl Using shared objects
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.so"; then
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket3m"
|
||||
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
|
||||
elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.so"; then
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket -lmzgc"
|
||||
else
|
||||
MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
|
||||
fi
|
||||
@@ -607,10 +631,20 @@ if test "$enable_mzschemeinterp" = "yes"; then
|
||||
fi
|
||||
if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
|
||||
SCHEME_COLLECTS=lib/plt/
|
||||
else
|
||||
if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then
|
||||
SCHEME_COLLECTS=lib/racket/
|
||||
fi
|
||||
fi
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
|
||||
dnl need to generate bytecode for MzScheme base
|
||||
MZSCHEME_EXTRA="mzscheme_base.c"
|
||||
else
|
||||
if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
|
||||
MZSCHEME_EXTRA="mzscheme_base.c"
|
||||
fi
|
||||
fi
|
||||
if test "X$MZSCHEME_EXTRA" != "X" ; then
|
||||
dnl need to generate bytecode for MzScheme base
|
||||
MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
|
||||
MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
|
||||
fi
|
||||
@@ -3493,6 +3527,23 @@ if test "$GCC" = yes; then
|
||||
fi
|
||||
AC_SUBST(DEPEND_CFLAGS_FILTER)
|
||||
|
||||
dnl link.sh tries to avoid overlinking in a hackish way.
|
||||
dnl At least GNU ld supports --as-needed which provides the same functionality
|
||||
dnl at linker level. Let's use it.
|
||||
AC_MSG_CHECKING(linker --as-needed support)
|
||||
LINK_AS_NEEDED=
|
||||
# Check if linker supports --as-needed and --no-as-needed options
|
||||
if $CC -Wl,--help 2>/dev/null | grep as-needed > /dev/null; then
|
||||
LDFLAGS="$LDFLAGS -Wl,--as-needed"
|
||||
LINK_AS_NEEDED=yes
|
||||
fi
|
||||
if test "$LINK_AS_NEEDED" = yes; then
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
AC_SUBST(LINK_AS_NEEDED)
|
||||
|
||||
dnl write output files
|
||||
AC_OUTPUT(auto/config.mk:config.mk.in)
|
||||
|
||||
|
||||
49
src/edit.c
49
src/edit.c
@@ -58,6 +58,10 @@ static char *ctrl_x_msgs[] =
|
||||
};
|
||||
|
||||
static char e_hitend[] = N_("Hit end of paragraph");
|
||||
#ifdef FEAT_COMPL_FUNC
|
||||
static char e_complwin[] = N_("E839: Completion function changed window");
|
||||
static char e_compldel[] = N_("E840: Completion function deleted text");
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Structure used to store one match for insert completion.
|
||||
@@ -2658,6 +2662,7 @@ set_completion(startcol, list)
|
||||
if (stop_arrow() == FAIL)
|
||||
return;
|
||||
|
||||
compl_direction = FORWARD;
|
||||
if (startcol > curwin->w_cursor.col)
|
||||
startcol = curwin->w_cursor.col;
|
||||
compl_col = startcol;
|
||||
@@ -3833,6 +3838,8 @@ expand_by_function(type, base)
|
||||
char_u *args[2];
|
||||
char_u *funcname;
|
||||
pos_T pos;
|
||||
win_T *curwin_save;
|
||||
buf_T *curbuf_save;
|
||||
|
||||
funcname = (type == CTRL_X_FUNCTION) ? curbuf->b_p_cfu : curbuf->b_p_ofu;
|
||||
if (*funcname == NUL)
|
||||
@@ -3843,13 +3850,27 @@ expand_by_function(type, base)
|
||||
args[1] = base;
|
||||
|
||||
pos = curwin->w_cursor;
|
||||
curwin_save = curwin;
|
||||
curbuf_save = curbuf;
|
||||
matchlist = call_func_retlist(funcname, 2, args, FALSE);
|
||||
if (curwin_save != curwin || curbuf_save != curbuf)
|
||||
{
|
||||
EMSG(_(e_complwin));
|
||||
goto theend;
|
||||
}
|
||||
curwin->w_cursor = pos; /* restore the cursor position */
|
||||
if (matchlist == NULL)
|
||||
return;
|
||||
check_cursor();
|
||||
if (!equalpos(curwin->w_cursor, pos))
|
||||
{
|
||||
EMSG(_(e_compldel));
|
||||
goto theend;
|
||||
}
|
||||
if (matchlist != NULL)
|
||||
ins_compl_add_list(matchlist);
|
||||
|
||||
ins_compl_add_list(matchlist);
|
||||
list_unref(matchlist);
|
||||
theend:
|
||||
if (matchlist != NULL)
|
||||
list_unref(matchlist);
|
||||
}
|
||||
#endif /* FEAT_COMPL_FUNC */
|
||||
|
||||
@@ -3889,6 +3910,7 @@ ins_compl_add_tv(tv, dir)
|
||||
char_u *word;
|
||||
int icase = FALSE;
|
||||
int adup = FALSE;
|
||||
int aempty = FALSE;
|
||||
char_u *(cptext[CPT_COUNT]);
|
||||
|
||||
if (tv->v_type == VAR_DICT && tv->vval.v_dict != NULL)
|
||||
@@ -3906,13 +3928,15 @@ ins_compl_add_tv(tv, dir)
|
||||
icase = get_dict_number(tv->vval.v_dict, (char_u *)"icase");
|
||||
if (get_dict_string(tv->vval.v_dict, (char_u *)"dup", FALSE) != NULL)
|
||||
adup = get_dict_number(tv->vval.v_dict, (char_u *)"dup");
|
||||
if (get_dict_string(tv->vval.v_dict, (char_u *)"empty", FALSE) != NULL)
|
||||
aempty = get_dict_number(tv->vval.v_dict, (char_u *)"empty");
|
||||
}
|
||||
else
|
||||
{
|
||||
word = get_tv_string_chk(tv);
|
||||
vim_memset(cptext, 0, sizeof(cptext));
|
||||
}
|
||||
if (word == NULL || *word == NUL)
|
||||
if (word == NULL || (!aempty && *word == NUL))
|
||||
return FAIL;
|
||||
return ins_compl_add(word, -1, icase, NULL, cptext, dir, 0, adup);
|
||||
}
|
||||
@@ -4994,6 +5018,8 @@ ins_complete(c)
|
||||
int col;
|
||||
char_u *funcname;
|
||||
pos_T pos;
|
||||
win_T *curwin_save;
|
||||
buf_T *curbuf_save;
|
||||
|
||||
/* Call 'completefunc' or 'omnifunc' and get pattern length as a
|
||||
* string */
|
||||
@@ -5009,8 +5035,21 @@ ins_complete(c)
|
||||
args[0] = (char_u *)"1";
|
||||
args[1] = NULL;
|
||||
pos = curwin->w_cursor;
|
||||
curwin_save = curwin;
|
||||
curbuf_save = curbuf;
|
||||
col = call_func_retnr(funcname, 2, args, FALSE);
|
||||
if (curwin_save != curwin || curbuf_save != curbuf)
|
||||
{
|
||||
EMSG(_(e_complwin));
|
||||
return FAIL;
|
||||
}
|
||||
curwin->w_cursor = pos; /* restore the cursor position */
|
||||
check_cursor();
|
||||
if (!equalpos(curwin->w_cursor, pos))
|
||||
{
|
||||
EMSG(_(e_compldel));
|
||||
return FAIL;
|
||||
}
|
||||
|
||||
if (col < 0)
|
||||
col = curs_col;
|
||||
|
||||
63
src/eval.c
63
src/eval.c
@@ -434,9 +434,9 @@ static listitem_T *listitem_alloc __ARGS((void));
|
||||
static void listitem_free __ARGS((listitem_T *item));
|
||||
static void listitem_remove __ARGS((list_T *l, listitem_T *item));
|
||||
static long list_len __ARGS((list_T *l));
|
||||
static int list_equal __ARGS((list_T *l1, list_T *l2, int ic));
|
||||
static int dict_equal __ARGS((dict_T *d1, dict_T *d2, int ic));
|
||||
static int tv_equal __ARGS((typval_T *tv1, typval_T *tv2, int ic));
|
||||
static int list_equal __ARGS((list_T *l1, list_T *l2, int ic, int recursive));
|
||||
static int dict_equal __ARGS((dict_T *d1, dict_T *d2, int ic, int recursive));
|
||||
static int tv_equal __ARGS((typval_T *tv1, typval_T *tv2, int ic, int recursive));
|
||||
static listitem_T *list_find __ARGS((list_T *l, long n));
|
||||
static long list_find_nr __ARGS((list_T *l, long idx, int *errorp));
|
||||
static long list_idx_of_item __ARGS((list_T *l, listitem_T *item));
|
||||
@@ -4350,7 +4350,8 @@ eval4(arg, rettv, evaluate)
|
||||
else
|
||||
{
|
||||
/* Compare two Lists for being equal or unequal. */
|
||||
n1 = list_equal(rettv->vval.v_list, var2.vval.v_list, ic);
|
||||
n1 = list_equal(rettv->vval.v_list, var2.vval.v_list,
|
||||
ic, FALSE);
|
||||
if (type == TYPE_NEQUAL)
|
||||
n1 = !n1;
|
||||
}
|
||||
@@ -4379,7 +4380,8 @@ eval4(arg, rettv, evaluate)
|
||||
else
|
||||
{
|
||||
/* Compare two Dictionaries for being equal or unequal. */
|
||||
n1 = dict_equal(rettv->vval.v_dict, var2.vval.v_dict, ic);
|
||||
n1 = dict_equal(rettv->vval.v_dict, var2.vval.v_dict,
|
||||
ic, FALSE);
|
||||
if (type == TYPE_NEQUAL)
|
||||
n1 = !n1;
|
||||
}
|
||||
@@ -5914,10 +5916,11 @@ list_len(l)
|
||||
* Return TRUE when two lists have exactly the same values.
|
||||
*/
|
||||
static int
|
||||
list_equal(l1, l2, ic)
|
||||
list_equal(l1, l2, ic, recursive)
|
||||
list_T *l1;
|
||||
list_T *l2;
|
||||
int ic; /* ignore case for strings */
|
||||
int recursive; /* TRUE when used recursively */
|
||||
{
|
||||
listitem_T *item1, *item2;
|
||||
|
||||
@@ -5931,7 +5934,7 @@ list_equal(l1, l2, ic)
|
||||
for (item1 = l1->lv_first, item2 = l2->lv_first;
|
||||
item1 != NULL && item2 != NULL;
|
||||
item1 = item1->li_next, item2 = item2->li_next)
|
||||
if (!tv_equal(&item1->li_tv, &item2->li_tv, ic))
|
||||
if (!tv_equal(&item1->li_tv, &item2->li_tv, ic, recursive))
|
||||
return FALSE;
|
||||
return item1 == NULL && item2 == NULL;
|
||||
}
|
||||
@@ -5953,10 +5956,11 @@ dict_lookup(hi)
|
||||
* Return TRUE when two dictionaries have exactly the same key/values.
|
||||
*/
|
||||
static int
|
||||
dict_equal(d1, d2, ic)
|
||||
dict_equal(d1, d2, ic, recursive)
|
||||
dict_T *d1;
|
||||
dict_T *d2;
|
||||
int ic; /* ignore case for strings */
|
||||
int recursive; /* TRUE when used recursively */
|
||||
{
|
||||
hashitem_T *hi;
|
||||
dictitem_T *item2;
|
||||
@@ -5977,7 +5981,7 @@ dict_equal(d1, d2, ic)
|
||||
item2 = dict_find(d2, hi->hi_key, -1);
|
||||
if (item2 == NULL)
|
||||
return FALSE;
|
||||
if (!tv_equal(&HI2DI(hi)->di_tv, &item2->di_tv, ic))
|
||||
if (!tv_equal(&HI2DI(hi)->di_tv, &item2->di_tv, ic, recursive))
|
||||
return FALSE;
|
||||
--todo;
|
||||
}
|
||||
@@ -5985,41 +5989,54 @@ dict_equal(d1, d2, ic)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static int tv_equal_recurse_limit;
|
||||
|
||||
/*
|
||||
* Return TRUE if "tv1" and "tv2" have the same value.
|
||||
* Compares the items just like "==" would compare them, but strings and
|
||||
* numbers are different. Floats and numbers are also different.
|
||||
*/
|
||||
static int
|
||||
tv_equal(tv1, tv2, ic)
|
||||
tv_equal(tv1, tv2, ic, recursive)
|
||||
typval_T *tv1;
|
||||
typval_T *tv2;
|
||||
int ic; /* ignore case */
|
||||
int ic; /* ignore case */
|
||||
int recursive; /* TRUE when used recursively */
|
||||
{
|
||||
char_u buf1[NUMBUFLEN], buf2[NUMBUFLEN];
|
||||
char_u *s1, *s2;
|
||||
static int recursive = 0; /* cach recursive loops */
|
||||
static int recursive_cnt = 0; /* catch recursive loops */
|
||||
int r;
|
||||
|
||||
if (tv1->v_type != tv2->v_type)
|
||||
return FALSE;
|
||||
|
||||
/* Catch lists and dicts that have an endless loop by limiting
|
||||
* recursiveness to 1000. We guess they are equal then. */
|
||||
if (recursive >= 1000)
|
||||
* recursiveness to a limit. We guess they are equal then.
|
||||
* A fixed limit has the problem of still taking an awful long time.
|
||||
* Reduce the limit every time running into it. That should work fine for
|
||||
* deeply linked structures that are not recursively linked and catch
|
||||
* recursiveness quickly. */
|
||||
if (!recursive)
|
||||
tv_equal_recurse_limit = 1000;
|
||||
if (recursive_cnt >= tv_equal_recurse_limit)
|
||||
{
|
||||
--tv_equal_recurse_limit;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
switch (tv1->v_type)
|
||||
{
|
||||
case VAR_LIST:
|
||||
++recursive;
|
||||
r = list_equal(tv1->vval.v_list, tv2->vval.v_list, ic);
|
||||
--recursive;
|
||||
++recursive_cnt;
|
||||
r = list_equal(tv1->vval.v_list, tv2->vval.v_list, ic, TRUE);
|
||||
--recursive_cnt;
|
||||
return r;
|
||||
|
||||
case VAR_DICT:
|
||||
++recursive;
|
||||
r = dict_equal(tv1->vval.v_dict, tv2->vval.v_dict, ic);
|
||||
--recursive;
|
||||
++recursive_cnt;
|
||||
r = dict_equal(tv1->vval.v_dict, tv2->vval.v_dict, ic, TRUE);
|
||||
--recursive_cnt;
|
||||
return r;
|
||||
|
||||
case VAR_FUNC:
|
||||
@@ -9391,7 +9408,7 @@ f_count(argvars, rettv)
|
||||
}
|
||||
|
||||
for ( ; li != NULL; li = li->li_next)
|
||||
if (tv_equal(&li->li_tv, &argvars[1], ic))
|
||||
if (tv_equal(&li->li_tv, &argvars[1], ic, FALSE))
|
||||
++n;
|
||||
}
|
||||
}
|
||||
@@ -9418,7 +9435,7 @@ f_count(argvars, rettv)
|
||||
if (!HASHITEM_EMPTY(hi))
|
||||
{
|
||||
--todo;
|
||||
if (tv_equal(&HI2DI(hi)->di_tv, &argvars[1], ic))
|
||||
if (tv_equal(&HI2DI(hi)->di_tv, &argvars[1], ic, FALSE))
|
||||
++n;
|
||||
}
|
||||
}
|
||||
@@ -12574,7 +12591,7 @@ f_index(argvars, rettv)
|
||||
}
|
||||
|
||||
for ( ; item != NULL; item = item->li_next, ++idx)
|
||||
if (tv_equal(&item->li_tv, &argvars[1], ic))
|
||||
if (tv_equal(&item->li_tv, &argvars[1], ic, FALSE))
|
||||
{
|
||||
rettv->vval.v_number = idx;
|
||||
break;
|
||||
|
||||
@@ -733,7 +733,7 @@ do_cmdline_cmd(cmd)
|
||||
* do_cmdline(): execute one Ex command line
|
||||
*
|
||||
* 1. Execute "cmdline" when it is not NULL.
|
||||
* If "cmdline" is NULL, or more lines are needed, getline() is used.
|
||||
* If "cmdline" is NULL, or more lines are needed, fgetline() is used.
|
||||
* 2. Split up in parts separated with '|'.
|
||||
*
|
||||
* This function can be called recursively!
|
||||
@@ -741,7 +741,7 @@ do_cmdline_cmd(cmd)
|
||||
* flags:
|
||||
* DOCMD_VERBOSE - The command will be included in the error message.
|
||||
* DOCMD_NOWAIT - Don't call wait_return() and friends.
|
||||
* DOCMD_REPEAT - Repeat execution until getline() returns NULL.
|
||||
* DOCMD_REPEAT - Repeat execution until fgetline() returns NULL.
|
||||
* DOCMD_KEYTYPED - Don't reset KeyTyped.
|
||||
* DOCMD_EXCRESET - Reset the exception environment (used for debugging).
|
||||
* DOCMD_KEEPLINE - Store first typed line (for repeating with ".").
|
||||
@@ -749,15 +749,15 @@ do_cmdline_cmd(cmd)
|
||||
* return FAIL if cmdline could not be executed, OK otherwise
|
||||
*/
|
||||
int
|
||||
do_cmdline(cmdline, getline, cookie, flags)
|
||||
do_cmdline(cmdline, fgetline, cookie, flags)
|
||||
char_u *cmdline;
|
||||
char_u *(*getline) __ARGS((int, void *, int));
|
||||
void *cookie; /* argument for getline() */
|
||||
char_u *(*fgetline) __ARGS((int, void *, int));
|
||||
void *cookie; /* argument for fgetline() */
|
||||
int flags;
|
||||
{
|
||||
char_u *next_cmdline; /* next cmd to execute */
|
||||
char_u *cmdline_copy = NULL; /* copy of cmd line */
|
||||
int used_getline = FALSE; /* used "getline" to obtain command */
|
||||
int used_getline = FALSE; /* used "fgetline" to obtain command */
|
||||
static int recursive = 0; /* recursive depth */
|
||||
int msg_didout_before_start = 0;
|
||||
int count = 0; /* line number count */
|
||||
@@ -775,14 +775,14 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
struct msglist **saved_msg_list = NULL;
|
||||
struct msglist *private_msg_list;
|
||||
|
||||
/* "getline" and "cookie" passed to do_one_cmd() */
|
||||
/* "fgetline" and "cookie" passed to do_one_cmd() */
|
||||
char_u *(*cmd_getline) __ARGS((int, void *, int));
|
||||
void *cmd_cookie;
|
||||
struct loop_cookie cmd_loop_cookie;
|
||||
void *real_cookie;
|
||||
int getline_is_func;
|
||||
#else
|
||||
# define cmd_getline getline
|
||||
# define cmd_getline fgetline
|
||||
# define cmd_cookie cookie
|
||||
#endif
|
||||
static int call_depth = 0; /* recursiveness */
|
||||
@@ -822,10 +822,10 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
cstack.cs_lflags = 0;
|
||||
ga_init2(&lines_ga, (int)sizeof(wcmd_T), 10);
|
||||
|
||||
real_cookie = getline_cookie(getline, cookie);
|
||||
real_cookie = getline_cookie(fgetline, cookie);
|
||||
|
||||
/* Inside a function use a higher nesting level. */
|
||||
getline_is_func = getline_equal(getline, cookie, get_func_line);
|
||||
getline_is_func = getline_equal(fgetline, cookie, get_func_line);
|
||||
if (getline_is_func && ex_nesting_level == func_level(real_cookie))
|
||||
++ex_nesting_level;
|
||||
|
||||
@@ -837,7 +837,7 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
breakpoint = func_breakpoint(real_cookie);
|
||||
dbg_tick = func_dbg_tick(real_cookie);
|
||||
}
|
||||
else if (getline_equal(getline, cookie, getsourceline))
|
||||
else if (getline_equal(fgetline, cookie, getsourceline))
|
||||
{
|
||||
fname = sourcing_name;
|
||||
breakpoint = source_breakpoint(real_cookie);
|
||||
@@ -881,7 +881,8 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
* KeyTyped is only set when calling vgetc(). Reset it here when not
|
||||
* calling vgetc() (sourced command lines).
|
||||
*/
|
||||
if (!(flags & DOCMD_KEYTYPED) && !getline_equal(getline, cookie, getexline))
|
||||
if (!(flags & DOCMD_KEYTYPED)
|
||||
&& !getline_equal(fgetline, cookie, getexline))
|
||||
KeyTyped = FALSE;
|
||||
|
||||
/*
|
||||
@@ -894,7 +895,7 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
do
|
||||
{
|
||||
#ifdef FEAT_EVAL
|
||||
getline_is_func = getline_equal(getline, cookie, get_func_line);
|
||||
getline_is_func = getline_equal(fgetline, cookie, get_func_line);
|
||||
#endif
|
||||
|
||||
/* stop skipping cmds for an error msg after all endif/while/for */
|
||||
@@ -909,7 +910,7 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
|
||||
/*
|
||||
* 1. If repeating a line in a loop, get a line from lines_ga.
|
||||
* 2. If no line given: Get an allocated line with getline().
|
||||
* 2. If no line given: Get an allocated line with fgetline().
|
||||
* 3. If a line is given: Make a copy, so we can mess with it.
|
||||
*/
|
||||
|
||||
@@ -938,12 +939,12 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
}
|
||||
#ifdef FEAT_PROFILE
|
||||
else if (do_profiling == PROF_YES
|
||||
&& getline_equal(getline, cookie, getsourceline))
|
||||
&& getline_equal(fgetline, cookie, getsourceline))
|
||||
script_line_end();
|
||||
#endif
|
||||
|
||||
/* Check if a sourced file hit a ":finish" command. */
|
||||
if (source_finished(getline, cookie))
|
||||
if (source_finished(fgetline, cookie))
|
||||
{
|
||||
retval = FAIL;
|
||||
break;
|
||||
@@ -954,7 +955,7 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
&& *dbg_tick != debug_tick)
|
||||
{
|
||||
*breakpoint = dbg_find_breakpoint(
|
||||
getline_equal(getline, cookie, getsourceline),
|
||||
getline_equal(fgetline, cookie, getsourceline),
|
||||
fname, sourcing_lnum);
|
||||
*dbg_tick = debug_tick;
|
||||
}
|
||||
@@ -969,7 +970,7 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
dbg_breakpoint(fname, sourcing_lnum);
|
||||
/* Find next breakpoint. */
|
||||
*breakpoint = dbg_find_breakpoint(
|
||||
getline_equal(getline, cookie, getsourceline),
|
||||
getline_equal(fgetline, cookie, getsourceline),
|
||||
fname, sourcing_lnum);
|
||||
*dbg_tick = debug_tick;
|
||||
}
|
||||
@@ -978,7 +979,7 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
{
|
||||
if (getline_is_func)
|
||||
func_line_start(real_cookie);
|
||||
else if (getline_equal(getline, cookie, getsourceline))
|
||||
else if (getline_equal(fgetline, cookie, getsourceline))
|
||||
script_line_start();
|
||||
}
|
||||
# endif
|
||||
@@ -987,7 +988,7 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
if (cstack.cs_looplevel > 0)
|
||||
{
|
||||
/* Inside a while/for loop we need to store the lines and use them
|
||||
* again. Pass a different "getline" function to do_one_cmd()
|
||||
* again. Pass a different "fgetline" function to do_one_cmd()
|
||||
* below, so that it stores lines in or reads them from
|
||||
* "lines_ga". Makes it possible to define a function inside a
|
||||
* while/for loop. */
|
||||
@@ -995,27 +996,27 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
cmd_cookie = (void *)&cmd_loop_cookie;
|
||||
cmd_loop_cookie.lines_gap = &lines_ga;
|
||||
cmd_loop_cookie.current_line = current_line;
|
||||
cmd_loop_cookie.getline = getline;
|
||||
cmd_loop_cookie.getline = fgetline;
|
||||
cmd_loop_cookie.cookie = cookie;
|
||||
cmd_loop_cookie.repeating = (current_line < lines_ga.ga_len);
|
||||
}
|
||||
else
|
||||
{
|
||||
cmd_getline = getline;
|
||||
cmd_getline = fgetline;
|
||||
cmd_cookie = cookie;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* 2. If no line given, get an allocated line with getline(). */
|
||||
/* 2. If no line given, get an allocated line with fgetline(). */
|
||||
if (next_cmdline == NULL)
|
||||
{
|
||||
/*
|
||||
* Need to set msg_didout for the first line after an ":if",
|
||||
* otherwise the ":if" will be overwritten.
|
||||
*/
|
||||
if (count == 1 && getline_equal(getline, cookie, getexline))
|
||||
if (count == 1 && getline_equal(fgetline, cookie, getexline))
|
||||
msg_didout = TRUE;
|
||||
if (getline == NULL || (next_cmdline = getline(':', cookie,
|
||||
if (fgetline == NULL || (next_cmdline = fgetline(':', cookie,
|
||||
#ifdef FEAT_EVAL
|
||||
cstack.cs_idx < 0 ? 0 : (cstack.cs_idx + 1) * 2
|
||||
#else
|
||||
@@ -1142,7 +1143,7 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
* If the command was typed, remember it for the ':' register.
|
||||
* Do this AFTER executing the command to make :@: work.
|
||||
*/
|
||||
if (getline_equal(getline, cookie, getexline)
|
||||
if (getline_equal(fgetline, cookie, getexline)
|
||||
&& new_last_cmdline != NULL)
|
||||
{
|
||||
vim_free(last_cmdline);
|
||||
@@ -1163,7 +1164,7 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
#ifdef FEAT_EVAL
|
||||
/* reset did_emsg for a function that is not aborted by an error */
|
||||
if (did_emsg && !force_abort
|
||||
&& getline_equal(getline, cookie, get_func_line)
|
||||
&& getline_equal(fgetline, cookie, get_func_line)
|
||||
&& !func_has_abort(real_cookie))
|
||||
did_emsg = FALSE;
|
||||
|
||||
@@ -1202,7 +1203,7 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
if (breakpoint != NULL)
|
||||
{
|
||||
*breakpoint = dbg_find_breakpoint(
|
||||
getline_equal(getline, cookie, getsourceline),
|
||||
getline_equal(fgetline, cookie, getsourceline),
|
||||
fname,
|
||||
((wcmd_T *)lines_ga.ga_data)[current_line].lnum-1);
|
||||
*dbg_tick = debug_tick;
|
||||
@@ -1296,8 +1297,8 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
#endif
|
||||
)
|
||||
&& !(did_emsg && used_getline
|
||||
&& (getline_equal(getline, cookie, getexmodeline)
|
||||
|| getline_equal(getline, cookie, getexline)))
|
||||
&& (getline_equal(fgetline, cookie, getexmodeline)
|
||||
|| getline_equal(fgetline, cookie, getexline)))
|
||||
&& (next_cmdline != NULL
|
||||
#ifdef FEAT_EVAL
|
||||
|| cstack.cs_idx >= 0
|
||||
@@ -1316,9 +1317,9 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
* unclosed conditional.
|
||||
*/
|
||||
if (!got_int && !did_throw
|
||||
&& ((getline_equal(getline, cookie, getsourceline)
|
||||
&& !source_finished(getline, cookie))
|
||||
|| (getline_equal(getline, cookie, get_func_line)
|
||||
&& ((getline_equal(fgetline, cookie, getsourceline)
|
||||
&& !source_finished(fgetline, cookie))
|
||||
|| (getline_equal(fgetline, cookie, get_func_line)
|
||||
&& !func_has_ended(real_cookie))))
|
||||
{
|
||||
if (cstack.cs_flags[cstack.cs_idx] & CSF_TRY)
|
||||
@@ -1354,7 +1355,7 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
/* If a missing ":endtry", ":endwhile", ":endfor", or ":endif" or a memory
|
||||
* lack was reported above and the error message is to be converted to an
|
||||
* exception, do this now after rewinding the cstack. */
|
||||
do_errthrow(&cstack, getline_equal(getline, cookie, get_func_line)
|
||||
do_errthrow(&cstack, getline_equal(fgetline, cookie, get_func_line)
|
||||
? (char_u *)"endfunction" : (char_u *)NULL);
|
||||
|
||||
if (trylevel == 0)
|
||||
@@ -1449,9 +1450,9 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
*/
|
||||
if (did_throw)
|
||||
need_rethrow = TRUE;
|
||||
if ((getline_equal(getline, cookie, getsourceline)
|
||||
if ((getline_equal(fgetline, cookie, getsourceline)
|
||||
&& ex_nesting_level > source_level(real_cookie))
|
||||
|| (getline_equal(getline, cookie, get_func_line)
|
||||
|| (getline_equal(fgetline, cookie, get_func_line)
|
||||
&& ex_nesting_level > func_level(real_cookie) + 1))
|
||||
{
|
||||
if (!did_throw)
|
||||
@@ -1460,16 +1461,16 @@ do_cmdline(cmdline, getline, cookie, flags)
|
||||
else
|
||||
{
|
||||
/* When leaving a function, reduce nesting level. */
|
||||
if (getline_equal(getline, cookie, get_func_line))
|
||||
if (getline_equal(fgetline, cookie, get_func_line))
|
||||
--ex_nesting_level;
|
||||
/*
|
||||
* Go to debug mode when returning from a function in which we are
|
||||
* single-stepping.
|
||||
*/
|
||||
if ((getline_equal(getline, cookie, getsourceline)
|
||||
|| getline_equal(getline, cookie, get_func_line))
|
||||
if ((getline_equal(fgetline, cookie, getsourceline)
|
||||
|| getline_equal(fgetline, cookie, get_func_line))
|
||||
&& ex_nesting_level + 1 <= debug_break_level)
|
||||
do_debug(getline_equal(getline, cookie, getsourceline)
|
||||
do_debug(getline_equal(fgetline, cookie, getsourceline)
|
||||
? (char_u *)_("End of sourced file")
|
||||
: (char_u *)_("End of function"));
|
||||
}
|
||||
@@ -2871,8 +2872,10 @@ find_command(eap, full)
|
||||
}
|
||||
|
||||
#ifdef FEAT_USR_CMDS
|
||||
/* Look for a user defined command as a last resort */
|
||||
if (eap->cmdidx == CMD_SIZE && *eap->cmd >= 'A' && *eap->cmd <= 'Z')
|
||||
/* Look for a user defined command as a last resort. Let ":Print" be
|
||||
* overruled by a user defined command. */
|
||||
if ((eap->cmdidx == CMD_SIZE || eap->cmdidx == CMD_Print)
|
||||
&& *eap->cmd >= 'A' && *eap->cmd <= 'Z')
|
||||
{
|
||||
/* User defined commands may contain digits. */
|
||||
while (ASCII_ISALNUM(*p))
|
||||
@@ -5588,6 +5591,7 @@ ex_command(eap)
|
||||
int compl = EXPAND_NOTHING;
|
||||
char_u *compl_arg = NULL;
|
||||
int has_attr = (eap->arg[0] == '-');
|
||||
int name_len;
|
||||
|
||||
p = eap->arg;
|
||||
|
||||
@@ -5613,6 +5617,7 @@ ex_command(eap)
|
||||
return;
|
||||
}
|
||||
end = p;
|
||||
name_len = (int)(end - name);
|
||||
|
||||
/* If there is nothing after the name, and no attributes were specified,
|
||||
* we are listing commands
|
||||
@@ -5627,6 +5632,13 @@ ex_command(eap)
|
||||
EMSG(_("E183: User defined commands must start with an uppercase letter"));
|
||||
return;
|
||||
}
|
||||
else if ((name_len == 1 && *name == 'X')
|
||||
|| (name_len <= 4
|
||||
&& STRNCMP(name, "Next", name_len > 4 ? 4 : name_len) == 0))
|
||||
{
|
||||
EMSG(_("E841: Reserved name, cannot be used for user defined command"));
|
||||
return;
|
||||
}
|
||||
else
|
||||
uc_add_command(name, end - name, p, argt, def, flags, compl, compl_arg,
|
||||
eap->forceit);
|
||||
@@ -9394,7 +9406,7 @@ ex_findpat(eap)
|
||||
ex_ptag(eap)
|
||||
exarg_T *eap;
|
||||
{
|
||||
g_do_tagpreview = p_pvh;
|
||||
g_do_tagpreview = p_pvh; /* will be reset to 0 in ex_tag_cmd() */
|
||||
ex_tag_cmd(eap, cmdnames[eap->cmdidx].cmd_name + 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -712,7 +712,11 @@ getcmdline(firstc, count, indent)
|
||||
}
|
||||
}
|
||||
beep_flush();
|
||||
c = ESC;
|
||||
got_int = FALSE; /* don't abandon the command line */
|
||||
did_emsg = FALSE;
|
||||
emsg_on_display = FALSE;
|
||||
redrawcmd();
|
||||
goto cmdline_not_changed;
|
||||
}
|
||||
#endif
|
||||
else
|
||||
@@ -4747,7 +4751,11 @@ expand_shellcmd(filepat, num_file, file, flagsarg)
|
||||
|| (pat[1] == '.' && vim_ispathsep(pat[2])))))
|
||||
path = (char_u *)".";
|
||||
else
|
||||
{
|
||||
path = vim_getenv((char_u *)"PATH", &mustfree);
|
||||
if (path == NULL)
|
||||
path = (char_u *)"";
|
||||
}
|
||||
|
||||
/*
|
||||
* Go over all directories in $PATH. Expand matches in that directory and
|
||||
|
||||
@@ -2895,6 +2895,11 @@ gui_mch_wait_for_chars(wtime)
|
||||
focus = gui.in_focus;
|
||||
}
|
||||
|
||||
#if defined(FEAT_NETBEANS_INTG)
|
||||
/* Process any queued netbeans messages. */
|
||||
netbeans_parse_messages();
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Don't use gui_mch_update() because then we will spin-lock until a
|
||||
* char arrives, instead we use XtAppProcessEvent() to hang until an
|
||||
|
||||
@@ -794,9 +794,16 @@ mzscheme_end(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
#if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL)
|
||||
static __declspec(thread) void *tls_space;
|
||||
#endif
|
||||
|
||||
void
|
||||
mzscheme_main(void)
|
||||
{
|
||||
#if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL)
|
||||
scheme_register_tls_space(&tls_space, 0);
|
||||
#endif
|
||||
#if defined(MZ_PRECISE_GC) && MZSCHEME_VERSION_MAJOR >= 400
|
||||
/* use trampoline for precise GC in MzScheme >= 4.x */
|
||||
scheme_main_setup(TRUE, mzscheme_env_main, 0, NULL);
|
||||
|
||||
@@ -14,7 +14,9 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "auto/config.h"
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "auto/config.h"
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
# if !defined(DYNAMIC_RUBY_VER) || (DYNAMIC_RUBY_VER < 18)
|
||||
@@ -50,7 +52,7 @@
|
||||
# define RUBY_EXPORT
|
||||
# endif
|
||||
|
||||
#ifndef WIN3264
|
||||
#if !(defined(WIN32) || defined(_WIN64))
|
||||
# include <dlfcn.h>
|
||||
# define HINSTANCE void*
|
||||
# define RUBY_PROC void*
|
||||
@@ -227,6 +229,9 @@ static void ruby_vim_init(void);
|
||||
# define rb_enc_find_index dll_rb_enc_find_index
|
||||
# define rb_enc_find dll_rb_enc_find
|
||||
# define rb_enc_str_new dll_rb_enc_str_new
|
||||
# define rb_intern2 dll_rb_intern2
|
||||
# define rb_const_remove dll_rb_const_remove
|
||||
# define Init_prelude dll_Init_prelude
|
||||
# define rb_sprintf dll_rb_sprintf
|
||||
# define ruby_init_stack dll_ruby_init_stack
|
||||
#endif
|
||||
@@ -315,6 +320,9 @@ static void (*dll_ruby_script) (const char*);
|
||||
static int (*dll_rb_enc_find_index) (const char*);
|
||||
static rb_encoding* (*dll_rb_enc_find) (const char*);
|
||||
static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
|
||||
static ID (*dll_rb_intern2) (const char*, long);
|
||||
static void (*dll_Init_prelude) (void);
|
||||
static VALUE (*dll_rb_const_remove) (VALUE, ID);
|
||||
static VALUE (*dll_rb_sprintf) (const char*, ...);
|
||||
static void (*ruby_init_stack)(VALUE*);
|
||||
#endif
|
||||
@@ -423,6 +431,9 @@ static struct
|
||||
{"rb_enc_find_index", (RUBY_PROC*)&dll_rb_enc_find_index},
|
||||
{"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find},
|
||||
{"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
|
||||
{"rb_intern2", (RUBY_PROC*)&dll_rb_intern2},
|
||||
{"rb_const_remove", (RUBY_PROC*)&dll_rb_const_remove},
|
||||
{"Init_prelude", (RUBY_PROC*)&dll_Init_prelude},
|
||||
{"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
|
||||
{"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack},
|
||||
#endif
|
||||
@@ -660,6 +671,12 @@ static int ensure_ruby_initialized(void)
|
||||
ruby_io_init();
|
||||
#ifdef RUBY19_OR_LATER
|
||||
rb_enc_find_index("encdb");
|
||||
|
||||
/* This avoids the error "Encoding::ConverterNotFoundError: code
|
||||
* converter not found (UTF-16LE to ASCII-8BIT)". */
|
||||
rb_define_module("Gem");
|
||||
Init_prelude();
|
||||
rb_const_remove(rb_cObject, rb_intern2("TMP_RUBY_PREFIX", 15));
|
||||
#endif
|
||||
ruby_vim_init();
|
||||
ruby_initialized = 1;
|
||||
@@ -944,13 +961,9 @@ static VALUE buffer_count(VALUE self)
|
||||
|
||||
static VALUE get_buffer_line(buf_T *buf, linenr_T n)
|
||||
{
|
||||
if (n > 0 && n <= buf->b_ml.ml_line_count)
|
||||
{
|
||||
char *line = (char *)ml_get_buf(buf, n, FALSE);
|
||||
return line ? vim_str2rb_enc_str(line) : Qnil;
|
||||
}
|
||||
rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
|
||||
return Qnil; /* For stop warning */
|
||||
if (n <= 0 || n > buf->b_ml.ml_line_count)
|
||||
rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
|
||||
return vim_str2rb_enc_str((char *)ml_get_buf(buf, n, FALSE));
|
||||
}
|
||||
|
||||
static VALUE buffer_aref(VALUE self, VALUE num)
|
||||
@@ -989,9 +1002,6 @@ static VALUE set_buffer_line(buf_T *buf, linenr_T n, VALUE str)
|
||||
else
|
||||
{
|
||||
rb_raise(rb_eIndexError, "line number %ld out of range", (long)n);
|
||||
#ifndef __GNUC__
|
||||
return Qnil; /* For stop warning */
|
||||
#endif
|
||||
}
|
||||
return str;
|
||||
}
|
||||
@@ -1046,7 +1056,8 @@ static VALUE buffer_append(VALUE self, VALUE num, VALUE str)
|
||||
long n = NUM2LONG(num);
|
||||
aco_save_T aco;
|
||||
|
||||
if (line == NULL) {
|
||||
if (line == NULL)
|
||||
{
|
||||
rb_raise(rb_eIndexError, "NULL line");
|
||||
}
|
||||
else if (n >= 0 && n <= buf->b_ml.ml_line_count)
|
||||
@@ -1070,7 +1081,8 @@ static VALUE buffer_append(VALUE self, VALUE num, VALUE str)
|
||||
|
||||
update_curbuf(NOT_VALID);
|
||||
}
|
||||
else {
|
||||
else
|
||||
{
|
||||
rb_raise(rb_eIndexError, "line number %ld out of range", n);
|
||||
}
|
||||
return str;
|
||||
|
||||
18
src/link.sh
18
src/link.sh
@@ -5,7 +5,7 @@
|
||||
# libraries when they exist, but this doesn't mean they are needed for Vim.
|
||||
#
|
||||
# Author: Bram Moolenaar
|
||||
# Last change: 2006 Sep 26
|
||||
# Last change: 2010 Nov 03
|
||||
# License: Public domain
|
||||
#
|
||||
# Warning: This fails miserably if the linker doesn't return an error code!
|
||||
@@ -16,11 +16,23 @@
|
||||
echo "$LINK " >link.cmd
|
||||
exit_value=0
|
||||
|
||||
if test "$LINK_AS_NEEDED" = yes; then
|
||||
echo "link.sh: \$LINK_AS_NEEDED set to 'yes': invoking linker directly."
|
||||
cat link.cmd
|
||||
if sh link.cmd; then
|
||||
exit_value=0
|
||||
echo "link.sh: Linked fine"
|
||||
else
|
||||
exit_value=$?
|
||||
echo "link.sh: Linking failed"
|
||||
fi
|
||||
else
|
||||
if test -f auto/link.sed; then
|
||||
|
||||
#
|
||||
# If auto/link.sed already exists, use it. We assume a previous run of
|
||||
# link.sh has found the correct set of libraries.
|
||||
#
|
||||
if test -f auto/link.sed; then
|
||||
echo "link.sh: The file 'auto/link.sed' exists, which is going to be used now."
|
||||
echo "link.sh: If linking fails, try deleting the auto/link.sed file."
|
||||
echo "link.sh: If this fails too, try creating an empty auto/link.sed file."
|
||||
@@ -124,6 +136,8 @@ if test -f auto/link.sed -a ! -s auto/link.sed -a ! -f link3.sed; then
|
||||
fi
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
#
|
||||
# cleanup
|
||||
#
|
||||
|
||||
@@ -726,9 +726,6 @@ netbeans_read()
|
||||
static char_u *buf = NULL;
|
||||
int len = 0;
|
||||
int readlen = 0;
|
||||
#if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
|
||||
static int level = 0;
|
||||
#endif
|
||||
#ifdef HAVE_SELECT
|
||||
struct timeval tval;
|
||||
fd_set rfds;
|
||||
@@ -744,13 +741,6 @@ netbeans_read()
|
||||
return;
|
||||
}
|
||||
|
||||
#if defined(NB_HAS_GUI) && !defined(FEAT_GUI_GTK) && !defined(FEAT_GUI_W32)
|
||||
/* recursion guard; this will be called from the X event loop at unknown
|
||||
* moments */
|
||||
if (NB_HAS_GUI)
|
||||
++level;
|
||||
#endif
|
||||
|
||||
/* Allocate a buffer to read into. */
|
||||
if (buf == NULL)
|
||||
{
|
||||
@@ -803,21 +793,9 @@ netbeans_read()
|
||||
return; /* don't try to parse it */
|
||||
}
|
||||
|
||||
#if defined(NB_HAS_GUI) && !defined(FEAT_GUI_W32)
|
||||
/* Let the main loop handle messages. */
|
||||
if (NB_HAS_GUI)
|
||||
{
|
||||
# ifdef FEAT_GUI_GTK
|
||||
if (gtk_main_level() > 0)
|
||||
gtk_main_quit();
|
||||
# else
|
||||
/* Parse the messages now, but avoid recursion. */
|
||||
if (level == 1)
|
||||
netbeans_parse_messages();
|
||||
|
||||
--level;
|
||||
# endif
|
||||
}
|
||||
#if defined(NB_HAS_GUI) && defined(FEAT_GUI_GTK)
|
||||
if (NB_HAS_GUI && gtk_main_level() > 0)
|
||||
gtk_main_quit();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -211,13 +211,16 @@ static char_u *exe_path = NULL;
|
||||
static void
|
||||
get_exe_name(void)
|
||||
{
|
||||
char temp[MAXPATHL];
|
||||
/* Maximum length of $PATH is more than MAXPATHL. 8191 is often mentioned
|
||||
* as the maximum length that works (plus a NUL byte). */
|
||||
#define MAX_ENV_PATH_LEN 8192
|
||||
char temp[MAX_ENV_PATH_LEN];
|
||||
char_u *p;
|
||||
|
||||
if (exe_name == NULL)
|
||||
{
|
||||
/* store the name of the executable, may be used for $VIM */
|
||||
GetModuleFileName(NULL, temp, MAXPATHL - 1);
|
||||
GetModuleFileName(NULL, temp, MAX_ENV_PATH_LEN - 1);
|
||||
if (*temp != NUL)
|
||||
exe_name = FullName_save((char_u *)temp, FALSE);
|
||||
}
|
||||
@@ -232,10 +235,16 @@ get_exe_name(void)
|
||||
* "!xxd" it's found in our starting directory. Needed because
|
||||
* SearchPath() also looks there. */
|
||||
p = mch_getenv("PATH");
|
||||
if (STRLEN(p) + STRLEN(exe_path) + 2 < MAXPATHL)
|
||||
if (p == NULL
|
||||
|| STRLEN(p) + STRLEN(exe_path) + 2 < MAX_ENV_PATH_LEN)
|
||||
{
|
||||
STRCPY(temp, p);
|
||||
STRCAT(temp, ";");
|
||||
if (p == NULL || *p == NUL)
|
||||
temp[0] = NUL;
|
||||
else
|
||||
{
|
||||
STRCPY(temp, p);
|
||||
STRCAT(temp, ";");
|
||||
}
|
||||
STRCAT(temp, exe_path);
|
||||
vim_setenv((char_u *)"PATH", temp);
|
||||
}
|
||||
|
||||
32
src/po/eo.po
32
src/po/eo.po
@@ -23,8 +23,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Vim(Esperanto)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-08-06 21:08+0200\n"
|
||||
"PO-Revision-Date: 2010-08-06 21:34+0200\n"
|
||||
"POT-Creation-Date: 2010-10-23 21:37+0200\n"
|
||||
"PO-Revision-Date: 2010-10-23 21:42+0200\n"
|
||||
"Last-Translator: Dominique PELLÉ <dominique.pelle@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -186,7 +186,6 @@ msgstr "Subo"
|
||||
msgid "Top"
|
||||
msgstr "Supro"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"# Buffer list:\n"
|
||||
@@ -854,7 +853,6 @@ msgstr "Skribas dosieron viminfo \"%s\""
|
||||
msgid "# This viminfo file was generated by Vim %s.\n"
|
||||
msgstr "# Tiu dosiero viminfo estis kreita de Vim %s.\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"# You may edit it if you're careful!\n"
|
||||
"\n"
|
||||
@@ -862,7 +860,6 @@ msgstr ""
|
||||
"# Vi povas redakti ĝin se vi estas singarda.\n"
|
||||
"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "# Value of 'encoding' when this file was written\n"
|
||||
msgstr "# Valoro de 'encoding' kiam tiu dosiero estis kreita\n"
|
||||
|
||||
@@ -974,7 +971,6 @@ msgstr "E148: Regulesprimo mankas el global"
|
||||
msgid "Pattern found in every line: %s"
|
||||
msgstr "Ŝablono trovita en ĉiuj linioj: %s"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"# Last Substitute String:\n"
|
||||
@@ -2609,10 +2605,7 @@ msgid "not allowed in the Vim sandbox"
|
||||
msgstr "nepermesita en sabloludejo de Vim"
|
||||
|
||||
msgid "E836: This Vim cannot execute :python after using :py3"
|
||||
msgstr "E836: Pitono: Ne eblas uzi :py kaj :py3 en la sama seanco"
|
||||
|
||||
msgid "E837: This Vim cannot execute :py3 after using :python"
|
||||
msgstr "E837: Pitono: Ne eblas uzi :py kaj :py3 en la sama seanco"
|
||||
msgstr "E836: Vim ne povas plenumi :python post uzo de :py3"
|
||||
|
||||
msgid ""
|
||||
"E263: Sorry, this command is disabled, the Python library could not be "
|
||||
@@ -2637,6 +2630,9 @@ msgstr "nevalida atributo"
|
||||
msgid "<buffer object (deleted) at %p>"
|
||||
msgstr "<bufra objekto (forviŝita) ĉe %p>"
|
||||
|
||||
msgid "E837: This Vim cannot execute :py3 after using :python"
|
||||
msgstr "E837: Vim ne povas plenumi :py3 post uzo de :python"
|
||||
|
||||
msgid "E265: $_ must be an instance of String"
|
||||
msgstr "E265: $_ devas esti apero de Ĉeno"
|
||||
|
||||
@@ -3190,12 +3186,6 @@ msgstr "-display <ekrano>\tLanĉi vim sur <ekrano>"
|
||||
msgid "-iconic\t\tStart vim iconified"
|
||||
msgstr "-iconic\t\tLanĉi vim piktograme"
|
||||
|
||||
msgid "-name <name>\t\tUse resource as if vim was <name>"
|
||||
msgstr "-name <nomo>\t\tUzi rimedon kvazaŭ vim estus <nomo>"
|
||||
|
||||
msgid "\t\t\t (Unimplemented)\n"
|
||||
msgstr "\t\t\t (Nerealigita)\n"
|
||||
|
||||
msgid "-background <color>\tUse <color> for the background (also: -bg)"
|
||||
msgstr "-background <koloro>\tUzi <koloro>-n por la fona koloro (ankaŭ: -bg)"
|
||||
|
||||
@@ -3322,7 +3312,6 @@ msgstr ""
|
||||
"\n"
|
||||
"ŝanĝo linio kol teksto"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"# File marks:\n"
|
||||
@@ -3331,7 +3320,6 @@ msgstr ""
|
||||
"# Markoj de dosiero:\n"
|
||||
|
||||
#. Write the jumplist with -'
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"# Jumplist (newest first):\n"
|
||||
@@ -3339,7 +3327,6 @@ msgstr ""
|
||||
"\n"
|
||||
"# Saltlisto (plej novaj unue):\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"# History of marks within files (newest to oldest):\n"
|
||||
@@ -4008,7 +3995,6 @@ msgstr "Vim: konservo de dosieroj...\n"
|
||||
msgid "Vim: Finished.\n"
|
||||
msgstr "Vim: Finita.\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ERROR: "
|
||||
msgstr "ERARO: "
|
||||
|
||||
@@ -4110,6 +4096,9 @@ msgstr "lego el kontaktoskatolo de Netbeans"
|
||||
msgid "E658: NetBeans connection lost for buffer %ld"
|
||||
msgstr "E658: Konekto de NetBeans perdita por bufro %ld"
|
||||
|
||||
msgid "E838: netbeans is not supported with this GUI"
|
||||
msgstr "E838: netbeans ne estas subtenata kun tiu grafika interfaco"
|
||||
|
||||
msgid "E511: netbeans already connected"
|
||||
msgstr "E511: nebeans jam konektata"
|
||||
|
||||
@@ -5379,9 +5368,6 @@ msgstr " liniavancoj"
|
||||
msgid "E395: contains argument not accepted here"
|
||||
msgstr "E395: La argumento \"contains\" ne akcepteblas tie"
|
||||
|
||||
msgid "E396: containedin argument not accepted here"
|
||||
msgstr "E396: La argumento \"containedin\" ne akcepteblas tie"
|
||||
|
||||
msgid "E393: group[t]here not accepted here"
|
||||
msgstr "E393: La argumento \"group[t]here\" ne akcepteblas tie"
|
||||
|
||||
|
||||
34
src/po/fr.po
34
src/po/fr.po
@@ -15,8 +15,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Vim(Fran<61>ais)\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2010-08-06 21:08+0200\n"
|
||||
"PO-Revision-Date: 2010-08-06 21:31+0200\n"
|
||||
"POT-Creation-Date: 2010-10-23 21:37+0200\n"
|
||||
"PO-Revision-Date: 2010-10-23 21:41+0200\n"
|
||||
"Last-Translator: Dominique Pell<6C> <dominique.pelle@gmail.com>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -201,7 +201,6 @@ msgstr "Bas"
|
||||
msgid "Top"
|
||||
msgstr "Haut"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"# Buffer list:\n"
|
||||
@@ -979,7 +978,6 @@ msgid "# This viminfo file was generated by Vim %s.\n"
|
||||
msgstr "# Ce fichier viminfo a <20>t<EFBFBD> g<>n<EFBFBD>r<EFBFBD> par Vim %s.\n"
|
||||
|
||||
# AB - Les deux versions, bien que diff<66>rentes, se valent.
|
||||
#, c-format
|
||||
msgid ""
|
||||
"# You may edit it if you're careful!\n"
|
||||
"\n"
|
||||
@@ -987,7 +985,6 @@ msgstr ""
|
||||
"# Vous pouvez l'<27>diter, mais soyez prudent.\n"
|
||||
"\n"
|
||||
|
||||
#, c-format
|
||||
msgid "# Value of 'encoding' when this file was written\n"
|
||||
msgstr "# 'encoding' dans lequel ce fichier a <20>t<EFBFBD> <20>crit\n"
|
||||
|
||||
@@ -1135,7 +1132,6 @@ msgstr "Motif trouv
|
||||
# <20> internationalisation. J'attends que les deux autres messages soient
|
||||
# traduisibles pour traduire celui-ci.
|
||||
# DB - TODO : Qu'en est-il <20> pr<70>sent ?
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"# Last Substitute String:\n"
|
||||
@@ -2828,10 +2824,8 @@ msgid "not allowed in the Vim sandbox"
|
||||
msgstr "non autoris<69> dans le bac <20> sable"
|
||||
|
||||
msgid "E836: This Vim cannot execute :python after using :py3"
|
||||
msgstr "E836: Python : impossible d'utiliser :py et :py3 dans la m<>me session"
|
||||
|
||||
msgid "E837: This Vim cannot execute :py3 after using :python"
|
||||
msgstr "E837: Python : impossible d'utiliser :py et :py3 dans la m<>me session"
|
||||
msgstr ""
|
||||
"E836: Vim ne peut pas ex<65>cuter :python apr<70>s avoir utilis<69> :py3"
|
||||
|
||||
msgid ""
|
||||
"E263: Sorry, this command is disabled, the Python library could not be "
|
||||
@@ -2856,6 +2850,10 @@ msgstr "attribut invalide"
|
||||
msgid "<buffer object (deleted) at %p>"
|
||||
msgstr "<objet tampon (effac<61>) <20> %p>"
|
||||
|
||||
msgid "E837: This Vim cannot execute :py3 after using :python"
|
||||
msgstr ""
|
||||
"E837: Vim ne peut pas ex<65>cuter :py3 apr<70>s avoir utilis<69> :python"
|
||||
|
||||
msgid "E265: $_ must be an instance of String"
|
||||
msgstr "E265: $_ doit <20>tre une instance de cha<68>ne (String)"
|
||||
|
||||
@@ -3408,12 +3406,6 @@ msgstr "-display <
|
||||
msgid "-iconic\t\tStart vim iconified"
|
||||
msgstr "-iconic\t\tIconifier Vim au d<>marrage"
|
||||
|
||||
msgid "-name <name>\t\tUse resource as if vim was <name>"
|
||||
msgstr "-name <nom>\t\tEmployer les ressources comme si Vim s'appelait <nom>"
|
||||
|
||||
msgid "\t\t\t (Unimplemented)\n"
|
||||
msgstr "\t\t\t (non impl<70>ment<6E>)\n"
|
||||
|
||||
msgid "-background <color>\tUse <color> for the background (also: -bg)"
|
||||
msgstr ""
|
||||
"-background <coul>\tUtiliser <couleur> pour l'arri<72>re-plan\t (abrv : -bg)"
|
||||
@@ -3542,7 +3534,6 @@ msgstr ""
|
||||
"\n"
|
||||
"modif ligne col fichier/texte"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"# File marks:\n"
|
||||
@@ -3551,7 +3542,6 @@ msgstr ""
|
||||
"# Marques dans le fichier :\n"
|
||||
|
||||
#. Write the jumplist with -'
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"# Jumplist (newest first):\n"
|
||||
@@ -3559,7 +3549,6 @@ msgstr ""
|
||||
"\n"
|
||||
"# Liste de sauts (le plus r<>cent en premier) :\n"
|
||||
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"# History of marks within files (newest to oldest):\n"
|
||||
@@ -4236,7 +4225,6 @@ msgstr "Vim : pr
|
||||
msgid "Vim: Finished.\n"
|
||||
msgstr "Vim : Fini.\n"
|
||||
|
||||
#, c-format
|
||||
msgid "ERROR: "
|
||||
msgstr "ERREUR : "
|
||||
|
||||
@@ -4339,6 +4327,9 @@ msgstr "read sur la socket Netbeans"
|
||||
msgid "E658: NetBeans connection lost for buffer %ld"
|
||||
msgstr "E658: Connexion NetBeans perdue pour le tampon %ld"
|
||||
|
||||
msgid "E838: netbeans is not supported with this GUI"
|
||||
msgstr "E838: netbeans n'est pas support<72> avec cette interface graphique"
|
||||
|
||||
msgid "E511: netbeans already connected"
|
||||
msgstr "E511: netbeans d<>j<EFBFBD> connect<63>"
|
||||
|
||||
@@ -5624,9 +5615,6 @@ msgstr " coupures de ligne"
|
||||
msgid "E395: contains argument not accepted here"
|
||||
msgstr "E395: L'argument <20> contains <20> n'est pas accept<70> ici"
|
||||
|
||||
msgid "E396: containedin argument not accepted here"
|
||||
msgstr "E396: L'argument <20> containedin <20> n'est pas accept<70> ici"
|
||||
|
||||
msgid "E393: group[t]here not accepted here"
|
||||
msgstr "E393: L'argument <20> group[t]here <20> n'est pas accept<70> ici"
|
||||
|
||||
|
||||
@@ -27,7 +27,8 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
test71.out test72.out test73.out test74.out
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
@@ -121,3 +122,5 @@ test71.out: test71.in
|
||||
test72.out: test72.in
|
||||
test73.out: test73.in
|
||||
test74.out: test74.in
|
||||
test75.out: test75.in
|
||||
test76.out: test76.in
|
||||
|
||||
@@ -28,7 +28,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
test74.out
|
||||
test74.out test75.out test76.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
test74.out
|
||||
test74.out test75.out test76.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
|
||||
@@ -27,7 +27,8 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
test71.out test72.out test73.out test74.out
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
# Last change: 2010 Aug 04
|
||||
# Last change: 2010 Nov 10
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
@@ -74,7 +74,7 @@ SCRIPT = test1.out test2.out test3.out test4.out test5.out \
|
||||
test56.out test57.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out \
|
||||
test71.out test72.out test74.out
|
||||
test71.out test72.out test74.out test75.out test76.out
|
||||
|
||||
# Known problems:
|
||||
# Test 30: a problem around mac format - unknown reason
|
||||
|
||||
@@ -25,7 +25,7 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
|
||||
test59.out test60.out test61.out test62.out test63.out \
|
||||
test64.out test65.out test66.out test67.out test68.out \
|
||||
test69.out test70.out test71.out test72.out test73.out \
|
||||
test74.out
|
||||
test74.out test75.out test76.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
|
||||
@@ -342,7 +342,18 @@ let l = [0, 1, 2, 3]
|
||||
:$put =(d == d)
|
||||
:$put =(l != deepcopy(l))
|
||||
:$put =(d != deepcopy(d))
|
||||
:"
|
||||
:" compare complex recursively linked list and dict
|
||||
:let l = []
|
||||
:call add(l, l)
|
||||
:let dict4 = {"l": l}
|
||||
:call add(dict4.l, dict4)
|
||||
:let lcopy = deepcopy(l)
|
||||
:let dict4copy = deepcopy(dict4)
|
||||
:$put =(l == lcopy)
|
||||
:$put =(dict4 == dict4copy)
|
||||
:endfun
|
||||
:"
|
||||
:call Test(1, 2, [3, 4], {5: 6}) " This may take a while
|
||||
:"
|
||||
:delfunc Test
|
||||
|
||||
@@ -109,3 +109,5 @@ caught a:000[3]
|
||||
1
|
||||
0
|
||||
0
|
||||
1
|
||||
1
|
||||
|
||||
46
src/testdir/test76.in
Normal file
46
src/testdir/test76.in
Normal file
@@ -0,0 +1,46 @@
|
||||
Tests for completefunc/omnifunc. vim: set ft=vim :
|
||||
|
||||
STARTTEST
|
||||
:"Test that nothing happens if the 'completefunc' opens
|
||||
:"a new window (no completion, no crash)
|
||||
:so small.vim
|
||||
:function! DummyCompleteOne(findstart, base)
|
||||
: if a:findstart
|
||||
: return 0
|
||||
: else
|
||||
: wincmd n
|
||||
: return ['onedef', 'oneDEF']
|
||||
: endif
|
||||
:endfunction
|
||||
:setlocal completefunc=DummyCompleteOne
|
||||
/^one
|
||||
A:q!
|
||||
:function! DummyCompleteTwo(findstart, base)
|
||||
: if a:findstart
|
||||
: wincmd n
|
||||
: return 0
|
||||
: else
|
||||
: return ['twodef', 'twoDEF']
|
||||
: endif
|
||||
:endfunction
|
||||
:setlocal completefunc=DummyCompleteTwo
|
||||
/^two
|
||||
A:q!
|
||||
:"Test that 'completefunc' works when it's OK.
|
||||
:function! DummyCompleteThree(findstart, base)
|
||||
: if a:findstart
|
||||
: return 0
|
||||
: else
|
||||
: return ['threedef', 'threeDEF']
|
||||
: endif
|
||||
:endfunction
|
||||
:setlocal completefunc=DummyCompleteThree
|
||||
/^three
|
||||
A:/^+++/,/^three/w! test.out
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
+++
|
||||
one
|
||||
two
|
||||
three
|
||||
4
src/testdir/test76.ok
Normal file
4
src/testdir/test76.ok
Normal file
@@ -0,0 +1,4 @@
|
||||
+++
|
||||
|
||||
two
|
||||
threeDEF
|
||||
15
src/undo.c
15
src/undo.c
@@ -1861,6 +1861,7 @@ u_read_undo(name, hash, orig_name)
|
||||
curbuf->b_u_seq_cur = seq_cur;
|
||||
curbuf->b_u_time_cur = seq_time;
|
||||
curbuf->b_u_save_nr_last = last_save_nr;
|
||||
curbuf->b_u_save_nr_cur = last_save_nr;
|
||||
|
||||
curbuf->b_u_synced = TRUE;
|
||||
vim_free(uhp_table);
|
||||
@@ -2794,7 +2795,7 @@ ex_undolist(eap)
|
||||
uhp->uh_time);
|
||||
if (uhp->uh_save_nr > 0)
|
||||
{
|
||||
while (STRLEN(IObuff) < 32)
|
||||
while (STRLEN(IObuff) < 33)
|
||||
STRCAT(IObuff, " ");
|
||||
vim_snprintf_add((char *)IObuff, IOSIZE,
|
||||
" %3ld", uhp->uh_save_nr);
|
||||
@@ -2849,7 +2850,7 @@ ex_undolist(eap)
|
||||
sort_strings((char_u **)ga.ga_data, ga.ga_len);
|
||||
|
||||
msg_start();
|
||||
msg_puts_attr((char_u *)_("number changes time saved"),
|
||||
msg_puts_attr((char_u *)_("number changes when saved"),
|
||||
hl_attr(HLF_T));
|
||||
for (i = 0; i < ga.ga_len && !got_int; ++i)
|
||||
{
|
||||
@@ -2879,7 +2880,15 @@ u_add_time(buf, buflen, tt)
|
||||
if (time(NULL) - tt >= 100)
|
||||
{
|
||||
curtime = localtime(&tt);
|
||||
(void)strftime((char *)buf, buflen, "%H:%M:%S", curtime);
|
||||
if (time(NULL) - tt < (60L * 60L * 12L))
|
||||
/* within 12 hours */
|
||||
(void)strftime((char *)buf, buflen, "%H:%M:%S", curtime);
|
||||
else if (time(NULL) - tt < (60L * 60L * 24L * 180L))
|
||||
/* within 6 months */
|
||||
(void)strftime((char *)buf, buflen, "%m/%d %H:%M:%S", curtime);
|
||||
else
|
||||
/* long ago */
|
||||
(void)strftime((char *)buf, buflen, "%y/%m/%d %H:%M:%S", curtime);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
|
||||
@@ -714,6 +714,34 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
59,
|
||||
/**/
|
||||
58,
|
||||
/**/
|
||||
57,
|
||||
/**/
|
||||
56,
|
||||
/**/
|
||||
55,
|
||||
/**/
|
||||
54,
|
||||
/**/
|
||||
53,
|
||||
/**/
|
||||
52,
|
||||
/**/
|
||||
51,
|
||||
/**/
|
||||
50,
|
||||
/**/
|
||||
49,
|
||||
/**/
|
||||
48,
|
||||
/**/
|
||||
47,
|
||||
/**/
|
||||
46,
|
||||
/**/
|
||||
45,
|
||||
/**/
|
||||
|
||||
Reference in New Issue
Block a user