# HG changeset patch # User Christian Brabandt # Date 1501189205 -7200 # Node ID 1c1cb1e9b7b30eb0cb6aadfba6a937da4977807e # Parent 1688e47e334ff41e9cef8160cc70e65406cee813 patch 8.0.0785: wildcards are not expanded for :terminal commit https://github.com/vim/vim/commit/67883b4909d0e9d4c024beb18f02750c6f7e3069 Author: Bram Moolenaar 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. diff --git a/src/ex_cmds.h b/src/ex_cmds.h --- 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 --- 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; diff --git a/src/version.c b/src/version.c --- 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,