summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-07-27 22:57:00 +0200
committerBram Moolenaar <Bram@vim.org>2017-07-27 22:57:00 +0200
commit67883b4909d0e9d4c024beb18f02750c6f7e3069 (patch)
tree83c332038f655ae91136103beb0a83b306907ec1
parenta2c45a17c174d815fd1d160f92ec6c277201e111 (diff)
downloadvim-git-8.0.0785.tar.gz
patch 8.0.0785: wildcards are not expanded for :terminalv8.0.0785
Problem: Wildcards are not expanded for :terminal. Solution: Add FILES to the command flags. (Yasuhiro Matsumoto, closes #1883) Also complete commands.
-rw-r--r--src/ex_cmds.h2
-rw-r--r--src/ex_docmd.c23
-rw-r--r--src/version.c2
3 files changed, 16 insertions, 11 deletions
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index dd549816a..977b01a8c 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -1484,7 +1484,7 @@ EX(CMD_tearoff, "tearoff", ex_tearoff,
NEEDARG|EXTRA|TRLBAR|NOTRLCOM|CMDWIN,
ADDR_LINES),
EX(CMD_terminal, "terminal", ex_terminal,
- RANGE|NOTADR|EXTRA|TRLBAR|CMDWIN,
+ RANGE|NOTADR|FILES|TRLBAR|CMDWIN,
ADDR_OTHER),
EX(CMD_tfirst, "tfirst", ex_tag,
RANGE|NOTADR|BANG|TRLBAR|ZEROR,
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 506a8088d..f913b19cd 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2632,6 +2632,7 @@ do_one_cmd(
* Any others?
*/
else if (ea.cmdidx == CMD_bang
+ || ea.cmdidx == CMD_terminal
|| ea.cmdidx == CMD_global
|| ea.cmdidx == CMD_vglobal
|| ea.usefilter)
@@ -3788,7 +3789,7 @@ set_one_cmd_context(
xp->xp_context = EXPAND_FILES;
/* For a shell command more chars need to be escaped. */
- if (usefilter || ea.cmdidx == CMD_bang)
+ if (usefilter || ea.cmdidx == CMD_bang || ea.cmdidx == CMD_terminal)
{
#ifndef BACKSLASH_IN_FILENAME
xp->xp_shell = TRUE;
@@ -5040,13 +5041,14 @@ expand_filename(
if (!eap->usefilter
&& !escaped
&& eap->cmdidx != CMD_bang
- && eap->cmdidx != CMD_make
- && eap->cmdidx != CMD_lmake
&& eap->cmdidx != CMD_grep
- && eap->cmdidx != CMD_lgrep
&& eap->cmdidx != CMD_grepadd
- && eap->cmdidx != CMD_lgrepadd
&& eap->cmdidx != CMD_hardcopy
+ && eap->cmdidx != CMD_lgrep
+ && eap->cmdidx != CMD_lgrepadd
+ && eap->cmdidx != CMD_lmake
+ && eap->cmdidx != CMD_make
+ && eap->cmdidx != CMD_terminal
#ifndef UNIX
&& !(eap->argt & NOSPC)
#endif
@@ -5076,7 +5078,8 @@ expand_filename(
}
/* For a shell command a '!' must be escaped. */
- if ((eap->usefilter || eap->cmdidx == CMD_bang)
+ if ((eap->usefilter || eap->cmdidx == CMD_bang
+ || eap->cmdidx == CMD_terminal)
&& vim_strpbrk(repl, (char_u *)"!") != NULL)
{
char_u *l;
@@ -10516,7 +10519,7 @@ ex_pedit(exarg_T *eap)
g_do_tagpreview = p_pvh;
prepare_tagpreview(TRUE);
- keep_help_flag = curwin_save->w_buffer->b_help;
+ keep_help_flag = bt_help(curwin_save->w_buffer);
do_exedit(eap, NULL);
keep_help_flag = FALSE;
if (curwin != curwin_save && win_valid(curwin_save))
@@ -11265,7 +11268,7 @@ makeopens(
{
if (ses_do_win(wp)
&& wp->w_buffer->b_ffname != NULL
- && !wp->w_buffer->b_help
+ && !bt_help(wp->w_buffer)
#ifdef FEAT_QUICKFIX
&& !bt_nofile(wp->w_buffer)
#endif
@@ -11549,7 +11552,7 @@ ses_do_win(win_T *wp)
#endif
)
return (ssop_flags & SSOP_BLANK);
- if (wp->w_buffer->b_help)
+ if (bt_help(wp->w_buffer))
return (ssop_flags & SSOP_HELP);
return TRUE;
}
@@ -11679,7 +11682,7 @@ put_view(
*/
if ((*flagp & SSOP_FOLDS)
&& wp->w_buffer->b_ffname != NULL
- && (*wp->w_buffer->b_p_bt == NUL || wp->w_buffer->b_help))
+ && (*wp->w_buffer->b_p_bt == NUL || bt_help(wp->w_buffer)))
{
if (put_folds(fd, wp) == FAIL)
return FAIL;
diff --git a/src/version.c b/src/version.c
index 43ea98a80..d66326e87 100644
--- a/src/version.c
+++ b/src/version.c
@@ -770,6 +770,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 785,
+/**/
784,
/**/
783,