mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
updated for version 7.0077
This commit is contained in:
parent
5c06f8b043
commit
54ee775e9d
@ -1,4 +1,4 @@
|
|||||||
*starting.txt* For Vim version 7.0aa. Last change: 2005 Apr 18
|
*starting.txt* For Vim version 7.0aa. Last change: 2005 May 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -312,6 +312,11 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
|||||||
for reading or writing a viminfo file. Can be used to find
|
for reading or writing a viminfo file. Can be used to find
|
||||||
out what is happening upon startup and exit. {not in Vi}
|
out what is happening upon startup and exit. {not in Vi}
|
||||||
|
|
||||||
|
-V[N]{filename}
|
||||||
|
Like -V and set 'verbosefile' to {filename}. The result is
|
||||||
|
that messages are not displayed but written to the file
|
||||||
|
{filename}. {filename} must not start with a digit.
|
||||||
|
|
||||||
*-D*
|
*-D*
|
||||||
-D Debugging. Go to debugging mode when executing the first
|
-D Debugging. Go to debugging mode when executing the first
|
||||||
command from a script. |debug-mode|
|
command from a script. |debug-mode|
|
||||||
@ -706,6 +711,8 @@ accordingly. Vim proceeds in this order:
|
|||||||
2. Process the arguments
|
2. Process the arguments
|
||||||
The options and file names from the command that start Vim are
|
The options and file names from the command that start Vim are
|
||||||
inspected. Buffers are created for all files (but not loaded yet).
|
inspected. Buffers are created for all files (but not loaded yet).
|
||||||
|
The |-V| argument can be used to display or log what happens next,
|
||||||
|
useful for debugging the initializations.
|
||||||
|
|
||||||
3. Execute Ex commands, from environment variables and/or files
|
3. Execute Ex commands, from environment variables and/or files
|
||||||
An environment variable is read as one Ex command line, where multiple
|
An environment variable is read as one Ex command line, where multiple
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 7.0aa. Last change: 2005 May 25
|
*todo.txt* For Vim version 7.0aa. Last change: 2005 May 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -30,28 +30,18 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
|
|||||||
*known-bugs*
|
*known-bugs*
|
||||||
-------------------- Known bugs and current work -----------------------
|
-------------------- Known bugs and current work -----------------------
|
||||||
|
|
||||||
GTK: Hang for "gvim </tmp/tt >&/tmp/ttt". Ready to read char from stdin but
|
|
||||||
it's never read.
|
|
||||||
Namsh also has a problem with a hang, coming from the added char_avail() call.
|
|
||||||
Temporary fix: check "gui.starting".
|
|
||||||
|
|
||||||
Make option like 'verbose' that writes output into a file? Should make it
|
|
||||||
possible to see what's happening without messing up the display.
|
|
||||||
|
|
||||||
Errors when compiling with Cygwin (Thomas).
|
|
||||||
|
|
||||||
":sort n" sort on decimal number (skipping white space)
|
|
||||||
":sort x" sort on hex number
|
|
||||||
":sort o" sort on octal number
|
|
||||||
Docs: doesn't work well together with :global.
|
|
||||||
|
|
||||||
split(): splitting into chars doesn't work.
|
|
||||||
|
|
||||||
":qtag" command: make list of matching tags and use like quickfix list.
|
":qtag" command: make list of matching tags and use like quickfix list.
|
||||||
This changes the stack of quickfix lists. Make another list and use ":qnext",
|
This changes the stack of quickfix lists. Make another list and use ":qnext",
|
||||||
":qprev", etc.? Do allow other commands for quickfix list, such as quickfix
|
":qprev", etc.? Do allow other commands for quickfix list, such as quickfix
|
||||||
window.
|
window.
|
||||||
|
|
||||||
|
Win32: Balloon text can't contain line break.
|
||||||
|
Hints for multiline tooltips from Alexei Alexandrov (2005 Mar 26)
|
||||||
|
Patch from Sergey Khorev, 2005 Apr 11
|
||||||
|
Add has("balloon_multiline")
|
||||||
|
|
||||||
|
Patch in if_cscope.c also in 6.3? (Froloff)
|
||||||
|
|
||||||
Mac unicode patch (Da Woon Jung):
|
Mac unicode patch (Da Woon Jung):
|
||||||
- selecting proportional font breaks display
|
- selecting proportional font breaks display
|
||||||
- UTF-8 text causes display problems. Font replacement causes this.
|
- UTF-8 text causes display problems. Font replacement causes this.
|
||||||
@ -72,11 +62,6 @@ autoload:
|
|||||||
helpfile doc/myscript.txt
|
helpfile doc/myscript.txt
|
||||||
For the "helpfile" item ":helptags" is run.
|
For the "helpfile" item ":helptags" is run.
|
||||||
|
|
||||||
Win32: Balloon text can't contain line break.
|
|
||||||
Hints for multiline tooltips from Alexei Alexandrov (2005 Mar 26)
|
|
||||||
Patch from Sergey Khorev, 2005 Apr 11
|
|
||||||
Add has("balloon_multiline")
|
|
||||||
|
|
||||||
Patch to alternate fold highlighting. (Anthony Iano-Fletcher, 2005 May 12)
|
Patch to alternate fold highlighting. (Anthony Iano-Fletcher, 2005 May 12)
|
||||||
More levels?
|
More levels?
|
||||||
|
|
||||||
@ -121,7 +106,7 @@ PLANNED FOR VERSION 7.0:
|
|||||||
add word to private dict: wrong and OK (in popup menu for evim)
|
add word to private dict: wrong and OK (in popup menu for evim)
|
||||||
:spell good <word> zg
|
:spell good <word> zg
|
||||||
:spell wrong <word> zw
|
:spell wrong <word> zw
|
||||||
- Update option window for 'spell' and 'spelllang'.
|
- Update option window for 'verbosefile', 'spell' and 'spelllang'.
|
||||||
- Distribution: Need wordlists for many languages; "language pack"
|
- Distribution: Need wordlists for many languages; "language pack"
|
||||||
Put them on the ftp site, ready to download. Include README for
|
Put them on the ftp site, ready to download. Include README for
|
||||||
copyrights.
|
copyrights.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*various.txt* For Vim version 7.0aa. Last change: 2005 Apr 01
|
*various.txt* For Vim version 7.0aa. Last change: 2005 May 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -392,6 +392,8 @@ N *+X11* Unix only: can restore window title |X11|
|
|||||||
To stop the messages and commands from being echoed to
|
To stop the messages and commands from being echoed to
|
||||||
the screen, put the commands in a function and call it
|
the screen, put the commands in a function and call it
|
||||||
with ":silent call Function()".
|
with ":silent call Function()".
|
||||||
|
An alternative is to use the 'verbosefile' option,
|
||||||
|
this can be used in combination with ":redir".
|
||||||
{not in Vi}
|
{not in Vi}
|
||||||
|
|
||||||
:redi[r] >> {file} Redirect messages to file {file}. Append if {file}
|
:redi[r] >> {file} Redirect messages to file {file}. Append if {file}
|
||||||
@ -475,6 +477,8 @@ N *+X11* Unix only: can restore window title |X11|
|
|||||||
:4verbose set verbose | set verbose
|
:4verbose set verbose | set verbose
|
||||||
< verbose=4 ~
|
< verbose=4 ~
|
||||||
verbose=0 ~
|
verbose=0 ~
|
||||||
|
For logging verbose messages in a file use the
|
||||||
|
'verbosefile' option.
|
||||||
|
|
||||||
*K*
|
*K*
|
||||||
K Run a program to lookup the keyword under the
|
K Run a program to lookup the keyword under the
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
*version7.txt* For Vim version 7.0aa. Last change: 2005 May 22
|
*version7.txt* For Vim version 7.0aa. Last change: 2005 May 31
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@ -296,6 +296,7 @@ Options: ~
|
|||||||
(idea by Hugo Haas)
|
(idea by Hugo Haas)
|
||||||
'spell' switch spell checking on/off
|
'spell' switch spell checking on/off
|
||||||
'spelllang' languages to check spelling for
|
'spelllang' languages to check spelling for
|
||||||
|
'verbosefile' Log messages in a file.
|
||||||
|
|
||||||
|
|
||||||
Ex commands: ~
|
Ex commands: ~
|
||||||
@ -584,6 +585,10 @@ invalid characters after the register name. |:redir|
|
|||||||
|
|
||||||
":redir @{a-z}>>" appends to register a to z.
|
":redir @{a-z}>>" appends to register a to z.
|
||||||
|
|
||||||
|
The 'verbosefile' option can be used to log messages in a file. Verbose
|
||||||
|
messages are not displayed then. The "-V{filename}" argument can be used to
|
||||||
|
log startup messages.
|
||||||
|
|
||||||
":let g:" lists global variables.
|
":let g:" lists global variables.
|
||||||
":let b:" lists buffer-local variables.
|
":let b:" lists buffer-local variables.
|
||||||
":let w:" lists window-local variables.
|
":let w:" lists window-local variables.
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
"
|
"
|
||||||
" Language: Logtalk
|
" Language: Logtalk
|
||||||
" Maintainer: Paulo Moura <pmoura@logtalk.org>
|
" Maintainer: Paulo Moura <pmoura@logtalk.org>
|
||||||
" Last Change: April 5, 2005
|
" Last Change: May 30, 2005
|
||||||
|
|
||||||
|
|
||||||
" Quit when a syntax file was already loaded:
|
" Quit when a syntax file was already loaded:
|
||||||
@ -89,14 +89,10 @@ syn region logtalkDir matchgroup=logtalkDirTag start=":- uses(" matchgroup=log
|
|||||||
|
|
||||||
" Logtalk built-in predicates
|
" Logtalk built-in predicates
|
||||||
|
|
||||||
syn match logtalkBuiltIn "\<current_\(object\|protocol\|category\)\ze("
|
syn match logtalkBuiltIn "\<\(abolish\|c\(reate\|urrent\)\)_\(object\|protocol\|category\)\ze("
|
||||||
|
|
||||||
syn match logtalkBuiltIn "\<create_\(object\|protocol\|category\)\ze("
|
|
||||||
|
|
||||||
syn match logtalkBuiltIn "\<\(object\|protocol\|category\)_property\ze("
|
syn match logtalkBuiltIn "\<\(object\|protocol\|category\)_property\ze("
|
||||||
|
|
||||||
syn match logtalkBuiltIn "\<abolish_\(object\|protocol\|category\)\ze("
|
|
||||||
|
|
||||||
syn match logtalkBuiltIn "\<extends_\(object\|protocol\)\ze("
|
syn match logtalkBuiltIn "\<extends_\(object\|protocol\)\ze("
|
||||||
syn match logtalkBuiltIn "\<imp\(orts_category\|lements_protocol\)\ze("
|
syn match logtalkBuiltIn "\<imp\(orts_category\|lements_protocol\)\ze("
|
||||||
syn match logtalkBuiltIn "\<\(instantiates\|specializes\)_class\ze("
|
syn match logtalkBuiltIn "\<\(instantiates\|specializes\)_class\ze("
|
||||||
@ -120,11 +116,9 @@ syn match logtalkBuiltInMethod "\<this\ze("
|
|||||||
syn match logtalkBuiltInMethod "\<current_predicate\ze("
|
syn match logtalkBuiltInMethod "\<current_predicate\ze("
|
||||||
syn match logtalkBuiltInMethod "\<predicate_property\ze("
|
syn match logtalkBuiltInMethod "\<predicate_property\ze("
|
||||||
|
|
||||||
syn match logtalkBuiltInMethod "\<abolish\ze("
|
syn match logtalkBuiltInMethod "\<a\(bolish\|ssert\(a\|z\)\)\ze("
|
||||||
syn match logtalkBuiltInMethod "\<assert\(a\|z\)\ze("
|
|
||||||
syn match logtalkBuiltInMethod "\<clause\ze("
|
syn match logtalkBuiltInMethod "\<clause\ze("
|
||||||
syn match logtalkBuiltInMethod "\<retract\ze("
|
syn match logtalkBuiltInMethod "\<retract\(all\)\?\ze("
|
||||||
syn match logtalkBuiltInMethod "\<retractall\ze("
|
|
||||||
|
|
||||||
syn match logtalkBuiltInMethod "\<\(bag\|set\)of\ze("
|
syn match logtalkBuiltInMethod "\<\(bag\|set\)of\ze("
|
||||||
syn match logtalkBuiltInMethod "\<f\(ind\|or\)all\ze("
|
syn match logtalkBuiltInMethod "\<f\(ind\|or\)all\ze("
|
||||||
@ -165,10 +159,9 @@ syn match logtalkOperator "\\="
|
|||||||
" Term testing
|
" Term testing
|
||||||
|
|
||||||
syn match logtalkKeyword "\<var\ze("
|
syn match logtalkKeyword "\<var\ze("
|
||||||
syn match logtalkKeyword "\<atom\ze("
|
syn match logtalkKeyword "\<atom\(ic\)\?\ze("
|
||||||
syn match logtalkKeyword "\<integer\ze("
|
syn match logtalkKeyword "\<integer\ze("
|
||||||
syn match logtalkKeyword "\<float\ze("
|
syn match logtalkKeyword "\<float\ze("
|
||||||
syn match logtalkKeyword "\<atomic\ze("
|
|
||||||
syn match logtalkKeyword "\<compound\ze("
|
syn match logtalkKeyword "\<compound\ze("
|
||||||
syn match logtalkKeyword "\<n\(onvar\|umber\)\ze("
|
syn match logtalkKeyword "\<n\(onvar\|umber\)\ze("
|
||||||
|
|
||||||
@ -208,8 +201,7 @@ syn match logtalkOperator ">="
|
|||||||
|
|
||||||
" Stream selection and control
|
" Stream selection and control
|
||||||
|
|
||||||
syn match logtalkKeyword "\<current_\(input\|output\)\ze("
|
syn match logtalkKeyword "\<\(current\|set\)_\(in\|out\)put\ze("
|
||||||
syn match logtalkKeyword "\<set_\(input\|output\)\ze("
|
|
||||||
syn match logtalkKeyword "\<open\ze("
|
syn match logtalkKeyword "\<open\ze("
|
||||||
syn match logtalkKeyword "\<close\ze("
|
syn match logtalkKeyword "\<close\ze("
|
||||||
syn match logtalkKeyword "\<flush_output\ze("
|
syn match logtalkKeyword "\<flush_output\ze("
|
||||||
@ -222,22 +214,17 @@ syn match logtalkKeyword "\<set_stream_position\ze("
|
|||||||
|
|
||||||
" Character and byte input/output
|
" Character and byte input/output
|
||||||
|
|
||||||
syn match logtalkKeyword "\<\(get\|peek\|put\)_\(char\|code\|byte\)\ze("
|
syn match logtalkKeyword "\<\(get\|p\(eek\|ut\)\)_\(c\(har\|ode\)\|byte\)\ze("
|
||||||
syn match logtalkKeyword "\<nl\ze("
|
syn match logtalkKeyword "\<nl\ze("
|
||||||
syn match logtalkKeyword "\<nl\>"
|
syn match logtalkKeyword "\<nl\>"
|
||||||
|
|
||||||
|
|
||||||
" Term input/output
|
" Term input/output
|
||||||
|
|
||||||
syn match logtalkKeyword "\<read_term\ze("
|
syn match logtalkKeyword "\<read\(_term\)\?\ze("
|
||||||
syn match logtalkKeyword "\<read\ze("
|
syn match logtalkKeyword "\<write\(q\|_\(canonical\|term\)\)\?\ze("
|
||||||
syn match logtalkKeyword "\<write\ze("
|
syn match logtalkKeyword "\<\(current_\)\?op\ze("
|
||||||
syn match logtalkKeyword "\<writeq\ze("
|
syn match logtalkKeyword "\<\(current\)\?char_conversion\ze("
|
||||||
syn match logtalkKeyword "\<write_\(canonical\|term\)\ze("
|
|
||||||
syn match logtalkKeyword "\<op\ze("
|
|
||||||
syn match logtalkKeyword "\<current_op\ze("
|
|
||||||
syn match logtalkKeyword "\<char_conversion\ze("
|
|
||||||
syn match logtalkKeyword "\<current_char_conversion\ze("
|
|
||||||
|
|
||||||
|
|
||||||
" Logic and control
|
" Logic and control
|
||||||
@ -249,10 +236,10 @@ syn match logtalkKeyword "\<repeat\>"
|
|||||||
|
|
||||||
" Atomic term processing
|
" Atomic term processing
|
||||||
|
|
||||||
syn match logtalkKeyword "\<atom_\(length\|concat\|chars\|codes\)\ze("
|
syn match logtalkKeyword "\<atom_\(length\|c\(hars\|o\(ncat\|des\)\)\)\ze("
|
||||||
syn match logtalkKeyword "\<sub_atom\ze("
|
syn match logtalkKeyword "\<sub_atom\ze("
|
||||||
syn match logtalkKeyword "\<char_code\ze("
|
syn match logtalkKeyword "\<char_code\ze("
|
||||||
syn match logtalkKeyword "\<number_\(chars\|codes\)\ze("
|
syn match logtalkKeyword "\<number_\(c\(hars\|odes\)\)\ze("
|
||||||
|
|
||||||
|
|
||||||
" Implementation defined hooks functions
|
" Implementation defined hooks functions
|
||||||
@ -269,17 +256,14 @@ syn match logtalkOperator "-"
|
|||||||
syn match logtalkOperator "\*"
|
syn match logtalkOperator "\*"
|
||||||
syn match logtalkOperator "//"
|
syn match logtalkOperator "//"
|
||||||
syn match logtalkOperator "/"
|
syn match logtalkOperator "/"
|
||||||
syn match logtalkKeyword "\<rem(?=[(])"
|
syn match logtalkKeyword "\<r\(ound\|em\)\ze("
|
||||||
syn match logtalkKeyword "\<rem\>"
|
syn match logtalkKeyword "\<rem\>"
|
||||||
syn match logtalkKeyword "\<mod\ze("
|
syn match logtalkKeyword "\<mod\ze("
|
||||||
syn match logtalkKeyword "\<mod\>"
|
syn match logtalkKeyword "\<mod\>"
|
||||||
syn match logtalkKeyword "\<abs\ze("
|
syn match logtalkKeyword "\<abs\ze("
|
||||||
syn match logtalkKeyword "\<sign\ze("
|
syn match logtalkKeyword "\<sign\ze("
|
||||||
syn match logtalkKeyword "\<float_\(integer\|fractional\)_part\ze("
|
syn match logtalkKeyword "\<flo\(or\|at\(_\(integer\|fractional\)_part\)\?\)\ze("
|
||||||
syn match logtalkKeyword "\<float\ze("
|
|
||||||
syn match logtalkKeyword "\<floor\ze("
|
|
||||||
syn match logtalkKeyword "\<truncate\ze("
|
syn match logtalkKeyword "\<truncate\ze("
|
||||||
syn match logtalkKeyword "\<round\ze("
|
|
||||||
syn match logtalkKeyword "\<ceiling\ze("
|
syn match logtalkKeyword "\<ceiling\ze("
|
||||||
|
|
||||||
|
|
||||||
@ -302,33 +286,34 @@ syn match logtalkOperator "\\/"
|
|||||||
syn match logtalkOperator "\\"
|
syn match logtalkOperator "\\"
|
||||||
|
|
||||||
|
|
||||||
" Logtalk end-of-clause
|
|
||||||
|
|
||||||
syn match logtalkOperator "\."
|
|
||||||
|
|
||||||
|
|
||||||
" Logtalk list operator
|
" Logtalk list operator
|
||||||
|
|
||||||
syn match logtalkOperator "|"
|
syn match logtalkOperator "|"
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk numbers
|
||||||
|
|
||||||
|
syn match logtalkNumber "\<\d\+\>"
|
||||||
|
syn match logtalkNumber "\<\d\+\.\d\+\>"
|
||||||
|
syn match logtalkNumber "\<\d\+[eE][-+]\=\d\+\>"
|
||||||
|
syn match logtalkNumber "\<\d\+\.\d\+[eE][-+]\=\d\+\>"
|
||||||
|
syn match logtalkNumber "\<0'[0-9a-zA-Z]\>"
|
||||||
|
syn match logtalkNumber "\<0b[0-1]\+\>"
|
||||||
|
syn match logtalkNumber "\<0o[0-7]\+\>"
|
||||||
|
syn match logtalkNumber "\<0x\x\+\>"
|
||||||
|
|
||||||
|
|
||||||
|
" Logtalk end-of-clause
|
||||||
|
|
||||||
|
syn match logtalkOperator "\."
|
||||||
|
|
||||||
|
|
||||||
" Logtalk comments
|
" Logtalk comments
|
||||||
|
|
||||||
syn region logtalkBlockComment start="/\*" end="\*/"
|
syn region logtalkBlockComment start="/\*" end="\*/"
|
||||||
syn match logtalkLineComment "%.*"
|
syn match logtalkLineComment "%.*"
|
||||||
|
|
||||||
|
|
||||||
" Logtalk numbers
|
|
||||||
|
|
||||||
syn match logtalkNumber "\<[0-9]\+\>"
|
|
||||||
syn match logtalkNumber "\<[0-9]\+\.[0-9]\+\>"
|
|
||||||
syn match logtalkNumber "\<[0-9]\+\.[0-9]\+[eE][-+][0-9]+\>"
|
|
||||||
syn match logtalkNumber "\<0'[0-9a-zA-Z]\>"
|
|
||||||
syn match logtalkNumber "\<0b[0-1]\+\>"
|
|
||||||
syn match logtalkNumber "\<0o[0-7]\+\>"
|
|
||||||
syn match logtalkNumber "\<0x[0-9a-fA-F]\+\>"
|
|
||||||
|
|
||||||
|
|
||||||
syn sync ccomment logtalkBlockComment maxlines=50
|
syn sync ccomment logtalkBlockComment maxlines=50
|
||||||
|
|
||||||
|
|
||||||
@ -343,7 +328,7 @@ if version >= 508 || !exists("did_logtalk_syn_inits")
|
|||||||
else
|
else
|
||||||
command -nargs=+ HiLink hi def link <args>
|
command -nargs=+ HiLink hi def link <args>
|
||||||
endif
|
endif
|
||||||
|
|
||||||
HiLink logtalkBlockComment Comment
|
HiLink logtalkBlockComment Comment
|
||||||
HiLink logtalkLineComment Comment
|
HiLink logtalkLineComment Comment
|
||||||
|
|
||||||
|
22
src/eval.c
22
src/eval.c
@ -10071,7 +10071,7 @@ f_inputrestore(argvars, rettv)
|
|||||||
}
|
}
|
||||||
else if (p_verbose > 1)
|
else if (p_verbose > 1)
|
||||||
{
|
{
|
||||||
msg((char_u *)_("called inputrestore() more often than inputsave()"));
|
verb_msg((char_u *)_("called inputrestore() more often than inputsave()"));
|
||||||
rettv->vval.v_number = 1; /* Failed */
|
rettv->vval.v_number = 1; /* Failed */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -12786,7 +12786,8 @@ f_split(argvars, rettv)
|
|||||||
end = regmatch.startp[0];
|
end = regmatch.startp[0];
|
||||||
else
|
else
|
||||||
end = str + STRLEN(str);
|
end = str + STRLEN(str);
|
||||||
if (keepempty || end > str || (l->lv_len > 0 && *str != NUL))
|
if (keepempty || end > str || (l->lv_len > 0 && *str != NUL
|
||||||
|
&& match && end < regmatch.endp[0]))
|
||||||
{
|
{
|
||||||
ni = listitem_alloc();
|
ni = listitem_alloc();
|
||||||
if (ni == NULL)
|
if (ni == NULL)
|
||||||
@ -16930,7 +16931,8 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict)
|
|||||||
if (p_verbose >= 12)
|
if (p_verbose >= 12)
|
||||||
{
|
{
|
||||||
++no_wait_return;
|
++no_wait_return;
|
||||||
msg_scroll = TRUE; /* always scroll up, don't overwrite */
|
verbose_enter_scroll();
|
||||||
|
|
||||||
smsg((char_u *)_("calling %s"), sourcing_name);
|
smsg((char_u *)_("calling %s"), sourcing_name);
|
||||||
if (p_verbose >= 14)
|
if (p_verbose >= 14)
|
||||||
{
|
{
|
||||||
@ -16956,7 +16958,8 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict)
|
|||||||
msg_puts((char_u *)")");
|
msg_puts((char_u *)")");
|
||||||
}
|
}
|
||||||
msg_puts((char_u *)"\n"); /* don't overwrite this either */
|
msg_puts((char_u *)"\n"); /* don't overwrite this either */
|
||||||
cmdline_row = msg_row;
|
|
||||||
|
verbose_leave_scroll();
|
||||||
--no_wait_return;
|
--no_wait_return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -17015,7 +17018,7 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict)
|
|||||||
if (p_verbose >= 12)
|
if (p_verbose >= 12)
|
||||||
{
|
{
|
||||||
++no_wait_return;
|
++no_wait_return;
|
||||||
msg_scroll = TRUE; /* always scroll up, don't overwrite */
|
verbose_enter_scroll();
|
||||||
|
|
||||||
if (aborting())
|
if (aborting())
|
||||||
smsg((char_u *)_("%s aborted"), sourcing_name);
|
smsg((char_u *)_("%s aborted"), sourcing_name);
|
||||||
@ -17037,7 +17040,8 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict)
|
|||||||
vim_free(tofree);
|
vim_free(tofree);
|
||||||
}
|
}
|
||||||
msg_puts((char_u *)"\n"); /* don't overwrite this either */
|
msg_puts((char_u *)"\n"); /* don't overwrite this either */
|
||||||
cmdline_row = msg_row;
|
|
||||||
|
verbose_leave_scroll();
|
||||||
--no_wait_return;
|
--no_wait_return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -17053,10 +17057,12 @@ call_user_func(fp, argcount, argvars, rettv, firstline, lastline, selfdict)
|
|||||||
if (p_verbose >= 12 && sourcing_name != NULL)
|
if (p_verbose >= 12 && sourcing_name != NULL)
|
||||||
{
|
{
|
||||||
++no_wait_return;
|
++no_wait_return;
|
||||||
msg_scroll = TRUE; /* always scroll up, don't overwrite */
|
verbose_enter_scroll();
|
||||||
|
|
||||||
smsg((char_u *)_("continuing in %s"), sourcing_name);
|
smsg((char_u *)_("continuing in %s"), sourcing_name);
|
||||||
msg_puts((char_u *)"\n"); /* don't overwrite this either */
|
msg_puts((char_u *)"\n"); /* don't overwrite this either */
|
||||||
cmdline_row = msg_row;
|
|
||||||
|
verbose_leave_scroll();
|
||||||
--no_wait_return;
|
--no_wait_return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -266,6 +266,14 @@ linelen(has_tab)
|
|||||||
static char_u *sortbuf;
|
static char_u *sortbuf;
|
||||||
|
|
||||||
static int sort_ic; /* ignore case */
|
static int sort_ic; /* ignore case */
|
||||||
|
static int sort_nr; /* sort on number */
|
||||||
|
|
||||||
|
/* Struct to store info to be sorted. */
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
linenr_T lnum; /* line number */
|
||||||
|
long col_nr; /* column number or number */
|
||||||
|
} sorti_T;
|
||||||
|
|
||||||
static int
|
static int
|
||||||
#ifdef __BORLANDC__
|
#ifdef __BORLANDC__
|
||||||
@ -281,14 +289,19 @@ sort_compare(s1, s2)
|
|||||||
const void *s1;
|
const void *s1;
|
||||||
const void *s2;
|
const void *s2;
|
||||||
{
|
{
|
||||||
lpos_T l1 = *(lpos_T *)s1;
|
sorti_T l1 = *(sorti_T *)s1;
|
||||||
lpos_T l2 = *(lpos_T *)s2;
|
sorti_T l2 = *(sorti_T *)s2;
|
||||||
char_u *s;
|
char_u *s;
|
||||||
|
|
||||||
|
/* When sorting numbers "col_nr" is the number, not the column number. */
|
||||||
|
if (sort_nr)
|
||||||
|
return l1.col_nr - l2.col_nr;
|
||||||
|
|
||||||
/* We need to copy one line into "sortbuf", because there is no guarantee
|
/* We need to copy one line into "sortbuf", because there is no guarantee
|
||||||
* that the first pointer becomes invalid when obtaining the second one. */
|
* that the first pointer becomes invalid when obtaining the second one. */
|
||||||
STRCPY(sortbuf, ml_get(l1.lnum) + l1.col);
|
STRCPY(sortbuf, ml_get(l1.lnum) + l1.col_nr);
|
||||||
s = ml_get(l2.lnum) + l2.col;
|
s = ml_get(l2.lnum) + l2.col_nr;
|
||||||
|
|
||||||
return sort_ic ? STRICMP(sortbuf, s) : STRCMP(sortbuf, s);
|
return sort_ic ? STRICMP(sortbuf, s) : STRCMP(sortbuf, s);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -303,28 +316,39 @@ ex_sort(eap)
|
|||||||
int len;
|
int len;
|
||||||
linenr_T lnum;
|
linenr_T lnum;
|
||||||
long maxlen = 0;
|
long maxlen = 0;
|
||||||
lpos_T *nrs;
|
sorti_T *nrs;
|
||||||
size_t count = eap->line2 - eap->line1 + 1;
|
size_t count = eap->line2 - eap->line1 + 1;
|
||||||
int i;
|
size_t i;
|
||||||
char_u *p;
|
char_u *p;
|
||||||
char_u *s;
|
char_u *s;
|
||||||
int unique = FALSE;
|
int unique = FALSE;
|
||||||
long deleted;
|
long deleted;
|
||||||
|
colnr_T col;
|
||||||
|
int sort_oct; /* sort on octal number */
|
||||||
|
int sort_hex; /* sort on hex number */
|
||||||
|
|
||||||
if (u_save((linenr_T)(eap->line1 - 1), (linenr_T)(eap->line2 + 1)) == FAIL)
|
if (u_save((linenr_T)(eap->line1 - 1), (linenr_T)(eap->line2 + 1)) == FAIL)
|
||||||
return;
|
return;
|
||||||
sortbuf = NULL;
|
sortbuf = NULL;
|
||||||
regmatch.regprog = NULL;
|
regmatch.regprog = NULL;
|
||||||
nrs = (lpos_T *)lalloc((long_u)(count * sizeof(lpos_T)), TRUE);
|
nrs = (sorti_T *)lalloc((long_u)(count * sizeof(sorti_T)), TRUE);
|
||||||
if (nrs == NULL)
|
if (nrs == NULL)
|
||||||
goto theend;
|
goto theend;
|
||||||
|
|
||||||
|
sort_ic = sort_nr = sort_oct = sort_hex = 0;
|
||||||
|
|
||||||
for (p = eap->arg; *p != NUL; ++p)
|
for (p = eap->arg; *p != NUL; ++p)
|
||||||
{
|
{
|
||||||
if (vim_iswhite(*p))
|
if (vim_iswhite(*p))
|
||||||
;
|
;
|
||||||
else if (*p == 'i')
|
else if (*p == 'i')
|
||||||
sort_ic = TRUE;
|
sort_ic = TRUE;
|
||||||
|
else if (*p == 'n')
|
||||||
|
sort_nr = 2;
|
||||||
|
else if (*p == 'o')
|
||||||
|
sort_oct = 2;
|
||||||
|
else if (*p == 'x')
|
||||||
|
sort_hex = 2;
|
||||||
else if (*p == 'u')
|
else if (*p == 'u')
|
||||||
unique = TRUE;
|
unique = TRUE;
|
||||||
else if (*p == '"') /* comment start */
|
else if (*p == '"') /* comment start */
|
||||||
@ -356,31 +380,60 @@ ex_sort(eap)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Can only have one of 'n', 'o' and 'x'. */
|
||||||
|
if (sort_nr + sort_oct + sort_hex > 2)
|
||||||
|
{
|
||||||
|
EMSG(_(e_invarg));
|
||||||
|
goto theend;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* From here on "sort_nr" is used as a flag for any number sorting. */
|
||||||
|
sort_nr += sort_oct + sort_hex;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Make an array with all line numbers, so that we don't have to copy all
|
* Make an array with all line numbers. This avoids having to copy all
|
||||||
* the lines into allocated memory.
|
* the lines into allocated memory.
|
||||||
* Also get the longest line length.
|
* When sorting on strings "col_nr" is de offset in the line, for numbers
|
||||||
|
* sorting it's the number to sort on. This means the pattern matching
|
||||||
|
* and number conversion only has to be done once per line.
|
||||||
|
* Also get the longest line length for allocating "sortbuf".
|
||||||
*/
|
*/
|
||||||
for (lnum = eap->line1; lnum <= eap->line2; ++lnum)
|
for (lnum = eap->line1; lnum <= eap->line2; ++lnum)
|
||||||
{
|
{
|
||||||
nrs[lnum - eap->line1].lnum = lnum;
|
|
||||||
nrs[lnum - eap->line1].col = 0;
|
|
||||||
|
|
||||||
s = ml_get(lnum);
|
s = ml_get(lnum);
|
||||||
if (regmatch.regprog != NULL && vim_regexec(®match, s, 0))
|
|
||||||
nrs[lnum - eap->line1].col = regmatch.endp[0] - s;
|
|
||||||
|
|
||||||
len = STRLEN(s);
|
len = STRLEN(s);
|
||||||
if (maxlen < len)
|
if (maxlen < len)
|
||||||
maxlen = len;
|
maxlen = len;
|
||||||
|
|
||||||
|
if (regmatch.regprog != NULL && vim_regexec(®match, s, 0))
|
||||||
|
col = regmatch.endp[0] - s;
|
||||||
|
else
|
||||||
|
col = 0;
|
||||||
|
|
||||||
|
if (sort_nr)
|
||||||
|
{
|
||||||
|
/* Sorting on number: Store the number itself. */
|
||||||
|
if (sort_hex)
|
||||||
|
s = skiptohex(s + col);
|
||||||
|
else
|
||||||
|
s = skiptodigit(s + col);
|
||||||
|
vim_str2nr(s, NULL, NULL, sort_oct, sort_hex,
|
||||||
|
&nrs[lnum - eap->line1].col_nr, NULL);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
/* Store the column to sort at. */
|
||||||
|
nrs[lnum - eap->line1].col_nr = col;
|
||||||
|
|
||||||
|
nrs[lnum - eap->line1].lnum = lnum;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Allocate a buffer that can hold the longest line. */
|
||||||
sortbuf = alloc((unsigned)maxlen + 1);
|
sortbuf = alloc((unsigned)maxlen + 1);
|
||||||
if (sortbuf == NULL)
|
if (sortbuf == NULL)
|
||||||
goto theend;
|
goto theend;
|
||||||
|
|
||||||
/* sort the array of line numbers */
|
/* sort the array of line numbers */
|
||||||
qsort((void *)nrs, count, sizeof(lpos_T), sort_compare);
|
qsort((void *)nrs, count, sizeof(sorti_T), sort_compare);
|
||||||
|
|
||||||
/* Insert the lines in the sorted order below the last one. */
|
/* Insert the lines in the sorted order below the last one. */
|
||||||
lnum = eap->line2;
|
lnum = eap->line2;
|
||||||
@ -392,7 +445,8 @@ ex_sort(eap)
|
|||||||
{
|
{
|
||||||
if (ml_append(lnum++, s, (colnr_T)0, FALSE) == FAIL)
|
if (ml_append(lnum++, s, (colnr_T)0, FALSE) == FAIL)
|
||||||
break;
|
break;
|
||||||
STRCPY(sortbuf, s);
|
if (unique)
|
||||||
|
STRCPY(sortbuf, s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -403,12 +457,14 @@ ex_sort(eap)
|
|||||||
else
|
else
|
||||||
count = 0;
|
count = 0;
|
||||||
|
|
||||||
|
/* Adjust marks for deleted (or added) lines and prepare for displaying. */
|
||||||
deleted = count - (lnum - eap->line2);
|
deleted = count - (lnum - eap->line2);
|
||||||
if (deleted > 0)
|
if (deleted > 0)
|
||||||
mark_adjust(eap->line2 - deleted, eap->line2, (long)MAXLNUM, -deleted);
|
mark_adjust(eap->line2 - deleted, eap->line2, (long)MAXLNUM, -deleted);
|
||||||
else if (deleted < 0)
|
else if (deleted < 0)
|
||||||
mark_adjust(eap->line2, MAXLNUM, -deleted, 0L);
|
mark_adjust(eap->line2, MAXLNUM, -deleted, 0L);
|
||||||
changed_lines(eap->line1, 0, eap->line2 + 1, -deleted);
|
changed_lines(eap->line1, 0, eap->line2 + 1, -deleted);
|
||||||
|
|
||||||
curwin->w_cursor.lnum = eap->line1;
|
curwin->w_cursor.lnum = eap->line1;
|
||||||
beginline(BL_WHITE | BL_FIX);
|
beginline(BL_WHITE | BL_FIX);
|
||||||
|
|
||||||
@ -1532,11 +1588,15 @@ read_viminfo(file, want_info, want_marks, forceit)
|
|||||||
fp = mch_fopen((char *)fname, READBIN);
|
fp = mch_fopen((char *)fname, READBIN);
|
||||||
|
|
||||||
if (p_verbose > 0)
|
if (p_verbose > 0)
|
||||||
|
{
|
||||||
|
verbose_enter();
|
||||||
smsg((char_u *)_("Reading viminfo file \"%s\"%s%s%s"),
|
smsg((char_u *)_("Reading viminfo file \"%s\"%s%s%s"),
|
||||||
fname,
|
fname,
|
||||||
want_info ? _(" info") : "",
|
want_info ? _(" info") : "",
|
||||||
want_marks ? _(" marks") : "",
|
want_marks ? _(" marks") : "",
|
||||||
fp == NULL ? _(" FAILED") : "");
|
fp == NULL ? _(" FAILED") : "");
|
||||||
|
verbose_leave();
|
||||||
|
}
|
||||||
|
|
||||||
vim_free(fname);
|
vim_free(fname);
|
||||||
if (fp == NULL)
|
if (fp == NULL)
|
||||||
@ -1760,7 +1820,11 @@ write_viminfo(file, forceit)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (p_verbose > 0)
|
if (p_verbose > 0)
|
||||||
|
{
|
||||||
|
verbose_enter();
|
||||||
smsg((char_u *)_("Writing viminfo file \"%s\""), fname);
|
smsg((char_u *)_("Writing viminfo file \"%s\""), fname);
|
||||||
|
verbose_leave();
|
||||||
|
}
|
||||||
|
|
||||||
viminfo_errcnt = 0;
|
viminfo_errcnt = 0;
|
||||||
do_viminfo(fp_in, fp_out, !forceit, !forceit, FALSE);
|
do_viminfo(fp_in, fp_out, !forceit, !forceit, FALSE);
|
||||||
|
@ -2467,8 +2467,12 @@ do_in_runtimepath(name, all, callback, cookie)
|
|||||||
if (buf != NULL && rtp_copy != NULL)
|
if (buf != NULL && rtp_copy != NULL)
|
||||||
{
|
{
|
||||||
if (p_verbose > 1)
|
if (p_verbose > 1)
|
||||||
|
{
|
||||||
|
verbose_enter();
|
||||||
smsg((char_u *)_("Searching for \"%s\" in \"%s\""),
|
smsg((char_u *)_("Searching for \"%s\" in \"%s\""),
|
||||||
(char *)name, (char *)p_rtp);
|
(char *)name, (char *)p_rtp);
|
||||||
|
verbose_leave();
|
||||||
|
}
|
||||||
|
|
||||||
/* Loop over all entries in 'runtimepath'. */
|
/* Loop over all entries in 'runtimepath'. */
|
||||||
rtp = rtp_copy;
|
rtp = rtp_copy;
|
||||||
@ -2490,7 +2494,11 @@ do_in_runtimepath(name, all, callback, cookie)
|
|||||||
"\t ");
|
"\t ");
|
||||||
|
|
||||||
if (p_verbose > 2)
|
if (p_verbose > 2)
|
||||||
|
{
|
||||||
|
verbose_enter();
|
||||||
smsg((char_u *)_("Searching for \"%s\""), buf);
|
smsg((char_u *)_("Searching for \"%s\""), buf);
|
||||||
|
verbose_leave();
|
||||||
|
}
|
||||||
|
|
||||||
/* Expand wildcards, invoke the callback for each match. */
|
/* Expand wildcards, invoke the callback for each match. */
|
||||||
if (gen_expand_wildcards(1, &buf, &num_files, &files,
|
if (gen_expand_wildcards(1, &buf, &num_files, &files,
|
||||||
@ -2512,7 +2520,11 @@ do_in_runtimepath(name, all, callback, cookie)
|
|||||||
vim_free(buf);
|
vim_free(buf);
|
||||||
vim_free(rtp_copy);
|
vim_free(rtp_copy);
|
||||||
if (p_verbose > 0 && !did_one)
|
if (p_verbose > 0 && !did_one)
|
||||||
|
{
|
||||||
|
verbose_enter();
|
||||||
smsg((char_u *)_("not found in 'runtimepath': \"%s\""), name);
|
smsg((char_u *)_("not found in 'runtimepath': \"%s\""), name);
|
||||||
|
verbose_leave();
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef AMIGA
|
#ifdef AMIGA
|
||||||
proc->pr_WindowPtr = save_winptr;
|
proc->pr_WindowPtr = save_winptr;
|
||||||
@ -2759,11 +2771,13 @@ do_source(fname, check_other, is_vimrc)
|
|||||||
{
|
{
|
||||||
if (p_verbose > 0)
|
if (p_verbose > 0)
|
||||||
{
|
{
|
||||||
|
verbose_enter();
|
||||||
if (sourcing_name == NULL)
|
if (sourcing_name == NULL)
|
||||||
smsg((char_u *)_("could not source \"%s\""), fname);
|
smsg((char_u *)_("could not source \"%s\""), fname);
|
||||||
else
|
else
|
||||||
smsg((char_u *)_("line %ld: could not source \"%s\""),
|
smsg((char_u *)_("line %ld: could not source \"%s\""),
|
||||||
sourcing_lnum, fname);
|
sourcing_lnum, fname);
|
||||||
|
verbose_leave();
|
||||||
}
|
}
|
||||||
goto theend;
|
goto theend;
|
||||||
}
|
}
|
||||||
@ -2775,11 +2789,13 @@ do_source(fname, check_other, is_vimrc)
|
|||||||
*/
|
*/
|
||||||
if (p_verbose > 1)
|
if (p_verbose > 1)
|
||||||
{
|
{
|
||||||
|
verbose_enter();
|
||||||
if (sourcing_name == NULL)
|
if (sourcing_name == NULL)
|
||||||
smsg((char_u *)_("sourcing \"%s\""), fname);
|
smsg((char_u *)_("sourcing \"%s\""), fname);
|
||||||
else
|
else
|
||||||
smsg((char_u *)_("line %ld: sourcing \"%s\""),
|
smsg((char_u *)_("line %ld: sourcing \"%s\""),
|
||||||
sourcing_lnum, fname);
|
sourcing_lnum, fname);
|
||||||
|
verbose_leave();
|
||||||
}
|
}
|
||||||
if (is_vimrc)
|
if (is_vimrc)
|
||||||
vimrc_found();
|
vimrc_found();
|
||||||
@ -2961,9 +2977,11 @@ do_source(fname, check_other, is_vimrc)
|
|||||||
sourcing_lnum = save_sourcing_lnum;
|
sourcing_lnum = save_sourcing_lnum;
|
||||||
if (p_verbose > 1)
|
if (p_verbose > 1)
|
||||||
{
|
{
|
||||||
|
verbose_enter();
|
||||||
smsg((char_u *)_("finished sourcing %s"), fname);
|
smsg((char_u *)_("finished sourcing %s"), fname);
|
||||||
if (sourcing_name != NULL)
|
if (sourcing_name != NULL)
|
||||||
smsg((char_u *)_("continuing in %s"), sourcing_name);
|
smsg((char_u *)_("continuing in %s"), sourcing_name);
|
||||||
|
verbose_leave();
|
||||||
}
|
}
|
||||||
#ifdef STARTUPTIME
|
#ifdef STARTUPTIME
|
||||||
vim_snprintf(IObuff, IOSIZE, "sourcing %s", fname);
|
vim_snprintf(IObuff, IOSIZE, "sourcing %s", fname);
|
||||||
|
@ -6132,7 +6132,11 @@ clip_mch_request_selection(VimClipboard *cbd)
|
|||||||
/* Got something */
|
/* Got something */
|
||||||
clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd);
|
clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd);
|
||||||
if (p_verbose > 0)
|
if (p_verbose > 0)
|
||||||
|
{
|
||||||
|
verbose_enter();
|
||||||
smsg((char_u *)_("Used CUT_BUFFER0 instead of empty selection"));
|
smsg((char_u *)_("Used CUT_BUFFER0 instead of empty selection"));
|
||||||
|
verbose_leave();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (buffer != NULL)
|
if (buffer != NULL)
|
||||||
XFree(buffer);
|
XFree(buffer);
|
||||||
|
@ -813,6 +813,12 @@ main
|
|||||||
case 'V': /* "-V{N}" Verbose level */
|
case 'V': /* "-V{N}" Verbose level */
|
||||||
/* default is 10: a little bit verbose */
|
/* default is 10: a little bit verbose */
|
||||||
p_verbose = get_number_arg((char_u *)argv[0], &argv_idx, 10);
|
p_verbose = get_number_arg((char_u *)argv[0], &argv_idx, 10);
|
||||||
|
if (argv[0][argv_idx] != NUL)
|
||||||
|
{
|
||||||
|
set_option_value((char_u *)"verbosefile", 0L,
|
||||||
|
(char_u *)argv[0] + argv_idx, 0);
|
||||||
|
argv_idx = STRLEN(argv[0]);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'v': /* "-v" Vi-mode (as if called "vi") */
|
case 'v': /* "-v" Vi-mode (as if called "vi") */
|
||||||
|
13
src/option.c
13
src/option.c
@ -2259,6 +2259,9 @@ static struct vimoption
|
|||||||
{"verbose", "vbs", P_NUM|P_VI_DEF,
|
{"verbose", "vbs", P_NUM|P_VI_DEF,
|
||||||
(char_u *)&p_verbose, PV_NONE,
|
(char_u *)&p_verbose, PV_NONE,
|
||||||
{(char_u *)0L, (char_u *)0L}},
|
{(char_u *)0L, (char_u *)0L}},
|
||||||
|
{"verbosefile", "vfile", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||||
|
(char_u *)&p_vfile, PV_NONE,
|
||||||
|
{(char_u *)"", (char_u *)0L}},
|
||||||
{"viewdir", "vdir", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
{"viewdir", "vdir", P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
|
||||||
#ifdef FEAT_SESSION
|
#ifdef FEAT_SESSION
|
||||||
(char_u *)&p_vdir, PV_NONE,
|
(char_u *)&p_vdir, PV_NONE,
|
||||||
@ -3731,8 +3734,10 @@ do_set(arg, opt_flags)
|
|||||||
{
|
{
|
||||||
if (options[opt_idx].scriptID != 0)
|
if (options[opt_idx].scriptID != 0)
|
||||||
{
|
{
|
||||||
|
verbose_enter();
|
||||||
MSG_PUTS(_("\n\tLast set from "));
|
MSG_PUTS(_("\n\tLast set from "));
|
||||||
MSG_PUTS(get_scriptname(options[opt_idx].scriptID));
|
MSG_PUTS(get_scriptname(options[opt_idx].scriptID));
|
||||||
|
verbose_leave();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -5316,6 +5321,14 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* 'verbosefile' */
|
||||||
|
else if (varp == &p_vfile)
|
||||||
|
{
|
||||||
|
verbose_stop();
|
||||||
|
if (*p_vfile != NUL && verbose_open() == FAIL)
|
||||||
|
errmsg = e_invarg;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef FEAT_VIMINFO
|
#ifdef FEAT_VIMINFO
|
||||||
/* 'viminfo' */
|
/* 'viminfo' */
|
||||||
else if (varp == &p_viminfo)
|
else if (varp == &p_viminfo)
|
||||||
|
@ -804,6 +804,7 @@ static char *(p_ve_values[]) = {"block", "insert", "all", NULL};
|
|||||||
# define VE_ALL 4
|
# define VE_ALL 4
|
||||||
#endif
|
#endif
|
||||||
EXTERN long p_verbose; /* 'verbose' */
|
EXTERN long p_verbose; /* 'verbose' */
|
||||||
|
EXTERN char_u *p_vfile; /* 'verbosefile' */
|
||||||
EXTERN int p_warn; /* 'warn' */
|
EXTERN int p_warn; /* 'warn' */
|
||||||
#ifdef FEAT_CMDL_COMPL
|
#ifdef FEAT_CMDL_COMPL
|
||||||
EXTERN char_u *p_wop; /* 'wildoptions' */
|
EXTERN char_u *p_wop; /* 'wildoptions' */
|
||||||
|
@ -54,7 +54,7 @@ void ex_listdo __ARGS((exarg_T *eap));
|
|||||||
void ex_compiler __ARGS((exarg_T *eap));
|
void ex_compiler __ARGS((exarg_T *eap));
|
||||||
void ex_runtime __ARGS((exarg_T *eap));
|
void ex_runtime __ARGS((exarg_T *eap));
|
||||||
int cmd_runtime __ARGS((char_u *name, int all));
|
int cmd_runtime __ARGS((char_u *name, int all));
|
||||||
int do_in_runtimepath __ARGS((char_u *name, int all, void (*callback)(char_u *fname, void *cookie), void *cookie));
|
int do_in_runtimepath __ARGS((char_u *name, int all, void (*callback)(char_u *fname, void *ck), void *cookie));
|
||||||
void ex_options __ARGS((exarg_T *eap));
|
void ex_options __ARGS((exarg_T *eap));
|
||||||
void ex_source __ARGS((exarg_T *eap));
|
void ex_source __ARGS((exarg_T *eap));
|
||||||
linenr_T *source_breakpoint __ARGS((void *cookie));
|
linenr_T *source_breakpoint __ARGS((void *cookie));
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
/* hashtable.c */
|
/* hashtable.c */
|
||||||
hashtab_T *hash_create __ARGS((void));
|
|
||||||
void hash_init __ARGS((hashtab_T *ht));
|
void hash_init __ARGS((hashtab_T *ht));
|
||||||
void hash_clear __ARGS((hashtab_T *ht));
|
void hash_clear __ARGS((hashtab_T *ht));
|
||||||
hashitem_T *hash_find __ARGS((hashtab_T *ht, char_u *key));
|
hashitem_T *hash_find __ARGS((hashtab_T *ht, char_u *key));
|
||||||
|
@ -3127,8 +3127,8 @@ syntax_clear(buf)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
curbuf->b_syn_ic = FALSE; /* Use case, by default */
|
buf->b_syn_ic = FALSE; /* Use case, by default */
|
||||||
curbuf->b_syn_containedin = FALSE;
|
buf->b_syn_containedin = FALSE;
|
||||||
|
|
||||||
/* free the keywords */
|
/* free the keywords */
|
||||||
clear_keywtab(&buf->b_keywtab);
|
clear_keywtab(&buf->b_keywtab);
|
||||||
|
@ -14,7 +14,7 @@ SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
|
|||||||
test38.out test39.out test40.out test41.out test42.out \
|
test38.out test39.out test40.out test41.out test42.out \
|
||||||
test43.out test44.out test45.out test46.out test47.out \
|
test43.out test44.out test45.out test46.out test47.out \
|
||||||
test48.out test49.out test51.out test52.out test53.out \
|
test48.out test49.out test51.out test52.out test53.out \
|
||||||
test54.out test55.out test56.out
|
test54.out test55.out test56.out test57.out
|
||||||
|
|
||||||
SCRIPTS_GUI = test16.out
|
SCRIPTS_GUI = test16.out
|
||||||
|
|
||||||
|
@ -274,6 +274,8 @@ STARTTEST
|
|||||||
:$put =string(split(':aa::bb:', ':', 0))
|
:$put =string(split(':aa::bb:', ':', 0))
|
||||||
:$put =string(split(':aa::bb:', ':', 1))
|
:$put =string(split(':aa::bb:', ':', 1))
|
||||||
:$put =string(split('aa,,bb, cc,', ',\s*', 1))
|
:$put =string(split('aa,,bb, cc,', ',\s*', 1))
|
||||||
|
:$put =string(split('abc', '\zs'))
|
||||||
|
:$put =string(split('abc', '\zs', 1))
|
||||||
:"
|
:"
|
||||||
:endfun
|
:endfun
|
||||||
:call Test(1, 2, [3, 4], {5: 6}) " This may take a while
|
:call Test(1, 2, [3, 4], {5: 6}) " This may take a while
|
||||||
|
10
src/ui.c
10
src/ui.c
@ -1696,7 +1696,13 @@ fill_input_buf(exit_on_error)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef FEAT_GUI
|
#ifdef FEAT_GUI
|
||||||
if (gui.in_use)
|
if (gui.in_use
|
||||||
|
# ifdef NO_CONSOLE_INPUT
|
||||||
|
/* Don't use the GUI input when the window hasn't been opened yet.
|
||||||
|
* We get here from ui_inchar() when we should try reading from stdin. */
|
||||||
|
&& !no_console_input()
|
||||||
|
# endif
|
||||||
|
)
|
||||||
{
|
{
|
||||||
gui_mch_update();
|
gui_mch_update();
|
||||||
return;
|
return;
|
||||||
@ -2140,7 +2146,7 @@ clip_x11_request_selection(myShell, dpy, cbd)
|
|||||||
clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd);
|
clip_yank_selection(MCHAR, buffer, (long)nbytes, cbd);
|
||||||
XFree((void *)buffer);
|
XFree((void *)buffer);
|
||||||
if (p_verbose > 0)
|
if (p_verbose > 0)
|
||||||
MSG(_("Used CUT_BUFFER0 instead of empty selection"));
|
verb_msg((char_u *)_("Used CUT_BUFFER0 instead of empty selection"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user