Mercurial > vim
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;