diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-07-27 22:57:00 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-07-27 22:57:00 +0200 |
commit | 67883b4909d0e9d4c024beb18f02750c6f7e3069 (patch) | |
tree | 83c332038f655ae91136103beb0a83b306907ec1 /src | |
parent | a2c45a17c174d815fd1d160f92ec6c277201e111 (diff) | |
download | vim-git-67883b4909d0e9d4c024beb18f02750c6f7e3069.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.
Diffstat (limited to 'src')
-rw-r--r-- | src/ex_cmds.h | 2 | ||||
-rw-r--r-- | src/ex_docmd.c | 23 | ||||
-rw-r--r-- | src/version.c | 2 |
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, |