Merge pull request #1725 from fwalch/vim-7.4.450

vim-patch:7.4.450
This commit is contained in:
Justin M. Keyes 2014-12-26 08:42:30 -05:00
commit 78faf274f3
4 changed files with 76 additions and 46 deletions

View File

@ -1042,36 +1042,41 @@ list of buffers. |unlisted-buffer|
a number). Insert a backslash before a space in a buffer a number). Insert a backslash before a space in a buffer
name. name.
:[N]b[uffer][!] [N] *:b* *:bu* *:buf* *:buffer* *E86* :[N]b[uffer][!] [+cmd] [N] *:b* *:bu* *:buf* *:buffer* *E86*
Edit buffer [N] from the buffer list. If [N] is not given, Edit buffer [N] from the buffer list. If [N] is not given,
the current buffer remains being edited. See |:buffer-!| for the current buffer remains being edited. See |:buffer-!| for
[!]. This will also edit a buffer that is not in the buffer [!]. This will also edit a buffer that is not in the buffer
list, without setting the 'buflisted' flag. list, without setting the 'buflisted' flag.
Also see ||+cmd|.
:[N]b[uffer][!] {bufname} :[N]b[uffer][!] [+cmd] {bufname}
Edit buffer for {bufname} from the buffer list. See Edit buffer for {bufname} from the buffer list. See
|:buffer-!| for [!]. This will also edit a buffer that is not |:buffer-!| for [!]. This will also edit a buffer that is not
in the buffer list, without setting the 'buflisted' flag. in the buffer list, without setting the 'buflisted' flag.
Also see ||+cmd|.
:[N]sb[uffer] [N] *:sb* *:sbuffer* :[N]sb[uffer] [+cmd] [N] *:sb* *:sbuffer*
Split window and edit buffer [N] from the buffer list. If [N] Split window and edit buffer [N] from the buffer list. If [N]
is not given, the current buffer is edited. Respects the is not given, the current buffer is edited. Respects the
"useopen" setting of 'switchbuf' when splitting. This will "useopen" setting of 'switchbuf' when splitting. This will
also edit a buffer that is not in the buffer list, without also edit a buffer that is not in the buffer list, without
setting the 'buflisted' flag. setting the 'buflisted' flag.
Also see ||+cmd|.
:[N]sb[uffer] {bufname} :[N]sb[uffer] [+cmd] {bufname}
Split window and edit buffer for {bufname} from the buffer Split window and edit buffer for {bufname} from the buffer
list. This will also edit a buffer that is not in the buffer list. This will also edit a buffer that is not in the buffer
list, without setting the 'buflisted' flag. list, without setting the 'buflisted' flag.
Note: If what you want to do is split the buffer, make a copy Note: If what you want to do is split the buffer, make a copy
under another name, you can do it this way: > under another name, you can do it this way: >
:w foobar | sp # :w foobar | sp #
< Also see ||+cmd|.
:[N]bn[ext][!] [N] *:bn* *:bnext* *E87* :[N]bn[ext][!] [+cmd] [N] *:bn* *:bnext* *E87*
Go to [N]th next buffer in buffer list. [N] defaults to one. Go to [N]th next buffer in buffer list. [N] defaults to one.
Wraps around the end of the buffer list. Wraps around the end of the buffer list.
See |:buffer-!| for [!]. See |:buffer-!| for [!].
Also see ||+cmd|.
If you are in a help buffer, this takes you to the next help If you are in a help buffer, this takes you to the next help
buffer (if there is one). Similarly, if you are in a normal buffer (if there is one). Similarly, if you are in a normal
(non-help) buffer, this takes you to the next normal buffer. (non-help) buffer, this takes you to the next normal buffer.
@ -1079,55 +1084,61 @@ list of buffers. |unlisted-buffer|
the way when you're browsing code/text buffers. The next three the way when you're browsing code/text buffers. The next three
commands also work like this. commands also work like this.
*:sbn* *:sbnext* *:sbn* *:sbnext*
:[N]sbn[ext] [N] :[N]sbn[ext] [+cmd] [N]
Split window and go to [N]th next buffer in buffer list. Split window and go to [N]th next buffer in buffer list.
Wraps around the end of the buffer list. Uses 'switchbuf' Wraps around the end of the buffer list. Uses 'switchbuf'
Also see ||+cmd|.
:[N]bN[ext][!] [N] *:bN* *:bNext* *:bp* *:bprevious* *E88* :[N]bN[ext][!] [+cmd] [N] *:bN* *:bNext* *:bp* *:bprevious* *E88*
:[N]bp[revious][!] [N] :[N]bp[revious][!] [+cmd] [N]
Go to [N]th previous buffer in buffer list. [N] defaults to Go to [N]th previous buffer in buffer list. [N] defaults to
one. Wraps around the start of the buffer list. one. Wraps around the start of the buffer list.
See |:buffer-!| for [!] and 'switchbuf'. See |:buffer-!| for [!] and 'switchbuf'.
Also see ||+cmd|.
:[N]sbN[ext] [N] *:sbN* *:sbNext* *:sbp* *:sbprevious* :[N]sbN[ext] [+cmd] [N] *:sbN* *:sbNext* *:sbp* *:sbprevious*
:[N]sbp[revious] [N] :[N]sbp[revious] [+cmd] [N]
Split window and go to [N]th previous buffer in buffer list. Split window and go to [N]th previous buffer in buffer list.
Wraps around the start of the buffer list. Wraps around the start of the buffer list.
Uses 'switchbuf'. Uses 'switchbuf'.
Also see ||+cmd|.
*:br* *:brewind* :br[ewind][!] [+cmd] *:br* *:brewind*
:br[ewind][!] Go to first buffer in buffer list. If the buffer list is Go to first buffer in buffer list. If the buffer list is
empty, go to the first unlisted buffer. empty, go to the first unlisted buffer.
See |:buffer-!| for [!]. See |:buffer-!| for [!].
*:bf* *:bfirst* :bf[irst] [+cmd] *:bf* *:bfirst*
:bf[irst] Same as ":brewind". Same as |:brewind|.
Also see |+cmd|.
*:sbr* *:sbrewind* :sbr[ewind] [+cmd] *:sbr* *:sbrewind*
:sbr[ewind] Split window and go to first buffer in buffer list. If the Split window and go to first buffer in buffer list. If the
buffer list is empty, go to the first unlisted buffer. buffer list is empty, go to the first unlisted buffer.
Respects the 'switchbuf' option. Respects the 'switchbuf' option.
Also see |+cmd|.
*:sbf* *:sbfirst* :sbf[irst] [+cmd] *:sbf* *:sbfirst*
:sbf[irst] Same as ":sbrewind". Same as ":sbrewind".
*:bl* *:blast* :bl[ast][!] [+cmd] *:bl* *:blast*
:bl[ast][!] Go to last buffer in buffer list. If the buffer list is Go to last buffer in buffer list. If the buffer list is
empty, go to the last unlisted buffer. empty, go to the last unlisted buffer.
See |:buffer-!| for [!]. See |:buffer-!| for [!].
*:sbl* *:sblast* :sbl[ast] [+cmd] *:sbl* *:sblast*
:sbl[ast] Split window and go to last buffer in buffer list. If the Split window and go to last buffer in buffer list. If the
buffer list is empty, go to the last unlisted buffer. buffer list is empty, go to the last unlisted buffer.
Respects 'switchbuf' option. Respects 'switchbuf' option.
:[N]bm[odified][!] [N] *:bm* *:bmodified* *E84* :[N]bm[odified][!] [+cmd] [N] *:bm* *:bmodified* *E84*
Go to [N]th next modified buffer. Note: this command also Go to [N]th next modified buffer. Note: this command also
finds unlisted buffers. If there is no modified buffer the finds unlisted buffers. If there is no modified buffer the
command fails. command fails.
:[N]sbm[odified] [N] *:sbm* *:sbmodified* :[N]sbm[odified] [+cmd] [N] *:sbm* *:sbmodified*
Split window and go to [N]th next modified buffer. Split window and go to [N]th next modified buffer.
Respects 'switchbuf' option. Respects 'switchbuf' option.
Note: this command also finds buffers not in the buffer list. Note: this command also finds buffers not in the buffer list.

