changeset 11806:1c1cb1e9b7b3 v8.0.0785

patch 8.0.0785: wildcards are not expanded for :terminal commit https://github.com/vim/vim/commit/67883b4909d0e9d4c024beb18f02750c6f7e3069 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Jul 27 22:57:00 2017 +0200 patch 8.0.0785: wildcards are not expanded for :terminal Problem: Wildcards are not expanded for :terminal. Solution: Add FILES to the command flags. (Yasuhiro Matsumoto, closes https://github.com/vim/vim/issues/1883) Also complete commands.
author Christian Brabandt <cb@256bit.org>
date Thu, 27 Jul 2017 23:00:05 +0200
parents 1688e47e334f
children f0e8f508922d
files src/ex_cmds.h src/ex_docmd.c src/version.c
diffstat 3 files changed, 16 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- 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,
--- 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_grepadd
+		&& eap->cmdidx != CMD_hardcopy
 		&& eap->cmdidx != CMD_lgrep
-		&& eap->cmdidx != CMD_grepadd
 		&& eap->cmdidx != CMD_lgrepadd
-		&& eap->cmdidx != CMD_hardcopy
+		&& 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;
--- 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,