forked from aniani/vim
patch 8.0.0663: unexpected error message only when 'verbose' is set
Problem: Giving an error message only when 'verbose' set is unexpected. Solution: Give a warning message instead.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.0. Last change: 2017 Jun 22
|
||||
*eval.txt* For Vim version 8.0. Last change: 2017 Jun 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -8722,6 +8722,9 @@ See |:verbose-cmd| for more information.
|
||||
not used an error message is given. When [!] is used,
|
||||
an existing function is silently replaced. Unless it
|
||||
is currently being executed, that is an error.
|
||||
NOTE: Use ! wisely. If used without care it can cause
|
||||
an existing function to be replaced unexpectedly,
|
||||
which is hard to debug.
|
||||
|
||||
For the {arguments} see |function-argument|.
|
||||
|
||||
@@ -8771,7 +8774,7 @@ See |:verbose-cmd| for more information.
|
||||
implies that the effect of |:nohlsearch| is undone
|
||||
when the function returns.
|
||||
|
||||
*:endf* *:endfunction* *E126* *E193* *E946*
|
||||
*:endf* *:endfunction* *E126* *E193* *W22*
|
||||
:endf[unction] [argument]
|
||||
The end of a function definition. Best is to put it
|
||||
on a line by its own, without [argument].
|
||||
@@ -8780,12 +8783,16 @@ See |:verbose-cmd| for more information.
|
||||
| command command to execute next
|
||||
\n command command to execute next
|
||||
" comment always ignored
|
||||
anything else ignored, unless 'verbose' is
|
||||
non-zero
|
||||
anything else ignored, warning given when
|
||||
'verbose' is non-zero
|
||||
The support for a following command was added in Vim
|
||||
8.0.0654, before that any argument was silently
|
||||
ignored.
|
||||
|
||||
To be able to define a function inside an `:execute`
|
||||
command, use line breaks instead of |:bar|: >
|
||||
:exe "func Foo()\necho 'foo'\nendfunc"
|
||||
<
|
||||
*:delf* *:delfunction* *E130* *E131* *E933*
|
||||
:delf[unction][!] {name}
|
||||
Delete function {name}.
|
||||
|
@@ -3471,6 +3471,13 @@ give_warning(char_u *message, int hl)
|
||||
--no_wait_return;
|
||||
}
|
||||
|
||||
void
|
||||
give_warning2(char_u *message, char_u *a1, int hl)
|
||||
{
|
||||
vim_snprintf((char *)IObuff, IOSIZE, (char *)message, a1);
|
||||
give_warning(IObuff, hl);
|
||||
}
|
||||
|
||||
/*
|
||||
* Advance msg cursor to column "col".
|
||||
*/
|
||||
|
@@ -75,6 +75,7 @@ void verbose_leave_scroll(void);
|
||||
void verbose_stop(void);
|
||||
int verbose_open(void);
|
||||
void give_warning(char_u *message, int hl);
|
||||
void give_warning2(char_u *message, char_u *a1, int hl);
|
||||
void msg_advance(int col);
|
||||
int do_dialog(int type, char_u *title, char_u *message, char_u *buttons, int dfltbutton, char_u *textfield, int ex_cmd);
|
||||
void display_confirm_msg(void);
|
||||
|
@@ -1381,10 +1381,12 @@ func Test_endfunction_trailing()
|
||||
|
||||
set verbose=1
|
||||
exe "func Xtest()\necho 'hello'\nendfunc \" garbage"
|
||||
call assert_notmatch('W22:', split(execute('1messages'), "\n")[0])
|
||||
call assert_true(exists('*Xtest'))
|
||||
delfunc Xtest
|
||||
|
||||
call assert_fails("func Xtest()\necho 'hello'\nendfunc garbage", 'E946')
|
||||
exe "func Xtest()\necho 'hello'\nendfunc garbage"
|
||||
call assert_match('W22:', split(execute('1messages'), "\n")[0])
|
||||
call assert_true(exists('*Xtest'))
|
||||
delfunc Xtest
|
||||
set verbose=0
|
||||
|
@@ -2137,7 +2137,9 @@ ex_function(exarg_T *eap)
|
||||
/* Another command follows. */
|
||||
eap->nextcmd = line_arg;
|
||||
else if (*p != NUL && *p != '"' && p_verbose > 0)
|
||||
EMSG2((char_u *)_("E946: Text found after :endfunction: %s"), p);
|
||||
give_warning2(
|
||||
(char_u *)_("W22: Text found after :endfunction: %s"),
|
||||
p, TRUE);
|
||||
if (line_arg == NULL)
|
||||
vim_free(theline);
|
||||
break;
|
||||
|
@@ -764,6 +764,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
663,
|
||||
/**/
|
||||
662,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user