View File

@ -127,12 +127,12 @@ return {
}, },
{ {
command='buffer', command='buffer',
flags=bit.bor(BANG, RANGE, NOTADR, BUFNAME, BUFUNL, COUNT, EXTRA, TRLBAR), flags=bit.bor(BANG, RANGE, NOTADR, BUFNAME, BUFUNL, COUNT, EXTRA, EDITCMD, TRLBAR),
func='ex_buffer', func='ex_buffer',
}, },
{ {
command='bNext', command='bNext',
flags=bit.bor(BANG, RANGE, NOTADR, COUNT, TRLBAR), flags=bit.bor(BANG, RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bprevious', func='ex_bprevious',
}, },
{ {
@ -162,22 +162,22 @@ return {
}, },
{ {
command='bfirst', command='bfirst',
flags=bit.bor(BANG, RANGE, NOTADR, TRLBAR), flags=bit.bor(BANG, RANGE, NOTADR, EDITCMD, TRLBAR),
func='ex_brewind', func='ex_brewind',
}, },
{ {
command='blast', command='blast',
flags=bit.bor(BANG, RANGE, NOTADR, TRLBAR), flags=bit.bor(BANG, RANGE, NOTADR, EDITCMD, TRLBAR),
func='ex_blast', func='ex_blast',
}, },
{ {
command='bmodified', command='bmodified',
flags=bit.bor(BANG, RANGE, NOTADR, COUNT, TRLBAR), flags=bit.bor(BANG, RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bmodified', func='ex_bmodified',
}, },
{ {
command='bnext', command='bnext',
flags=bit.bor(BANG, RANGE, NOTADR, COUNT, TRLBAR), flags=bit.bor(BANG, RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bnext', func='ex_bnext',
}, },
{ {
@ -187,12 +187,12 @@ return {
}, },
{ {
command='bprevious', command='bprevious',
flags=bit.bor(BANG, RANGE, NOTADR, COUNT, TRLBAR), flags=bit.bor(BANG, RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bprevious', func='ex_bprevious',
}, },
{ {
command='brewind', command='brewind',
flags=bit.bor(BANG, RANGE, NOTADR, TRLBAR), flags=bit.bor(BANG, RANGE, NOTADR, EDITCMD, TRLBAR),
func='ex_brewind', func='ex_brewind',
}, },
{ {
@ -1762,47 +1762,47 @@ return {
}, },
{ {
command='sbuffer', command='sbuffer',
flags=bit.bor(BANG, RANGE, NOTADR, BUFNAME, BUFUNL, COUNT, EXTRA, TRLBAR), flags=bit.bor(BANG, RANGE, NOTADR, BUFNAME, BUFUNL, COUNT, EXTRA, EDITCMD, TRLBAR),
func='ex_buffer', func='ex_buffer',
}, },
{ {
command='sbNext', command='sbNext',
flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR), flags=bit.bor(RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bprevious', func='ex_bprevious',
}, },
{ {
command='sball', command='sball',
flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR), flags=bit.bor(RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_buffer_all', func='ex_buffer_all',
}, },
{ {
command='sbfirst', command='sbfirst',
flags=bit.bor(TRLBAR), flags=bit.bor(EDITCMD, TRLBAR),
func='ex_brewind', func='ex_brewind',
}, },
{ {
command='sblast', command='sblast',
flags=bit.bor(TRLBAR), flags=bit.bor(EDITCMD, TRLBAR),
func='ex_blast', func='ex_blast',
}, },
{ {
command='sbmodified', command='sbmodified',
flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR), flags=bit.bor(RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bmodified', func='ex_bmodified',
}, },
{ {
command='sbnext', command='sbnext',
flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR), flags=bit.bor(RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bnext', func='ex_bnext',
}, },
{ {
command='sbprevious', command='sbprevious',
flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR), flags=bit.bor(RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bprevious', func='ex_bprevious',
}, },
{ {
command='sbrewind', command='sbrewind',
flags=bit.bor(TRLBAR), flags=bit.bor(EDITCMD, TRLBAR),
func='ex_brewind', func='ex_brewind',
}, },
{ {

View File

@ -3958,13 +3958,17 @@ static void ex_bunload(exarg_T *eap)
*/ */
static void ex_buffer(exarg_T *eap) static void ex_buffer(exarg_T *eap)
{ {
if (*eap->arg) if (*eap->arg) {
eap->errmsg = e_trailing; eap->errmsg = e_trailing;
else { } else {
if (eap->addr_count == 0) /* default is current buffer */ if (eap->addr_count == 0) { // default is current buffer
goto_buffer(eap, DOBUF_CURRENT, FORWARD, 0); goto_buffer(eap, DOBUF_CURRENT, FORWARD, 0);
else } else {
goto_buffer(eap, DOBUF_FIRST, FORWARD, (int)eap->line2); goto_buffer(eap, DOBUF_FIRST, FORWARD, (int)eap->line2);
}
if (eap->do_ecmd_cmd != NULL) {
do_cmdline_cmd(eap->do_ecmd_cmd);
}
} }
} }
@ -3975,6 +3979,9 @@ static void ex_buffer(exarg_T *eap)
static void ex_bmodified(exarg_T *eap) static void ex_bmodified(exarg_T *eap)
{ {
goto_buffer(eap, DOBUF_MOD, FORWARD, (int)eap->line2); goto_buffer(eap, DOBUF_MOD, FORWARD, (int)eap->line2);
if (eap->do_ecmd_cmd != NULL) {
do_cmdline_cmd(eap->do_ecmd_cmd);
}
} }
/* /*
@ -3984,6 +3991,9 @@ static void ex_bmodified(exarg_T *eap)
static void ex_bnext(exarg_T *eap) static void ex_bnext(exarg_T *eap)
{ {
goto_buffer(eap, DOBUF_CURRENT, FORWARD, (int)eap->line2); goto_buffer(eap, DOBUF_CURRENT, FORWARD, (int)eap->line2);
if (eap->do_ecmd_cmd != NULL) {
do_cmdline_cmd(eap->do_ecmd_cmd);
}
} }
/* /*
@ -3995,6 +4005,9 @@ static void ex_bnext(exarg_T *eap)
static void ex_bprevious(exarg_T *eap) static void ex_bprevious(exarg_T *eap)
{ {
goto_buffer(eap, DOBUF_CURRENT, BACKWARD, (int)eap->line2); goto_buffer(eap, DOBUF_CURRENT, BACKWARD, (int)eap->line2);
if (eap->do_ecmd_cmd != NULL) {
do_cmdline_cmd(eap->do_ecmd_cmd);
}
} }
/* /*
@ -4006,6 +4019,9 @@ static void ex_bprevious(exarg_T *eap)
static void ex_brewind(exarg_T *eap) static void ex_brewind(exarg_T *eap)
{ {
goto_buffer(eap, DOBUF_FIRST, FORWARD, 0); goto_buffer(eap, DOBUF_FIRST, FORWARD, 0);
if (eap->do_ecmd_cmd != NULL) {
do_cmdline_cmd(eap->do_ecmd_cmd);
}
} }
/* /*
@ -4015,6 +4031,9 @@ static void ex_brewind(exarg_T *eap)
static void ex_blast(exarg_T *eap) static void ex_blast(exarg_T *eap)
{ {
goto_buffer(eap, DOBUF_LAST, BACKWARD, 0); goto_buffer(eap, DOBUF_LAST, BACKWARD, 0);
if (eap->do_ecmd_cmd != NULL) {
do_cmdline_cmd(eap->do_ecmd_cmd);
}
} }
int ends_excmd(int c) FUNC_ATTR_CONST int ends_excmd(int c) FUNC_ATTR_CONST

View File

@ -287,7 +287,7 @@ static int included_patches[] = {
//453 NA //453 NA
452, 452,
//451, //451,
//450, 450,
449, 449,
//448 NA //448 NA
447, 447,