166 lines
5.0 KiB
Plaintext
166 lines
5.0 KiB
Plaintext
|
To: vim-dev@vim.org
|
||
|
Subject: Patch 7.2.223
|
||
|
Fcc: outbox
|
||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||
|
Mime-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
------------
|
||
|
|
||
|
Patch 7.2.223
|
||
|
Problem: When a script is run with ":silent" it is not able to give warning
|
||
|
messages.
|
||
|
Solution: Add the ":unsilent" command.
|
||
|
Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_docmd.c
|
||
|
|
||
|
|
||
|
*** ../vim-7.2.222/runtime/doc/various.txt 2008-08-09 19:36:54.000000000 +0200
|
||
|
--- runtime/doc/various.txt 2009-07-09 15:52:54.000000000 +0200
|
||
|
***************
|
||
|
*** 508,513 ****
|
||
|
--- 508,524 ----
|
||
|
messages though. Use ":silent" in the command itself
|
||
|
to avoid that: ":silent menu .... :silent command".
|
||
|
|
||
|
+ *:uns* *:unsilent*
|
||
|
+ :uns[ilent] {command} Execute {command} not silently. Only makes a
|
||
|
+ difference when |:silent| was used to get to this
|
||
|
+ command.
|
||
|
+ Use this for giving a message even when |:silent| was
|
||
|
+ used. In this example |:silent| is used to avoid the
|
||
|
+ message about reading the file and |:unsilent| to be
|
||
|
+ able to list the first line of each file. >
|
||
|
+ :silent argdo unsilent echo expand('%') . ": " . getline(1)
|
||
|
+ <
|
||
|
+
|
||
|
*:verb* *:verbose*
|
||
|
:[count]verb[ose] {command}
|
||
|
Execute {command} with 'verbose' set to [count]. If
|
||
|
*** ../vim-7.2.222/src/ex_cmds.h 2008-11-09 13:43:25.000000000 +0100
|
||
|
--- src/ex_cmds.h 2009-07-01 18:12:55.000000000 +0200
|
||
|
***************
|
||
|
*** 991,996 ****
|
||
|
--- 991,998 ----
|
||
|
BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
||
|
EX(CMD_unmenu, "unmenu", ex_menu,
|
||
|
BANG|EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN),
|
||
|
+ EX(CMD_unsilent, "unsilent", ex_wrongmodifier,
|
||
|
+ NEEDARG|EXTRA|NOTRLCOM|SBOXOK|CMDWIN),
|
||
|
EX(CMD_update, "update", ex_update,
|
||
|
RANGE|WHOLEFOLD|BANG|FILE1|ARGOPT|DFLALL|TRLBAR),
|
||
|
EX(CMD_vglobal, "vglobal", ex_global,
|
||
|
*** ../vim-7.2.222/src/ex_docmd.c 2009-07-01 20:18:43.000000000 +0200
|
||
|
--- src/ex_docmd.c 2009-07-09 15:24:03.000000000 +0200
|
||
|
***************
|
||
|
*** 1677,1684 ****
|
||
|
char_u *errormsg = NULL; /* error message */
|
||
|
exarg_T ea; /* Ex command arguments */
|
||
|
long verbose_save = -1;
|
||
|
! int save_msg_scroll = 0;
|
||
|
! int did_silent = 0;
|
||
|
int did_esilent = 0;
|
||
|
#ifdef HAVE_SANDBOX
|
||
|
int did_sandbox = FALSE;
|
||
|
--- 1677,1684 ----
|
||
|
char_u *errormsg = NULL; /* error message */
|
||
|
exarg_T ea; /* Ex command arguments */
|
||
|
long verbose_save = -1;
|
||
|
! int save_msg_scroll = msg_scroll;
|
||
|
! int save_msg_silent = -1;
|
||
|
int did_esilent = 0;
|
||
|
#ifdef HAVE_SANDBOX
|
||
|
int did_sandbox = FALSE;
|
||
|
***************
|
||
|
*** 1856,1864 ****
|
||
|
}
|
||
|
if (!checkforcmd(&ea.cmd, "silent", 3))
|
||
|
break;
|
||
|
! ++did_silent;
|
||
|
++msg_silent;
|
||
|
- save_msg_scroll = msg_scroll;
|
||
|
if (*ea.cmd == '!' && !vim_iswhite(ea.cmd[-1]))
|
||
|
{
|
||
|
/* ":silent!", but not "silent !cmd" */
|
||
|
--- 1856,1864 ----
|
||
|
}
|
||
|
if (!checkforcmd(&ea.cmd, "silent", 3))
|
||
|
break;
|
||
|
! if (save_msg_silent == -1)
|
||
|
! save_msg_silent = msg_silent;
|
||
|
++msg_silent;
|
||
|
if (*ea.cmd == '!' && !vim_iswhite(ea.cmd[-1]))
|
||
|
{
|
||
|
/* ":silent!", but not "silent !cmd" */
|
||
|
***************
|
||
|
*** 1886,1891 ****
|
||
|
--- 1886,1898 ----
|
||
|
#endif
|
||
|
continue;
|
||
|
|
||
|
+ case 'u': if (!checkforcmd(&ea.cmd, "unsilent", 3))
|
||
|
+ break;
|
||
|
+ if (save_msg_silent == -1)
|
||
|
+ save_msg_silent = msg_silent;
|
||
|
+ msg_silent = 0;
|
||
|
+ continue;
|
||
|
+
|
||
|
case 'v': if (checkforcmd(&ea.cmd, "vertical", 4))
|
||
|
{
|
||
|
#ifdef FEAT_VERTSPLIT
|
||
|
***************
|
||
|
*** 2684,2696 ****
|
||
|
|
||
|
cmdmod = save_cmdmod;
|
||
|
|
||
|
! if (did_silent > 0)
|
||
|
{
|
||
|
/* messages could be enabled for a serious error, need to check if the
|
||
|
* counters don't become negative */
|
||
|
! msg_silent -= did_silent;
|
||
|
! if (msg_silent < 0)
|
||
|
! msg_silent = 0;
|
||
|
emsg_silent -= did_esilent;
|
||
|
if (emsg_silent < 0)
|
||
|
emsg_silent = 0;
|
||
|
--- 2691,2702 ----
|
||
|
|
||
|
cmdmod = save_cmdmod;
|
||
|
|
||
|
! if (save_msg_silent != -1)
|
||
|
{
|
||
|
/* messages could be enabled for a serious error, need to check if the
|
||
|
* counters don't become negative */
|
||
|
! if (!did_emsg)
|
||
|
! msg_silent = save_msg_silent;
|
||
|
emsg_silent -= did_esilent;
|
||
|
if (emsg_silent < 0)
|
||
|
emsg_silent = 0;
|
||
|
***************
|
||
|
*** 2987,2992 ****
|
||
|
--- 2993,2999 ----
|
||
|
{"silent", 3, FALSE},
|
||
|
{"tab", 3, TRUE},
|
||
|
{"topleft", 2, FALSE},
|
||
|
+ {"unsilent", 3, FALSE},
|
||
|
{"verbose", 4, TRUE},
|
||
|
{"vertical", 4, FALSE},
|
||
|
};
|
||
|
*** ../vim-7.2.222/src/version.c 2009-07-01 20:18:43.000000000 +0200
|
||
|
--- src/version.c 2009-07-09 15:53:05.000000000 +0200
|
||
|
***************
|
||
|
*** 678,679 ****
|
||
|
--- 678,681 ----
|
||
|
{ /* Add new patch number below this line */
|
||
|
+ /**/
|
||
|
+ 223,
|
||
|
/**/
|
||
|
|
||
|
--
|
||
|
Q: How many legs does a giraffe have?
|
||
|
A: Eight: two in front, two behind, two on the left and two on the right
|
||
|
|
||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|