mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.0046
This commit is contained in:
parent
b23c33872a
commit
2ce06f6eb9
@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 7.0aa. Last change: 2005 Jan 27
|
*eval.txt* For Vim version 7.0aa. Last change: 2005 Jan 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -1458,6 +1458,7 @@ inputsave() Number save and clear typeahead
|
|||||||
inputsecret( {prompt} [, {text}]) String like input() but hiding the text
|
inputsecret( {prompt} [, {text}]) String like input() but hiding the text
|
||||||
insert( {list}, {item} [, {idx}]) List insert {item} in {list} [before {idx}]
|
insert( {list}, {item} [, {idx}]) List insert {item} in {list} [before {idx}]
|
||||||
isdirectory( {directory}) Number TRUE if {directory} is a directory
|
isdirectory( {directory}) Number TRUE if {directory} is a directory
|
||||||
|
islocked( {expr}) Number TRUE if {expr} is locked
|
||||||
items( {dict}) List List of key-value pairs in {dict}
|
items( {dict}) List List of key-value pairs in {dict}
|
||||||
join( {list} [, {sep}]) String join {list} items into one String
|
join( {list} [, {sep}]) String join {list} items into one String
|
||||||
keys( {dict}) List List of keys in {dict}
|
keys( {dict}) List List of keys in {dict}
|
||||||
@ -2783,6 +2784,19 @@ isdirectory({directory}) *isdirectory()*
|
|||||||
exist, or isn't a directory, the result is FALSE. {directory}
|
exist, or isn't a directory, the result is FALSE. {directory}
|
||||||
is any expression, which is used as a String.
|
is any expression, which is used as a String.
|
||||||
|
|
||||||
|
islocked({expr}) *islocked()*
|
||||||
|
The result is a Number, which is non-zero when {expr} is the
|
||||||
|
name of a locked variable.
|
||||||
|
{expr} must be the name of a variable, List item or Dictionary
|
||||||
|
entry, not the variable itself! Example: >
|
||||||
|
:let alist = [0, ['a', 'b'], 2, 3]
|
||||||
|
:lockvar 1 alist
|
||||||
|
:echo islocked('alist') " 1
|
||||||
|
:echo islocked('alist[1]') " 0
|
||||||
|
|
||||||
|
< When {expr} is a variable that does not exist you get an error
|
||||||
|
message. Use |exists()| to check for existance.
|
||||||
|
|
||||||
items({dict}) *items()*
|
items({dict}) *items()*
|
||||||
Return a List with all the key-value pairs of {dict}. Each
|
Return a List with all the key-value pairs of {dict}. Each
|
||||||
List item is a list with two items: the key of a {dict} entry
|
List item is a list with two items: the key of a {dict} entry
|
||||||
@ -4161,7 +4175,14 @@ Up to 20 arguments can be given, separated by commas. After the named
|
|||||||
arguments an argument "..." can be specified, which means that more arguments
|
arguments an argument "..." can be specified, which means that more arguments
|
||||||
may optionally be following. In the function the extra arguments can be used
|
may optionally be following. In the function the extra arguments can be used
|
||||||
as "a:1", "a:2", etc. "a:0" is set to the number of extra arguments (which
|
as "a:1", "a:2", etc. "a:0" is set to the number of extra arguments (which
|
||||||
can be 0). "a:000" is set to a List that contains these arguments.
|
can be 0). "a:000" is set to a List that contains these arguments. Note that
|
||||||
|
"a:1" is the same as "a:000[0]".
|
||||||
|
*E742*
|
||||||
|
The a: scope and the variables in it cannot be changed, they are fixed.
|
||||||
|
However, if a List or Dictionary is used, you can changes their contents.
|
||||||
|
Thus you can pass a List to a function and have the function add an item to
|
||||||
|
it. If you want to make sure the function cannot change a List or Dictionary
|
||||||
|
use |:lockvar|.
|
||||||
|
|
||||||
When not using "...", the number of arguments in a function call must be equal
|
When not using "...", the number of arguments in a function call must be equal
|
||||||
to the number of named arguments. When using "...", the number of arguments
|
to the number of named arguments. When using "...", the number of arguments
|
||||||
@ -4457,10 +4478,11 @@ This would call the function "my_func_whizz(parameter)".
|
|||||||
# Number
|
# Number
|
||||||
* Funcref
|
* Funcref
|
||||||
|
|
||||||
*:unlet* *:unl* *E108*
|
|
||||||
:unl[et][!] {var-name} ...
|
:unl[et][!] {name} ... *:unlet* *:unl* *E108*
|
||||||
Remove the internal variable {var-name}. Several
|
Remove the internal variable {name}. Several variable
|
||||||
variable names can be given, they are all removed.
|
names can be given, they are all removed. The name
|
||||||
|
may also be a List or Dictionary item.
|
||||||
With [!] no error message is given for non-existing
|
With [!] no error message is given for non-existing
|
||||||
variables.
|
variables.
|
||||||
One or more items from a List can be removed: >
|
One or more items from a List can be removed: >
|
||||||
@ -4470,6 +4492,52 @@ This would call the function "my_func_whizz(parameter)".
|
|||||||
:unlet dict['two']
|
:unlet dict['two']
|
||||||
:unlet dict.two
|
:unlet dict.two
|
||||||
|
|
||||||
|
:lockv[ar][!] [depth] {name} ... *:lockvar* *:lockv*
|
||||||
|
Lock the internal variable {name}. Locking means that
|
||||||
|
it can no longer be changed (until it is unlocked).
|
||||||
|
A locked variable can be deleted: >
|
||||||
|
:lockvar v
|
||||||
|
:let v = 'asdf' " fails!
|
||||||
|
:unlet v
|
||||||
|
< *E741*
|
||||||
|
If you try to change a locked variable you get an
|
||||||
|
error message: "E741: Value of {name} is locked"
|
||||||
|
|
||||||
|
[depth] is relevant when locking a List or Dictionary.
|
||||||
|
It specifies how deep the locking goes:
|
||||||
|
1 Lock the List or Dictionary itself,
|
||||||
|
cannot add or remove items, but can
|
||||||
|
still change their values.
|
||||||
|
2 Also lock the values, cannot change
|
||||||
|
the items. If an item is a List or
|
||||||
|
Dictionary, cannot add or remove
|
||||||
|
items, but can still change the
|
||||||
|
values.
|
||||||
|
3 Like 2 but for the List/Dictionary in
|
||||||
|
the List/Dictionary, one level deeper.
|
||||||
|
The default [depth] is 2, thus when {name} is a List
|
||||||
|
or Dictionary the values cannot be changed.
|
||||||
|
*E743*
|
||||||
|
For unlimited depth use [!] and omit [depth].
|
||||||
|
However, there is a maximum depth of 100 to catch
|
||||||
|
loops.
|
||||||
|
|
||||||
|
Note that when two variables refer to the same List
|
||||||
|
and you lock one of them, the List will also be locked
|
||||||
|
when used through the other variable. Example: >
|
||||||
|
:let l = [0, 1, 2, 3]
|
||||||
|
:let cl = l
|
||||||
|
:lockvar l
|
||||||
|
:let cl[1] = 99 " won't work!
|
||||||
|
< You may want to make a copy of a list to avoid this.
|
||||||
|
See |deepcopy()|.
|
||||||
|
|
||||||
|
|
||||||
|
:unlo[ckvar][!] [depth] {name} ... *:unlockvar* *:unlo*
|
||||||
|
Unlock the internal variable {name}. Does the
|
||||||
|
opposite of |:lockvar|.
|
||||||
|
|
||||||
|
|
||||||
:if {expr1} *:if* *:endif* *:en* *E171* *E579* *E580*
|
:if {expr1} *:if* *:endif* *:en* *E171* *E579* *E580*
|
||||||
:en[dif] Execute the commands until the next matching ":else"
|
:en[dif] Execute the commands until the next matching ":else"
|
||||||
or ":endif" if {expr1} evaluates to non-zero.
|
or ":endif" if {expr1} evaluates to non-zero.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 7.0aa. Last change: 2005 Jan 26
|
*options.txt* For Vim version 7.0aa. Last change: 2005 Jan 30
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -4402,6 +4402,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
|||||||
knows about pasting and will mostly do the right thing without 'paste'
|
knows about pasting and will mostly do the right thing without 'paste'
|
||||||
being set. The same is true for a terminal where Vim handles the
|
being set. The same is true for a terminal where Vim handles the
|
||||||
mouse clicks itself.
|
mouse clicks itself.
|
||||||
|
This option is reset when starting the GUI. Thus if you set it in
|
||||||
|
your .vimrc it will work in a terminal, but not in the GUI. Setting
|
||||||
|
'paste' in the GUI has side effects: e.g., the Paste toolbar button
|
||||||
|
will no longer work in Insert mode, because it uses a mapping.
|
||||||
When the 'paste' option is switched on (also when it was already on):
|
When the 'paste' option is switched on (also when it was already on):
|
||||||
- mapping in Insert mode and Command-line mode is disabled
|
- mapping in Insert mode and Command-line mode is disabled
|
||||||
- abbreviations are disabled
|
- abbreviations are disabled
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*repeat.txt* For Vim version 7.0aa. Last change: 2004 Jul 30
|
*repeat.txt* For Vim version 7.0aa. Last change: 2005 Jan 28
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -497,6 +497,10 @@ The match for functions is done against the name as it's shown in the output
|
|||||||
of ":function". For local functions this means that something like "<SNR>99_"
|
of ":function". For local functions this means that something like "<SNR>99_"
|
||||||
is prepended.
|
is prepended.
|
||||||
|
|
||||||
|
Note that functions are first loaded and later executed. When they are loaded
|
||||||
|
the "file" breakpoints are checked, when they are executed the "func"
|
||||||
|
breakpoints.
|
||||||
|
|
||||||
|
|
||||||
DELETING BREAKPOINTS
|
DELETING BREAKPOINTS
|
||||||
*:breakd* *:breakdel* *E161*
|
*:breakd* *:breakdel* *E161*
|
||||||
|
@ -2059,6 +2059,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
:loadview starting.txt /*:loadview*
|
:loadview starting.txt /*:loadview*
|
||||||
:loc motion.txt /*:loc*
|
:loc motion.txt /*:loc*
|
||||||
:lockmarks motion.txt /*:lockmarks*
|
:lockmarks motion.txt /*:lockmarks*
|
||||||
|
:lockv eval.txt /*:lockv*
|
||||||
|
:lockvar eval.txt /*:lockvar*
|
||||||
:ls windows.txt /*:ls*
|
:ls windows.txt /*:ls*
|
||||||
:lu map.txt /*:lu*
|
:lu map.txt /*:lu*
|
||||||
:lunmap map.txt /*:lunmap*
|
:lunmap map.txt /*:lunmap*
|
||||||
@ -2118,6 +2120,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
:mzfile if_mzsch.txt /*:mzfile*
|
:mzfile if_mzsch.txt /*:mzfile*
|
||||||
:mzscheme if_mzsch.txt /*:mzscheme*
|
:mzscheme if_mzsch.txt /*:mzscheme*
|
||||||
:n editing.txt /*:n*
|
:n editing.txt /*:n*
|
||||||
|
:nbkey netbeans.txt /*:nbkey*
|
||||||
:ne editing.txt /*:ne*
|
:ne editing.txt /*:ne*
|
||||||
:new windows.txt /*:new*
|
:new windows.txt /*:new*
|
||||||
:next editing.txt /*:next*
|
:next editing.txt /*:next*
|
||||||
@ -2505,6 +2508,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
|||||||
:unhide windows.txt /*:unhide*
|
:unhide windows.txt /*:unhide*
|
||||||
:unl eval.txt /*:unl*
|
:unl eval.txt /*:unl*
|
||||||
:unlet eval.txt /*:unlet*
|
:unlet eval.txt /*:unlet*
|
||||||
|
:unlo eval.txt /*:unlo*
|
||||||
|
:unlockvar eval.txt /*:unlockvar*
|
||||||
:unm map.txt /*:unm*
|
:unm map.txt /*:unm*
|
||||||
:unm! map.txt /*:unm!*
|
:unm! map.txt /*:unm!*
|
||||||
:unmap map.txt /*:unmap*
|
:unmap map.txt /*:unmap*
|
||||||
@ -3641,6 +3646,10 @@ E738 eval.txt /*E738*
|
|||||||
E739 starting.txt /*E739*
|
E739 starting.txt /*E739*
|
||||||
E74 message.txt /*E74*
|
E74 message.txt /*E74*
|
||||||
E740 eval.txt /*E740*
|
E740 eval.txt /*E740*
|
||||||
|
E741 eval.txt /*E741*
|
||||||
|
E742 eval.txt /*E742*
|
||||||
|
E743 eval.txt /*E743*
|
||||||
|
E744 netbeans.txt /*E744*
|
||||||
E75 vi_diff.txt /*E75*
|
E75 vi_diff.txt /*E75*
|
||||||
E76 pattern.txt /*E76*
|
E76 pattern.txt /*E76*
|
||||||
E77 message.txt /*E77*
|
E77 message.txt /*E77*
|
||||||
@ -5292,6 +5301,7 @@ ip motion.txt /*ip*
|
|||||||
iquote motion.txt /*iquote*
|
iquote motion.txt /*iquote*
|
||||||
is motion.txt /*is*
|
is motion.txt /*is*
|
||||||
isdirectory() eval.txt /*isdirectory()*
|
isdirectory() eval.txt /*isdirectory()*
|
||||||
|
islocked() eval.txt /*islocked()*
|
||||||
items() eval.txt /*items()*
|
items() eval.txt /*items()*
|
||||||
iw motion.txt /*iw*
|
iw motion.txt /*iw*
|
||||||
i{ motion.txt /*i{*
|
i{ motion.txt /*i{*
|
||||||
@ -5553,6 +5563,7 @@ nb-terms netbeans.txt /*nb-terms*
|
|||||||
ncf-syntax syntax.txt /*ncf-syntax*
|
ncf-syntax syntax.txt /*ncf-syntax*
|
||||||
ncf.vim syntax.txt /*ncf.vim*
|
ncf.vim syntax.txt /*ncf.vim*
|
||||||
netbeans netbeans.txt /*netbeans*
|
netbeans netbeans.txt /*netbeans*
|
||||||
|
netbeans-commands netbeans.txt /*netbeans-commands*
|
||||||
netbeans-configure netbeans.txt /*netbeans-configure*
|
netbeans-configure netbeans.txt /*netbeans-configure*
|
||||||
netbeans-download netbeans.txt /*netbeans-download*
|
netbeans-download netbeans.txt /*netbeans-download*
|
||||||
netbeans-intro netbeans.txt /*netbeans-intro*
|
netbeans-intro netbeans.txt /*netbeans-intro*
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
" Vim support file to detect file types
|
" Vim support file to detect file types
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2005 Jan 24
|
" Last Change: 2005 Jan 27
|
||||||
|
|
||||||
" Listen very carefully, I will say this only once
|
" Listen very carefully, I will say this only once
|
||||||
if exists("did_load_filetypes")
|
if exists("did_load_filetypes")
|
||||||
@ -541,7 +541,7 @@ au BufNewFile,BufRead *.mas,*.master setf master
|
|||||||
au BufNewFile,BufRead *.fs,*.ft setf forth
|
au BufNewFile,BufRead *.fs,*.ft setf forth
|
||||||
|
|
||||||
" Fortran
|
" Fortran
|
||||||
au BufNewFile,BufRead *.f,*.F,*.for,*.fpp,*.ftn,*.f77,*.F77,*.f90,*.F90,*.f95,*.F95 setf fortran
|
au BufNewFile,BufRead *.f,*.F,*.for,*.fpp,*.FPP*.ftn,*.f77,*.F77,*.f90,*.F90,*.f95,*.F95 setf fortran
|
||||||
|
|
||||||
" FStab
|
" FStab
|
||||||
au BufNewFile,BufRead fstab setf fstab
|
au BufNewFile,BufRead fstab setf fstab
|
||||||
@ -647,15 +647,18 @@ au BufNewFile,BufRead *.odl,*.mof setf msidl
|
|||||||
" Icewm menu
|
" Icewm menu
|
||||||
au BufNewFile,BufRead */.icewm/menu setf icemenu
|
au BufNewFile,BufRead */.icewm/menu setf icemenu
|
||||||
|
|
||||||
" Inform
|
|
||||||
au BufNewFile,BufRead .indent.pro setf indent
|
|
||||||
|
|
||||||
" IDL (Interactive Data Language)
|
" IDL (Interactive Data Language)
|
||||||
au BufNewFile,BufRead *.pro setf idlang
|
au BufNewFile,BufRead *.pro setf idlang
|
||||||
|
|
||||||
|
" Inform
|
||||||
|
au BufNewFile,BufRead .indent.pro setf indent
|
||||||
|
|
||||||
" Inform
|
" Inform
|
||||||
au BufNewFile,BufRead *.inf,*.INF setf inform
|
au BufNewFile,BufRead *.inf,*.INF setf inform
|
||||||
|
|
||||||
|
" Ipfilter
|
||||||
|
au BufNewFile,BufRead ipf.conf,ipf.rules setf ipfilter
|
||||||
|
|
||||||
" Informix 4GL (source - canonical, include file, I4GL+M4 preproc.)
|
" Informix 4GL (source - canonical, include file, I4GL+M4 preproc.)
|
||||||
au BufNewFile,BufRead *.4gl,*.4gh,*.m4gl setf fgl
|
au BufNewFile,BufRead *.4gl,*.4gh,*.m4gl setf fgl
|
||||||
|
|
||||||
|
@ -1 +1,3 @@
|
|||||||
|
" Menu Translations: Traditional Chinese
|
||||||
|
|
||||||
source <sfile>:p:h/menu_chinese_taiwan.950.vim
|
source <sfile>:p:h/menu_chinese_taiwan.950.vim
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
" Menu Translations: Traditional Chinese (for UTF-8)
|
" Menu Translations: Traditional Chinese
|
||||||
" Translated By: Hung-Teh, Lin <piaip@csie.ntu.edu.tw>
|
" Translated By: Hung-Te Lin <piaip@csie.ntu.edu.tw>
|
||||||
" Last Change: Thu Apr 24 17:35:17 CST 2003
|
" Last Change: 2005/01/28 02:51:38
|
||||||
|
|
||||||
" {{{ Quit when menu translations have already been done.
|
" {{{ Quit when menu translations have already been done.
|
||||||
if exists("did_menu_trans")
|
if exists("did_menu_trans")
|
||||||
@ -19,7 +19,8 @@ menutrans &User\ Manual 使用者手冊(&U)
|
|||||||
menutrans &How-to\ links 如何作\.\.\.(&H)
|
menutrans &How-to\ links 如何作\.\.\.(&H)
|
||||||
menutrans &GUI 圖型界面(&G)
|
menutrans &GUI 圖型界面(&G)
|
||||||
menutrans &Credits 感謝(&C)
|
menutrans &Credits 感謝(&C)
|
||||||
menutrans Co&pying 版權宣告(&P)
|
menutrans Co&pying 版權(&P)
|
||||||
|
menutrans &Sponsor/Register 贊助/註冊(&S)
|
||||||
menutrans O&rphans 拯救孤兒(&R)
|
menutrans O&rphans 拯救孤兒(&R)
|
||||||
" ------------------------------------------------------------------------
|
" ------------------------------------------------------------------------
|
||||||
menutrans &Version 程式版本資訊(&V)
|
menutrans &Version 程式版本資訊(&V)
|
||||||
@ -59,7 +60,7 @@ menutrans &Paste<Tab>"+gP 貼上(&P)<Tab>"+gP
|
|||||||
menutrans Put\ &Before<Tab>[p 貼到游標前(&B)<Tab>[p
|
menutrans Put\ &Before<Tab>[p 貼到游標前(&B)<Tab>[p
|
||||||
menutrans Put\ &After<Tab>]p 貼到游標後(&A)<Tab>]p
|
menutrans Put\ &After<Tab>]p 貼到游標後(&A)<Tab>]p
|
||||||
menutrans &Delete<Tab>x 刪除(&D)<Tab>x
|
menutrans &Delete<Tab>x 刪除(&D)<Tab>x
|
||||||
menutrans &Select\ all<Tab>ggVG 全選(&S)<Tab>ggvG
|
menutrans &Select\ All<Tab>ggVG 全選(&S)<Tab>ggvG
|
||||||
" ------------------------------------------------------------------------
|
" ------------------------------------------------------------------------
|
||||||
menutrans &Find\.\.\. 尋找(&F)\.\.\.
|
menutrans &Find\.\.\. 尋找(&F)\.\.\.
|
||||||
menutrans Find\ and\ Rep&lace\.\.\. 尋找並取代(&L)\.\.\.
|
menutrans Find\ and\ Rep&lace\.\.\. 尋找並取代(&L)\.\.\.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
" You can also use this as a start for your own set of menus.
|
" You can also use this as a start for your own set of menus.
|
||||||
"
|
"
|
||||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||||
" Last Change: 2004 Dec 04
|
" Last Change: 2005 Jan 30
|
||||||
|
|
||||||
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||||
" in all modes and avoid side effects from mappings defined by the user.
|
" in all modes and avoid side effects from mappings defined by the user.
|
||||||
@ -54,12 +54,13 @@ if exists("v:lang") || &langmenu != ""
|
|||||||
" There is no exact match, try matching with a wildcard added
|
" There is no exact match, try matching with a wildcard added
|
||||||
" (e.g. find menu_de_de.iso_8859-1.vim if s:lang == de_DE).
|
" (e.g. find menu_de_de.iso_8859-1.vim if s:lang == de_DE).
|
||||||
let s:lang = substitute(s:lang, '\.[^.]*', "", "")
|
let s:lang = substitute(s:lang, '\.[^.]*', "", "")
|
||||||
exe "runtime! lang/menu_" . s:lang . "*.vim"
|
exe "runtime! lang/menu_" . s:lang . "[^a-z]*.vim"
|
||||||
|
|
||||||
if !exists("did_menu_trans") && strlen($LANG) > 1
|
if !exists("did_menu_trans") && strlen($LANG) > 1
|
||||||
" On windows locale names are complicated, try using $LANG, it might
|
" On windows locale names are complicated, try using $LANG, it might
|
||||||
" have been set by set_init_1().
|
" have been set by set_init_1().
|
||||||
exe "runtime! lang/menu_" . tolower($LANG) . "*.vim"
|
" But don't match "slovak" when $LANG is "sl".
|
||||||
|
exe "runtime! lang/menu_" . tolower($LANG) . "[^a-z]*vim"
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
144
src/auto/configure
vendored
144
src/auto/configure
vendored
@ -9721,30 +9721,24 @@ fi
|
|||||||
if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
|
if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
|
||||||
cppflags_save=$CPPFLAGS
|
cppflags_save=$CPPFLAGS
|
||||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
||||||
|
echo "$as_me:$LINENO: checking for X11/Xmu/Editres.h" >&5
|
||||||
for ac_header in X11/Xmu/Editres.h
|
echo $ECHO_N "checking for X11/Xmu/Editres.h... $ECHO_C" >&6
|
||||||
do
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
|
||||||
if eval "test \"\${$as_ac_Header+set}\" = set"; then
|
|
||||||
echo "$as_me:$LINENO: checking for $ac_header" >&5
|
|
||||||
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
|
|
||||||
if eval "test \"\${$as_ac_Header+set}\" = set"; then
|
|
||||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
|
||||||
fi
|
|
||||||
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
|
|
||||||
echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
|
|
||||||
else
|
|
||||||
# Is the header compilable?
|
|
||||||
echo "$as_me:$LINENO: checking $ac_header usability" >&5
|
|
||||||
echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
|
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
|
||||||
/* confdefs.h. */
|
/* confdefs.h. */
|
||||||
_ACEOF
|
_ACEOF
|
||||||
cat confdefs.h >>conftest.$ac_ext
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
/* end confdefs.h. */
|
/* end confdefs.h. */
|
||||||
$ac_includes_default
|
|
||||||
#include <$ac_header>
|
#include <X11/Intrinsic.h>
|
||||||
|
#include <X11/Xmu/Editres.h>
|
||||||
|
int
|
||||||
|
main ()
|
||||||
|
{
|
||||||
|
int i; i = 0;
|
||||||
|
;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
_ACEOF
|
_ACEOF
|
||||||
rm -f conftest.$ac_objext
|
rm -f conftest.$ac_objext
|
||||||
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
||||||
@ -9768,109 +9762,20 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
|
|||||||
ac_status=$?
|
ac_status=$?
|
||||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
(exit $ac_status); }; }; then
|
(exit $ac_status); }; }; then
|
||||||
ac_header_compiler=yes
|
echo "$as_me:$LINENO: result: yes" >&5
|
||||||
|
echo "${ECHO_T}yes" >&6
|
||||||
|
cat >>confdefs.h <<\_ACEOF
|
||||||
|
#define HAVE_X11_XMU_EDITRES_H 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "$as_me: failed program was:" >&5
|
echo "$as_me: failed program was:" >&5
|
||||||
sed 's/^/| /' conftest.$ac_ext >&5
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
ac_header_compiler=no
|
echo "$as_me:$LINENO: result: no" >&5
|
||||||
|
echo "${ECHO_T}no" >&6
|
||||||
fi
|
fi
|
||||||
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
|
|
||||||
echo "${ECHO_T}$ac_header_compiler" >&6
|
|
||||||
|
|
||||||
# Is the header present?
|
|
||||||
echo "$as_me:$LINENO: checking $ac_header presence" >&5
|
|
||||||
echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
|
|
||||||
cat >conftest.$ac_ext <<_ACEOF
|
|
||||||
/* confdefs.h. */
|
|
||||||
_ACEOF
|
|
||||||
cat confdefs.h >>conftest.$ac_ext
|
|
||||||
cat >>conftest.$ac_ext <<_ACEOF
|
|
||||||
/* end confdefs.h. */
|
|
||||||
#include <$ac_header>
|
|
||||||
_ACEOF
|
|
||||||
if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
|
|
||||||
(eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
|
|
||||||
ac_status=$?
|
|
||||||
grep -v '^ *+' conftest.er1 >conftest.err
|
|
||||||
rm -f conftest.er1
|
|
||||||
cat conftest.err >&5
|
|
||||||
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
|
||||||
(exit $ac_status); } >/dev/null; then
|
|
||||||
if test -s conftest.err; then
|
|
||||||
ac_cpp_err=$ac_c_preproc_warn_flag
|
|
||||||
ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
|
|
||||||
else
|
|
||||||
ac_cpp_err=
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
ac_cpp_err=yes
|
|
||||||
fi
|
|
||||||
if test -z "$ac_cpp_err"; then
|
|
||||||
ac_header_preproc=yes
|
|
||||||
else
|
|
||||||
echo "$as_me: failed program was:" >&5
|
|
||||||
sed 's/^/| /' conftest.$ac_ext >&5
|
|
||||||
|
|
||||||
ac_header_preproc=no
|
|
||||||
fi
|
|
||||||
rm -f conftest.err conftest.$ac_ext
|
|
||||||
echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
|
|
||||||
echo "${ECHO_T}$ac_header_preproc" >&6
|
|
||||||
|
|
||||||
# So? What about this header?
|
|
||||||
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
|
|
||||||
yes:no: )
|
|
||||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
|
|
||||||
echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
|
|
||||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
|
|
||||||
echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
|
|
||||||
ac_header_preproc=yes
|
|
||||||
;;
|
|
||||||
no:yes:* )
|
|
||||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
|
|
||||||
echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
|
|
||||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
|
|
||||||
echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
|
|
||||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
|
|
||||||
echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
|
|
||||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
|
|
||||||
echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
|
|
||||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
|
|
||||||
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
|
|
||||||
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
|
|
||||||
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
|
|
||||||
(
|
|
||||||
cat <<\_ASBOX
|
|
||||||
## ------------------------------------------ ##
|
|
||||||
## Report this to the AC_PACKAGE_NAME lists. ##
|
|
||||||
## ------------------------------------------ ##
|
|
||||||
_ASBOX
|
|
||||||
) |
|
|
||||||
sed "s/^/$as_me: WARNING: /" >&2
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
echo "$as_me:$LINENO: checking for $ac_header" >&5
|
|
||||||
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
|
|
||||||
if eval "test \"\${$as_ac_Header+set}\" = set"; then
|
|
||||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
|
||||||
else
|
|
||||||
eval "$as_ac_Header=\$ac_header_preproc"
|
|
||||||
fi
|
|
||||||
echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
|
|
||||||
echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
|
|
||||||
|
|
||||||
fi
|
|
||||||
if test `eval echo '${'$as_ac_Header'}'` = yes; then
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
|
||||||
#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
|
|
||||||
_ACEOF
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
|
|
||||||
CPPFLAGS=$cppflags_save
|
CPPFLAGS=$cppflags_save
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -9879,7 +9784,12 @@ if test -z "$SKIP_MOTIF"; then
|
|||||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
||||||
|
|
||||||
|
|
||||||
for ac_header in Xm/Xm.h Xm/XpmP.h
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for ac_header in Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
|
||||||
|
Xm/UnhighlightT.h
|
||||||
do
|
do
|
||||||
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
|
||||||
if eval "test \"\${$as_ac_Header+set}\" = set"; then
|
if eval "test \"\${$as_ac_Header+set}\" = set"; then
|
||||||
|
@ -234,6 +234,10 @@
|
|||||||
#undef HAVE_X11_SUNKEYSYM_H
|
#undef HAVE_X11_SUNKEYSYM_H
|
||||||
#undef HAVE_XM_XM_H
|
#undef HAVE_XM_XM_H
|
||||||
#undef HAVE_XM_XPMP_H
|
#undef HAVE_XM_XPMP_H
|
||||||
|
#undef HAVE_XM_TRAITP_H
|
||||||
|
#undef HAVE_XM_MANAGER_H
|
||||||
|
#undef HAVE_XM_UNHIGHLIGHTT_H
|
||||||
|
#undef HAVE_XM_JOINSIDET_H
|
||||||
#undef HAVE_X11_XPM_H
|
#undef HAVE_X11_XPM_H
|
||||||
#undef HAVE_X11_XMU_EDITRES_H
|
#undef HAVE_X11_XMU_EDITRES_H
|
||||||
#undef HAVE_X11_SM_SMLIB_H
|
#undef HAVE_X11_SM_SMLIB_H
|
||||||
|
@ -2120,7 +2120,15 @@ fi
|
|||||||
if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
|
if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
|
||||||
cppflags_save=$CPPFLAGS
|
cppflags_save=$CPPFLAGS
|
||||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
||||||
AC_CHECK_HEADERS(X11/Xmu/Editres.h)
|
dnl Xmu/Editres.h may exist but can only be used after including Intrinsic.h
|
||||||
|
AC_MSG_CHECKING([for X11/Xmu/Editres.h])
|
||||||
|
AC_TRY_COMPILE([
|
||||||
|
#include <X11/Intrinsic.h>
|
||||||
|
#include <X11/Xmu/Editres.h>],
|
||||||
|
[int i; i = 0;],
|
||||||
|
AC_MSG_RESULT(yes)
|
||||||
|
AC_DEFINE(HAVE_X11_XMU_EDITRES_H),
|
||||||
|
AC_MSG_RESULT(no))
|
||||||
CPPFLAGS=$cppflags_save
|
CPPFLAGS=$cppflags_save
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -2128,7 +2136,8 @@ dnl Only use the Xm directory when compiling Motif, don't use it for Athena
|
|||||||
if test -z "$SKIP_MOTIF"; then
|
if test -z "$SKIP_MOTIF"; then
|
||||||
cppflags_save=$CPPFLAGS
|
cppflags_save=$CPPFLAGS
|
||||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
||||||
AC_CHECK_HEADERS(Xm/Xm.h Xm/XpmP.h)
|
AC_CHECK_HEADERS(Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
|
||||||
|
Xm/UnhighlightT.h)
|
||||||
CPPFLAGS=$cppflags_save
|
CPPFLAGS=$cppflags_save
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1828,8 +1828,8 @@ ex_compiler(eap)
|
|||||||
do_cmdline_cmd((char_u *)
|
do_cmdline_cmd((char_u *)
|
||||||
"command -nargs=* CompilerSet setlocal <args>");
|
"command -nargs=* CompilerSet setlocal <args>");
|
||||||
}
|
}
|
||||||
do_unlet((char_u *)"current_compiler");
|
do_unlet((char_u *)"current_compiler", TRUE);
|
||||||
do_unlet((char_u *)"b:current_compiler");
|
do_unlet((char_u *)"b:current_compiler", TRUE);
|
||||||
|
|
||||||
sprintf((char *)buf, "compiler/%s.vim", eap->arg);
|
sprintf((char *)buf, "compiler/%s.vim", eap->arg);
|
||||||
if (cmd_runtime(buf, TRUE) == FAIL)
|
if (cmd_runtime(buf, TRUE) == FAIL)
|
||||||
@ -1853,7 +1853,7 @@ ex_compiler(eap)
|
|||||||
vim_free(old_cur_comp);
|
vim_free(old_cur_comp);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
do_unlet((char_u *)"current_compiler");
|
do_unlet((char_u *)"current_compiler", TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3831,7 +3831,7 @@ gui_mch_destroy_sign(sign)
|
|||||||
#if defined(FEAT_BEVAL) || defined(PROTO)
|
#if defined(FEAT_BEVAL) || defined(PROTO)
|
||||||
|
|
||||||
/* BALLOON-EVAL IMPLEMENTATION FOR WINDOWS.
|
/* BALLOON-EVAL IMPLEMENTATION FOR WINDOWS.
|
||||||
* Added by Sergey Khorev
|
* Added by Sergey Khorev <sergey.khorev@gmail.com>
|
||||||
*
|
*
|
||||||
* The only reused thing is gui_beval.h and gui_mch_get_beval_info()
|
* The only reused thing is gui_beval.h and gui_mch_get_beval_info()
|
||||||
* from gui_beval.c (note it uses x and y of the BalloonEval struct
|
* from gui_beval.c (note it uses x and y of the BalloonEval struct
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* vi:set ts=8 sts=4 sw=4:
|
/* vi:set ts=8 sts=4 sw=4:
|
||||||
*
|
*
|
||||||
* CSCOPE support for Vim added by Andy Kahn <kahn@zk3.dec.com>
|
* CSCOPE support for Vim added by Andy Kahn <kahn@zk3.dec.com>
|
||||||
* Ported to Win32 by Sergey Khorev <khorev@softlab.ru>
|
* Ported to Win32 by Sergey Khorev <sergey.khorev@gmail.com>
|
||||||
*
|
*
|
||||||
* The basic idea/structure of cscope for Vim was borrowed from Nvi. There
|
* The basic idea/structure of cscope for Vim was borrowed from Nvi. There
|
||||||
* might be a few lines of code that look similar to what Nvi has.
|
* might be a few lines of code that look similar to what Nvi has.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/* vi:set ts=8 sts=4 sw=4:
|
/* vi:set ts=8 sts=4 sw=4:
|
||||||
*
|
*
|
||||||
* CSCOPE support for Vim added by Andy Kahn <kahn@zk3.dec.com>
|
* CSCOPE support for Vim added by Andy Kahn <kahn@zk3.dec.com>
|
||||||
* Ported to Win32 by Sergey Khorev <khorev@softlab.ru>
|
* Ported to Win32 by Sergey Khorev <sergey.khorev@gmail.com>
|
||||||
*
|
*
|
||||||
* The basic idea/structure of cscope for Vim was borrowed from Nvi.
|
* The basic idea/structure of cscope for Vim was borrowed from Nvi.
|
||||||
* There might be a few lines of code that look similar to what Nvi
|
* There might be a few lines of code that look similar to what Nvi
|
||||||
|
@ -35,7 +35,6 @@
|
|||||||
#define NBDLEVEL(flags) (nb_debug != NULL && (nb_dlevel & (flags)))
|
#define NBDLEVEL(flags) (nb_debug != NULL && (nb_dlevel & (flags)))
|
||||||
|
|
||||||
#define NBDEBUG_TRACE 1
|
#define NBDEBUG_TRACE 1
|
||||||
//#define NBDEBUG_SENSE 2
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
WT_ENV = 1, /* look for env var if set */
|
WT_ENV = 1, /* look for env var if set */
|
||||||
|
@ -4908,7 +4908,7 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
|
|||||||
/* The color scheme must have set 'background' back to another
|
/* The color scheme must have set 'background' back to another
|
||||||
* value, that's not what we want here. Disable the color
|
* value, that's not what we want here. Disable the color
|
||||||
* scheme and set the colors again. */
|
* scheme and set the colors again. */
|
||||||
do_unlet((char_u *)"g:colors_name");
|
do_unlet((char_u *)"g:colors_name", TRUE);
|
||||||
free_string_option(p_bg);
|
free_string_option(p_bg);
|
||||||
p_bg = vim_strsave((char_u *)(dark ? "dark" : "light"));
|
p_bg = vim_strsave((char_u *)(dark ? "dark" : "light"));
|
||||||
check_string_option(&p_bg);
|
check_string_option(&p_bg);
|
||||||
|
@ -27,7 +27,8 @@ void free_for_info __ARGS((void *fi_void));
|
|||||||
void set_context_for_expression __ARGS((expand_T *xp, char_u *arg, cmdidx_T cmdidx));
|
void set_context_for_expression __ARGS((expand_T *xp, char_u *arg, cmdidx_T cmdidx));
|
||||||
void ex_call __ARGS((exarg_T *eap));
|
void ex_call __ARGS((exarg_T *eap));
|
||||||
void ex_unlet __ARGS((exarg_T *eap));
|
void ex_unlet __ARGS((exarg_T *eap));
|
||||||
int do_unlet __ARGS((char_u *name));
|
void ex_lockvar __ARGS((exarg_T *eap));
|
||||||
|
int do_unlet __ARGS((char_u *name, int forceit));
|
||||||
void del_menutrans_vars __ARGS((void));
|
void del_menutrans_vars __ARGS((void));
|
||||||
char_u *get_user_var_name __ARGS((expand_T *xp, int idx));
|
char_u *get_user_var_name __ARGS((expand_T *xp, int idx));
|
||||||
char_u *get_function_name __ARGS((expand_T *xp, int idx));
|
char_u *get_function_name __ARGS((expand_T *xp, int idx));
|
||||||
@ -42,7 +43,6 @@ char_u *v_throwpoint __ARGS((char_u *oldval));
|
|||||||
char_u *set_cmdarg __ARGS((exarg_T *eap, char_u *oldarg));
|
char_u *set_cmdarg __ARGS((exarg_T *eap, char_u *oldarg));
|
||||||
char_u *get_var_value __ARGS((char_u *name));
|
char_u *get_var_value __ARGS((char_u *name));
|
||||||
void new_script_vars __ARGS((scid_T id));
|
void new_script_vars __ARGS((scid_T id));
|
||||||
void vars_init __ARGS((hashtab_T *ht));
|
|
||||||
void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var));
|
void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var));
|
||||||
void vars_clear __ARGS((hashtab_T *ht));
|
void vars_clear __ARGS((hashtab_T *ht));
|
||||||
void ex_echo __ARGS((exarg_T *eap));
|
void ex_echo __ARGS((exarg_T *eap));
|
||||||
|
@ -4165,8 +4165,8 @@ win_line(wp, lnum, startrow, endrow)
|
|||||||
#ifdef FEAT_MBYTE
|
#ifdef FEAT_MBYTE
|
||||||
/* When there is a multi-byte character, just output a
|
/* When there is a multi-byte character, just output a
|
||||||
* space to keep it simple. */
|
* space to keep it simple. */
|
||||||
if (has_mbyte && mb_off2cells(LineOffset[screen_row - 1]
|
if (has_mbyte && MB_BYTE2LEN(ScreenLines[LineOffset[
|
||||||
+ (unsigned)Columns - 1) != 1)
|
screen_row - 1] + (Columns - 1)]) > 1)
|
||||||
out_char(' ');
|
out_char(' ');
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
|
@ -963,7 +963,8 @@ typedef struct dictvar_S dict_T;
|
|||||||
*/
|
*/
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
char v_type; /* see below: VAR_NUMBER, VAR_STRING, etc. */
|
char v_type; /* see below: VAR_NUMBER, VAR_STRING, etc. */
|
||||||
|
char v_lock; /* see below: VAR_LOCKED, VAR_FIXED */
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
varnumber_T v_number; /* number value */
|
varnumber_T v_number; /* number value */
|
||||||
@ -981,6 +982,10 @@ typedef struct
|
|||||||
#define VAR_LIST 4 /* "v_list" is used */
|
#define VAR_LIST 4 /* "v_list" is used */
|
||||||
#define VAR_DICT 5 /* "v_dict" is used */
|
#define VAR_DICT 5 /* "v_dict" is used */
|
||||||
|
|
||||||
|
/* Values for "v_lock". */
|
||||||
|
#define VAR_LOCKED 1 /* locked with lock(), can use unlock() */
|
||||||
|
#define VAR_FIXED 2 /* locked forever */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Structure to hold an item of a list: an internal variable without a name.
|
* Structure to hold an item of a list: an internal variable without a name.
|
||||||
*/
|
*/
|
||||||
@ -1013,6 +1018,7 @@ struct listvar_S
|
|||||||
listitem_T *lv_first; /* first item, NULL if none */
|
listitem_T *lv_first; /* first item, NULL if none */
|
||||||
listitem_T *lv_last; /* last item, NULL if none */
|
listitem_T *lv_last; /* last item, NULL if none */
|
||||||
listwatch_T *lv_watch; /* first watcher, NULL if none */
|
listwatch_T *lv_watch; /* first watcher, NULL if none */
|
||||||
|
char lv_lock; /* zero, VAR_LOCKED, VAR_FIXED */
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1032,6 +1038,7 @@ typedef struct dictitem_S dictitem_T;
|
|||||||
#define DI_FLAGS_RO 1 /* "di_flags" value: read-only variable */
|
#define DI_FLAGS_RO 1 /* "di_flags" value: read-only variable */
|
||||||
#define DI_FLAGS_RO_SBX 2 /* "di_flags" value: read-only in the sandbox */
|
#define DI_FLAGS_RO_SBX 2 /* "di_flags" value: read-only in the sandbox */
|
||||||
#define DI_FLAGS_FIX 4 /* "di_flags" value: fixed variable, not allocated */
|
#define DI_FLAGS_FIX 4 /* "di_flags" value: fixed variable, not allocated */
|
||||||
|
#define DI_FLAGS_LOCK 8 /* "di_flags" value: locked variable */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Structure to hold info about a Dictionary.
|
* Structure to hold info about a Dictionary.
|
||||||
@ -1040,6 +1047,7 @@ struct dictvar_S
|
|||||||
{
|
{
|
||||||
int dv_refcount; /* reference count */
|
int dv_refcount; /* reference count */
|
||||||
hashtab_T dv_hashtab; /* hashtab that refers to the items */
|
hashtab_T dv_hashtab; /* hashtab that refers to the items */
|
||||||
|
char dv_lock; /* zero, VAR_LOCKED, VAR_FIXED */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -3212,7 +3212,7 @@ syn_cmd_clear(eap, syncing)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
syntax_clear(curbuf);
|
syntax_clear(curbuf);
|
||||||
do_unlet((char_u *)"b:current_syntax");
|
do_unlet((char_u *)"b:current_syntax", TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -3313,7 +3313,7 @@ syn_cmd_enable(eap, syncing)
|
|||||||
{
|
{
|
||||||
set_internal_string_var((char_u *)"syntax_cmd", (char_u *)"enable");
|
set_internal_string_var((char_u *)"syntax_cmd", (char_u *)"enable");
|
||||||
syn_cmd_onoff(eap, "syntax");
|
syn_cmd_onoff(eap, "syntax");
|
||||||
do_unlet((char_u *)"g:syntax_cmd");
|
do_unlet((char_u *)"g:syntax_cmd", TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -3330,7 +3330,7 @@ syn_cmd_reset(eap, syncing)
|
|||||||
{
|
{
|
||||||
set_internal_string_var((char_u *)"syntax_cmd", (char_u *)"reset");
|
set_internal_string_var((char_u *)"syntax_cmd", (char_u *)"reset");
|
||||||
do_cmdline_cmd((char_u *)"runtime! syntax/syncolor.vim");
|
do_cmdline_cmd((char_u *)"runtime! syntax/syncolor.vim");
|
||||||
do_unlet((char_u *)"g:syntax_cmd");
|
do_unlet((char_u *)"g:syntax_cmd", TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6271,7 +6271,7 @@ do_highlight(line, forceit, init)
|
|||||||
*/
|
*/
|
||||||
#endif
|
#endif
|
||||||
#ifdef FEAT_EVAL
|
#ifdef FEAT_EVAL
|
||||||
do_unlet((char_u *)"colors_name");
|
do_unlet((char_u *)"colors_name", TRUE);
|
||||||
#endif
|
#endif
|
||||||
restore_cterm_colors();
|
restore_cterm_colors();
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ Tests for List and Dictionary types. vim: set ft=vim :
|
|||||||
|
|
||||||
STARTTEST
|
STARTTEST
|
||||||
:so small.vim
|
:so small.vim
|
||||||
:fun Test()
|
:fun Test(...)
|
||||||
:" Creating List directly with different types
|
:" Creating List directly with different types
|
||||||
:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]
|
:let l = [1, 'as''d', [1, 2, function("strlen")], {'a': 1},]
|
||||||
:$put =string(l)
|
:$put =string(l)
|
||||||
@ -27,12 +27,12 @@ STARTTEST
|
|||||||
:let d = {001: 'asd', 'b': [1, 2, function('strlen')], -1: {'a': 1},}
|
:let d = {001: 'asd', 'b': [1, 2, function('strlen')], -1: {'a': 1},}
|
||||||
:$put =string(d) . d.1
|
:$put =string(d) . d.1
|
||||||
:$put =string(sort(keys(d)))
|
:$put =string(sort(keys(d)))
|
||||||
:$put =string(values(d))
|
:$put =string (values(d))
|
||||||
:for [key, val] in items(d)
|
:for [key, val] in items(d)
|
||||||
: $put =key . ':' . string(val)
|
: $put =key . ':' . string(val)
|
||||||
: unlet key val
|
: unlet key val
|
||||||
:endfor
|
:endfor
|
||||||
:call extend(d, {3:33, 1:99})
|
:call extend (d, {3:33, 1:99})
|
||||||
:call extend(d, {'b':'bbb', 'c':'ccc'}, "keep")
|
:call extend(d, {'b':'bbb', 'c':'ccc'}, "keep")
|
||||||
:try
|
:try
|
||||||
: call extend(d, {3:333,4:444}, "error")
|
: call extend(d, {3:333,4:444}, "error")
|
||||||
@ -68,8 +68,12 @@ STARTTEST
|
|||||||
:unlet l[2]
|
:unlet l[2]
|
||||||
:$put =string(l)
|
:$put =string(l)
|
||||||
:let l = range(8)
|
:let l = range(8)
|
||||||
|
:try
|
||||||
:unlet l[:3]
|
:unlet l[:3]
|
||||||
:unlet l[1:]
|
:unlet l[1:]
|
||||||
|
:catch
|
||||||
|
:$put =v:exception
|
||||||
|
:endtry
|
||||||
:$put =string(l)
|
:$put =string(l)
|
||||||
:"
|
:"
|
||||||
:unlet d.c
|
:unlet d.c
|
||||||
@ -143,7 +147,7 @@ STARTTEST
|
|||||||
:func d.func(a)
|
:func d.func(a)
|
||||||
: return "a:". a:a
|
: return "a:". a:a
|
||||||
:endfunc
|
:endfunc
|
||||||
:$put = d.func(string(remove(d, 'func')))
|
:$put =d.func(string(remove(d, 'func')))
|
||||||
:"
|
:"
|
||||||
:" Nasty: deepcopy() dict that refers to itself (fails)
|
:" Nasty: deepcopy() dict that refers to itself (fails)
|
||||||
:let d = {1:1, 2:2}
|
:let d = {1:1, 2:2}
|
||||||
@ -155,8 +159,102 @@ STARTTEST
|
|||||||
: $put =v:exception[:14]
|
: $put =v:exception[:14]
|
||||||
:endtry
|
:endtry
|
||||||
:"
|
:"
|
||||||
|
:" Locked variables
|
||||||
|
:for depth in range(5)
|
||||||
|
: $put ='depth is ' . depth
|
||||||
|
: for u in range(3)
|
||||||
|
: unlet l
|
||||||
|
: let l = [0, [1, [2, 3]], {4: 5, 6: {7: 8}}]
|
||||||
|
: exe "lockvar " . depth . " l"
|
||||||
|
: if u == 1
|
||||||
|
: exe "unlockvar l"
|
||||||
|
: elseif u == 2
|
||||||
|
: exe "unlockvar " . depth . " l"
|
||||||
|
: endif
|
||||||
|
: let ps = islocked("l").islocked("l[1]").islocked("l[1][1]").islocked("l[1][1][0]").'-'.islocked("l[2]").islocked("l[2]['6']").islocked("l[2]['6'][7]")
|
||||||
|
: $put =ps
|
||||||
|
: let ps = ''
|
||||||
|
: try
|
||||||
|
: let l[1][1][0] = 99
|
||||||
|
: let ps .= 'p'
|
||||||
|
: catch
|
||||||
|
: let ps .= 'F'
|
||||||
|
: endtry
|
||||||
|
: try
|
||||||
|
: let l[1][1] = [99]
|
||||||
|
: let ps .= 'p'
|
||||||
|
: catch
|
||||||
|
: let ps .= 'F'
|
||||||
|
: endtry
|
||||||
|
: try
|
||||||
|
: let l[1] = [99]
|
||||||
|
: let ps .= 'p'
|
||||||
|
: catch
|
||||||
|
: let ps .= 'F'
|
||||||
|
: endtry
|
||||||
|
: try
|
||||||
|
: let l[2]['6'][7] = 99
|
||||||
|
: let ps .= 'p'
|
||||||
|
: catch
|
||||||
|
: let ps .= 'F'
|
||||||
|
: endtry
|
||||||
|
: try
|
||||||
|
: let l[2][6] = {99: 99}
|
||||||
|
: let ps .= 'p'
|
||||||
|
: catch
|
||||||
|
: let ps .= 'F'
|
||||||
|
: endtry
|
||||||
|
: try
|
||||||
|
: let l[2] = {99: 99}
|
||||||
|
: let ps .= 'p'
|
||||||
|
: catch
|
||||||
|
: let ps .= 'F'
|
||||||
|
: endtry
|
||||||
|
: try
|
||||||
|
: let l = [99]
|
||||||
|
: let ps .= 'p'
|
||||||
|
: catch
|
||||||
|
: let ps .= 'F'
|
||||||
|
: endtry
|
||||||
|
: $put =ps
|
||||||
|
: endfor
|
||||||
|
:endfor
|
||||||
|
:"
|
||||||
|
:" a:000 function argument
|
||||||
|
:" first the tests that should fail
|
||||||
|
:try
|
||||||
|
: let a:000 = [1, 2]
|
||||||
|
:catch
|
||||||
|
: $put ='caught a:000'
|
||||||
|
:endtry
|
||||||
|
:try
|
||||||
|
: let a:000[0] = 9
|
||||||
|
:catch
|
||||||
|
: $put ='caught a:000[0]'
|
||||||
|
:endtry
|
||||||
|
:try
|
||||||
|
: let a:000[2] = [9, 10]
|
||||||
|
:catch
|
||||||
|
: $put ='caught a:000[2]'
|
||||||
|
:endtry
|
||||||
|
:try
|
||||||
|
: let a:000[3] = {9: 10}
|
||||||
|
:catch
|
||||||
|
: $put ='caught a:000[3]'
|
||||||
|
:endtry
|
||||||
|
:" now the tests that should pass
|
||||||
|
:try
|
||||||
|
: let a:000[2][1] = 9
|
||||||
|
: call extend(a:000[2], [5, 6])
|
||||||
|
: let a:000[3][5] = 8
|
||||||
|
: let a:000[3]['a'] = 12
|
||||||
|
: $put =string(a:000)
|
||||||
|
:catch
|
||||||
|
: $put ='caught ' . v:exception
|
||||||
|
:endtry
|
||||||
|
:"
|
||||||
:endfun
|
:endfun
|
||||||
:call Test() " This may take a while
|
:call Test(1, 2, [3, 4], {5: 6}) " This may take a while
|
||||||
:"
|
:"
|
||||||
:/^start:/,$wq! test.out
|
:/^start:/,$wq! test.out
|
||||||
ENDTEST
|
ENDTEST
|
||||||
|
@ -30,3 +30,43 @@ Vim(call):E725:
|
|||||||
g:dict.func-4
|
g:dict.func-4
|
||||||
a:function('3')
|
a:function('3')
|
||||||
Vim(let):E698:
|
Vim(let):E698:
|
||||||
|
depth is 0
|
||||||
|
0000-000
|
||||||
|
ppppppp
|
||||||
|
0000-000
|
||||||
|
ppppppp
|
||||||
|
0000-000
|
||||||
|
ppppppp
|
||||||
|
depth is 1
|
||||||
|
1000-000
|
||||||
|
ppppppF
|
||||||
|
0000-000
|
||||||
|
ppppppp
|
||||||
|
0000-000
|
||||||
|
ppppppp
|
||||||
|
depth is 2
|
||||||
|
1100-100
|
||||||
|
ppFppFF
|
||||||
|
0000-000
|
||||||
|
ppppppp
|
||||||
|
0000-000
|
||||||
|
ppppppp
|
||||||
|
depth is 3
|
||||||
|
1110-110
|
||||||
|
pFFpFFF
|
||||||
|
0010-010
|
||||||
|
pFppFpp
|
||||||
|
0000-000
|
||||||
|
ppppppp
|
||||||
|
depth is 4
|
||||||
|
1111-111
|
||||||
|
FFFFFFF
|
||||||
|
0011-011
|
||||||
|
FFpFFpp
|
||||||
|
0000-000
|
||||||
|
ppppppp
|
||||||
|
caught a:000
|
||||||
|
caught a:000[0]
|
||||||
|
caught a:000[2]
|
||||||
|
caught a:000[3]
|
||||||
|
[1, 2, [3, 9, 5, 6], {'a': 12, '5': 8}]
|
||||||
|
@ -36,5 +36,5 @@
|
|||||||
#define VIM_VERSION_NODOT "vim70aa"
|
#define VIM_VERSION_NODOT "vim70aa"
|
||||||
#define VIM_VERSION_SHORT "7.0aa"
|
#define VIM_VERSION_SHORT "7.0aa"
|
||||||
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
|
#define VIM_VERSION_MEDIUM "7.0aa ALPHA"
|
||||||
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Jan 27)"
|
#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0aa ALPHA (2005 Jan 31)"
|
||||||
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Jan 27, compiled "
|
#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0aa ALPHA (2005 Jan 31, compiled "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user