forked from aniani/vim
updated for version 7.0106
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
*todo.txt* For Vim version 7.0aa. Last change: 2005 Jul 08
|
*todo.txt* For Vim version 7.0aa. Last change: 2005 Jul 09
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -30,6 +30,11 @@ 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 -----------------------
|
||||||
|
|
||||||
|
9 Editing a XML file with a long line is extremely slow. Example file from
|
||||||
|
Randy Parker (Dec 13). Editing the dictionaries for engspchk plugin with
|
||||||
|
syntax highlighting is also very slow.
|
||||||
|
Limit the searching for items to a few hundred characters?
|
||||||
|
|
||||||
Add extra list of file locations. Can be used with:
|
Add extra list of file locations. Can be used with:
|
||||||
:ltag list of matching tags, like :tselect
|
:ltag list of matching tags, like :tselect
|
||||||
|
|
||||||
@@ -862,10 +867,6 @@ Macintosh:
|
|||||||
Alternate one: http://www.pramodx.20m.com/tee_for_win32.htm, but Walter
|
Alternate one: http://www.pramodx.20m.com/tee_for_win32.htm, but Walter
|
||||||
Briscoe says it's not as good.
|
Briscoe says it's not as good.
|
||||||
8 'fillchars' doesn't work for multi-byte characters.
|
8 'fillchars' doesn't work for multi-byte characters.
|
||||||
9 Editing a XML file with a long line is extremely slow. Example file from
|
|
||||||
Randy Parker (Dec 13). Editing the dictionaries for engspchk plugin with
|
|
||||||
syntax highlighting is also very slow.
|
|
||||||
Limit the searching for items to a few hundred characters?
|
|
||||||
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
|
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
|
||||||
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
|
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
|
||||||
7 Output for ":scriptnames" and ":breaklist" should shorten the file names:
|
7 Output for ":scriptnames" and ":breaklist" should shorten the file names:
|
||||||
@@ -2339,6 +2340,11 @@ Insert mode:
|
|||||||
8 Wrong indent below ? : with ():
|
8 Wrong indent below ? : with ():
|
||||||
if ((a ? (b) : c) != 0)
|
if ((a ? (b) : c) != 0)
|
||||||
aligns with ":".
|
aligns with ":".
|
||||||
|
8 Using "+" part of 'cinoptions' where it's not expected (Alexei Alexandrov):
|
||||||
|
if (a)
|
||||||
|
{
|
||||||
|
} else
|
||||||
|
asdf;
|
||||||
8 Wrong indent for ":" after a method with line break in arguments:
|
8 Wrong indent for ":" after a method with line break in arguments:
|
||||||
Foo::Foo (int one,
|
Foo::Foo (int one,
|
||||||
int two)
|
int two)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
*version7.txt* For Vim version 7.0aa. Last change: 2005 Jul 08
|
*version7.txt* For Vim version 7.0aa. Last change: 2005 Jul 09
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -678,6 +678,14 @@ When using @= in an expression the value is expression @= contains. ":let @=
|
|||||||
A ! can be added to ":popup" to have the popup menu appear at the mouse
|
A ! can be added to ":popup" to have the popup menu appear at the mouse
|
||||||
pointer position instead of the text cursor.
|
pointer position instead of the text cursor.
|
||||||
|
|
||||||
|
The table with encodings has been expanded with many MS-Windows codepages,
|
||||||
|
such as cp1250 and cp737, so that these can also be used on Unix without
|
||||||
|
prepending "8bit-".
|
||||||
|
|
||||||
|
Added the "customlist" completion argument to a user-defined command. The
|
||||||
|
user-defined completion function should return the completion candidates as a
|
||||||
|
Vim List and the returned results are not filtered by Vim.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
COMPILE TIME CHANGES *compile-changes-7*
|
COMPILE TIME CHANGES *compile-changes-7*
|
||||||
|
|
||||||
|
|||||||
@@ -2683,7 +2683,7 @@ call_completefunc(line, base, col, preproc)
|
|||||||
args[1] = base;
|
args[1] = base;
|
||||||
args[2] = colbuf;
|
args[2] = colbuf;
|
||||||
args[3] = (char_u *)(preproc ? "1" : "0");
|
args[3] = (char_u *)(preproc ? "1" : "0");
|
||||||
return call_vim_function(curbuf->b_p_cfu, 4, args, FALSE);
|
return (char_u *)call_func_retstr(curbuf->b_p_cfu, 4, args, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
85
src/eval.c
85
src/eval.c
@@ -1272,28 +1272,29 @@ get_spellword(list, pp)
|
|||||||
|
|
||||||
#if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) || defined(PROTO)
|
#if (defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)) || defined(PROTO)
|
||||||
/*
|
/*
|
||||||
* Call some vimL function and return the result as a string
|
* Call some vimL function and return the result in "*rettv".
|
||||||
* Uses argv[argc] for the function arguments.
|
* Uses argv[argc] for the function arguments.
|
||||||
|
* Returns OK or FAIL.
|
||||||
*/
|
*/
|
||||||
char_u *
|
static int
|
||||||
call_vim_function(func, argc, argv, safe)
|
call_vim_function(func, argc, argv, safe, rettv)
|
||||||
char_u *func;
|
char_u *func;
|
||||||
int argc;
|
int argc;
|
||||||
char_u **argv;
|
char_u **argv;
|
||||||
int safe; /* use the sandbox */
|
int safe; /* use the sandbox */
|
||||||
|
typval_T *rettv;
|
||||||
{
|
{
|
||||||
char_u *retval = NULL;
|
|
||||||
typval_T rettv;
|
|
||||||
typval_T *argvars;
|
typval_T *argvars;
|
||||||
long n;
|
long n;
|
||||||
int len;
|
int len;
|
||||||
int i;
|
int i;
|
||||||
int doesrange;
|
int doesrange;
|
||||||
void *save_funccalp = NULL;
|
void *save_funccalp = NULL;
|
||||||
|
int ret;
|
||||||
|
|
||||||
argvars = (typval_T *)alloc((unsigned)(argc * sizeof(typval_T)));
|
argvars = (typval_T *)alloc((unsigned)(argc * sizeof(typval_T)));
|
||||||
if (argvars == NULL)
|
if (argvars == NULL)
|
||||||
return NULL;
|
return FAIL;
|
||||||
|
|
||||||
for (i = 0; i < argc; i++)
|
for (i = 0; i < argc; i++)
|
||||||
{
|
{
|
||||||
@@ -1325,22 +1326,72 @@ call_vim_function(func, argc, argv, safe)
|
|||||||
++sandbox;
|
++sandbox;
|
||||||
}
|
}
|
||||||
|
|
||||||
rettv.v_type = VAR_UNKNOWN; /* clear_tv() uses this */
|
rettv->v_type = VAR_UNKNOWN; /* clear_tv() uses this */
|
||||||
if (call_func(func, (int)STRLEN(func), &rettv, argc, argvars,
|
ret = call_func(func, (int)STRLEN(func), rettv, argc, argvars,
|
||||||
curwin->w_cursor.lnum, curwin->w_cursor.lnum,
|
curwin->w_cursor.lnum, curwin->w_cursor.lnum,
|
||||||
&doesrange, TRUE, NULL) == OK)
|
&doesrange, TRUE, NULL);
|
||||||
retval = vim_strsave(get_tv_string(&rettv));
|
|
||||||
|
|
||||||
clear_tv(&rettv);
|
|
||||||
vim_free(argvars);
|
|
||||||
|
|
||||||
if (safe)
|
if (safe)
|
||||||
{
|
{
|
||||||
--sandbox;
|
--sandbox;
|
||||||
restore_funccal(save_funccalp);
|
restore_funccal(save_funccalp);
|
||||||
}
|
}
|
||||||
|
vim_free(argvars);
|
||||||
|
|
||||||
|
if (ret == FAIL)
|
||||||
|
clear_tv(rettv);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Call some vimL function and return the result as a string
|
||||||
|
* Uses argv[argc] for the function arguments.
|
||||||
|
*/
|
||||||
|
void *
|
||||||
|
call_func_retstr(func, argc, argv, safe)
|
||||||
|
char_u *func;
|
||||||
|
int argc;
|
||||||
|
char_u **argv;
|
||||||
|
int safe; /* use the sandbox */
|
||||||
|
{
|
||||||
|
typval_T rettv;
|
||||||
|
char_u *retval = NULL;
|
||||||
|
|
||||||
|
if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
retval = vim_strsave(get_tv_string(&rettv));
|
||||||
|
|
||||||
|
clear_tv(&rettv);
|
||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Call some vimL function and return the result as a list
|
||||||
|
* Uses argv[argc] for the function arguments.
|
||||||
|
*/
|
||||||
|
void *
|
||||||
|
call_func_retlist(func, argc, argv, safe)
|
||||||
|
char_u *func;
|
||||||
|
int argc;
|
||||||
|
char_u **argv;
|
||||||
|
int safe; /* use the sandbox */
|
||||||
|
{
|
||||||
|
typval_T rettv;
|
||||||
|
|
||||||
|
if (call_vim_function(func, argc, argv, safe, &rettv) == FAIL)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (rettv.v_type != VAR_LIST)
|
||||||
|
{
|
||||||
|
clear_tv(&rettv);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return rettv.vval.v_list;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1640,7 +1691,7 @@ skip_var_list(arg, var_count, semicolon)
|
|||||||
{
|
{
|
||||||
/* "[var, var]": find the matching ']'. */
|
/* "[var, var]": find the matching ']'. */
|
||||||
p = arg;
|
p = arg;
|
||||||
while (1)
|
for (;;)
|
||||||
{
|
{
|
||||||
p = skipwhite(p + 1); /* skip whites after '[', ';' or ',' */
|
p = skipwhite(p + 1); /* skip whites after '[', ';' or ',' */
|
||||||
s = skip_var_one(p);
|
s = skip_var_one(p);
|
||||||
@@ -11315,7 +11366,7 @@ find_some_match(argvars, rettv, type)
|
|||||||
{
|
{
|
||||||
regmatch.rm_ic = p_ic;
|
regmatch.rm_ic = p_ic;
|
||||||
|
|
||||||
while (1)
|
for (;;)
|
||||||
{
|
{
|
||||||
if (l != NULL)
|
if (l != NULL)
|
||||||
{
|
{
|
||||||
@@ -11472,7 +11523,7 @@ max_min(argvars, rettv, domax)
|
|||||||
if (li != NULL)
|
if (li != NULL)
|
||||||
{
|
{
|
||||||
n = get_tv_number_chk(&li->li_tv, &error);
|
n = get_tv_number_chk(&li->li_tv, &error);
|
||||||
while (1)
|
for (;;)
|
||||||
{
|
{
|
||||||
li = li->li_next;
|
li = li->li_next;
|
||||||
if (li == NULL)
|
if (li == NULL)
|
||||||
|
|||||||
@@ -3562,7 +3562,7 @@ ex_append(eap)
|
|||||||
if (curbuf->b_p_iminsert == B_IMODE_LMAP)
|
if (curbuf->b_p_iminsert == B_IMODE_LMAP)
|
||||||
State |= LANGMAP;
|
State |= LANGMAP;
|
||||||
|
|
||||||
while (1)
|
for (;;)
|
||||||
{
|
{
|
||||||
msg_scroll = TRUE;
|
msg_scroll = TRUE;
|
||||||
need_wait_return = FALSE;
|
need_wait_return = FALSE;
|
||||||
|
|||||||
@@ -5158,7 +5158,7 @@ cin_ispreproc_cont(pp, lnump)
|
|||||||
linenr_T lnum = *lnump;
|
linenr_T lnum = *lnump;
|
||||||
int retval = FALSE;
|
int retval = FALSE;
|
||||||
|
|
||||||
while (1)
|
for (;;)
|
||||||
{
|
{
|
||||||
if (cin_ispreproc(line))
|
if (cin_ispreproc(line))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3745,7 +3745,7 @@ find_next_quote(line, col, quotechar, escape)
|
|||||||
{
|
{
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
while (1)
|
for (;;)
|
||||||
{
|
{
|
||||||
c = line[col];
|
c = line[col];
|
||||||
if (c == NUL)
|
if (c == NUL)
|
||||||
@@ -3886,7 +3886,7 @@ current_quote(oap, count, include, quotechar)
|
|||||||
* Also do this when there is a Visual area, a' may leave the cursor
|
* Also do this when there is a Visual area, a' may leave the cursor
|
||||||
* in between two strings. */
|
* in between two strings. */
|
||||||
col_start = 0;
|
col_start = 0;
|
||||||
while (1)
|
for (;;)
|
||||||
{
|
{
|
||||||
/* Find open quote character. */
|
/* Find open quote character. */
|
||||||
col_start = find_next_quote(line, col_start, quotechar, NULL);
|
col_start = find_next_quote(line, col_start, quotechar, NULL);
|
||||||
|
|||||||
Reference in New Issue
Block a user