aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFlorian Walch <florian@fwalch.com>2014-12-23 11:51:13 +0100
committerFlorian Walch <florian@fwalch.com>2014-12-23 21:10:40 +0100
commita1c03c33b32a0b7e5c34032a24600897e67437fb (patch)
treec6a4a33d6d2d4f20e3ff0f08f53e606d8d96a643 /src
parent4f6bb8a9a997aacbe9f9f1ca83e7e4c502bdc03c (diff)
downloadrneovim-a1c03c33b32a0b7e5c34032a24600897e67437fb.tar.gz
rneovim-a1c03c33b32a0b7e5c34032a24600897e67437fb.tar.bz2
rneovim-a1c03c33b32a0b7e5c34032a24600897e67437fb.zip
vim-patch:7.4.450
Problem: Not all commands that edit another buffer support the +cmd argument. Solution: Add the +cmd argument to relevant commands. (Marcin Szamotulski) https://code.google.com/p/vim/source/detail?r=v7-4-450
Diffstat (limited to 'src')
-rw-r--r--src/nvim/ex_cmds.lua34
-rw-r--r--src/nvim/ex_docmd.c27
-rw-r--r--src/nvim/version.c2
3 files changed, 41 insertions, 22 deletions
diff --git a/src/nvim/ex_cmds.lua b/src/nvim/ex_cmds.lua
index d5d6d39616..c9dd974d11 100644
--- a/src/nvim/ex_cmds.lua
+++ b/src/nvim/ex_cmds.lua
@@ -127,12 +127,12 @@ return {
},
{
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',
},
{
command='bNext',
- flags=bit.bor(BANG, RANGE, NOTADR, COUNT, TRLBAR),
+ flags=bit.bor(BANG, RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bprevious',
},
{
@@ -162,22 +162,22 @@ return {
},
{
command='bfirst',
- flags=bit.bor(BANG, RANGE, NOTADR, TRLBAR),
+ flags=bit.bor(BANG, RANGE, NOTADR, EDITCMD, TRLBAR),
func='ex_brewind',
},
{
command='blast',
- flags=bit.bor(BANG, RANGE, NOTADR, TRLBAR),
+ flags=bit.bor(BANG, RANGE, NOTADR, EDITCMD, TRLBAR),
func='ex_blast',
},
{
command='bmodified',
- flags=bit.bor(BANG, RANGE, NOTADR, COUNT, TRLBAR),
+ flags=bit.bor(BANG, RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bmodified',
},
{
command='bnext',
- flags=bit.bor(BANG, RANGE, NOTADR, COUNT, TRLBAR),
+ flags=bit.bor(BANG, RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bnext',
},
{
@@ -187,12 +187,12 @@ return {
},
{
command='bprevious',
- flags=bit.bor(BANG, RANGE, NOTADR, COUNT, TRLBAR),
+ flags=bit.bor(BANG, RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bprevious',
},
{
command='brewind',
- flags=bit.bor(BANG, RANGE, NOTADR, TRLBAR),
+ flags=bit.bor(BANG, RANGE, NOTADR, EDITCMD, TRLBAR),
func='ex_brewind',
},
{
@@ -1762,47 +1762,47 @@ return {
},
{
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',
},
{
command='sbNext',
- flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR),
+ flags=bit.bor(RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bprevious',
},
{
command='sball',
- flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR),
+ flags=bit.bor(RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_buffer_all',
},
{
command='sbfirst',
- flags=bit.bor(TRLBAR),
+ flags=bit.bor(EDITCMD, TRLBAR),
func='ex_brewind',
},
{
command='sblast',
- flags=bit.bor(TRLBAR),
+ flags=bit.bor(EDITCMD, TRLBAR),
func='ex_blast',
},
{
command='sbmodified',
- flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR),
+ flags=bit.bor(RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bmodified',
},
{
command='sbnext',
- flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR),
+ flags=bit.bor(RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bnext',
},
{
command='sbprevious',
- flags=bit.bor(RANGE, NOTADR, COUNT, TRLBAR),
+ flags=bit.bor(RANGE, NOTADR, COUNT, EDITCMD, TRLBAR),
func='ex_bprevious',
},
{
command='sbrewind',
- flags=bit.bor(TRLBAR),
+ flags=bit.bor(EDITCMD, TRLBAR),
func='ex_brewind',
},
{
diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c
index f25af3f587..e741022a48 100644
--- a/src/nvim/ex_docmd.c
+++ b/src/nvim/ex_docmd.c
@@ -3957,13 +3957,17 @@ static void ex_bunload(exarg_T *eap)
*/
static void ex_buffer(exarg_T *eap)
{
- if (*eap->arg)
+ if (*eap->arg) {
eap->errmsg = e_trailing;
- else {
- if (eap->addr_count == 0) /* default is current buffer */
+ } else {
+ if (eap->addr_count == 0) { // default is current buffer
goto_buffer(eap, DOBUF_CURRENT, FORWARD, 0);
- else
+ } else {
goto_buffer(eap, DOBUF_FIRST, FORWARD, (int)eap->line2);
+ }
+ if (eap->do_ecmd_cmd != NULL) {
+ do_cmdline_cmd(eap->do_ecmd_cmd);
+ }
}
}
@@ -3974,6 +3978,9 @@ static void ex_buffer(exarg_T *eap)
static void ex_bmodified(exarg_T *eap)
{
goto_buffer(eap, DOBUF_MOD, FORWARD, (int)eap->line2);
+ if (eap->do_ecmd_cmd != NULL) {
+ do_cmdline_cmd(eap->do_ecmd_cmd);
+ }
}
/*
@@ -3983,6 +3990,9 @@ static void ex_bmodified(exarg_T *eap)
static void ex_bnext(exarg_T *eap)
{
goto_buffer(eap, DOBUF_CURRENT, FORWARD, (int)eap->line2);
+ if (eap->do_ecmd_cmd != NULL) {
+ do_cmdline_cmd(eap->do_ecmd_cmd);
+ }
}
/*
@@ -3994,6 +4004,9 @@ static void ex_bnext(exarg_T *eap)
static void ex_bprevious(exarg_T *eap)
{
goto_buffer(eap, DOBUF_CURRENT, BACKWARD, (int)eap->line2);
+ if (eap->do_ecmd_cmd != NULL) {
+ do_cmdline_cmd(eap->do_ecmd_cmd);
+ }
}
/*
@@ -4005,6 +4018,9 @@ static void ex_bprevious(exarg_T *eap)
static void ex_brewind(exarg_T *eap)
{
goto_buffer(eap, DOBUF_FIRST, FORWARD, 0);
+ if (eap->do_ecmd_cmd != NULL) {
+ do_cmdline_cmd(eap->do_ecmd_cmd);
+ }
}
/*
@@ -4014,6 +4030,9 @@ static void ex_brewind(exarg_T *eap)
static void ex_blast(exarg_T *eap)
{
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
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 2b099fba11..64b56156b4 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -287,7 +287,7 @@ static int included_patches[] = {
//453 NA
452,
//451,
- //450,
+ 450,
449,
//448 NA
447,