# HG changeset patch # User Christian Brabandt # Date 1500743704 -7200 # Node ID 1c8ec1029233e63e1451aa4899b8fe5e11359db4 # Parent 628bdcdbf50c0af7fc8bce6d499a7304770d678a patch 8.0.0747: :terminal without an argument doesn't work commit https://github.com/vim/vim/commit/e173fd09720a346fbaa340003d31a4329283a805 Author: Bram Moolenaar Date: Sat Jul 22 19:03:32 2017 +0200 patch 8.0.0747: :terminal without an argument doesn't work Problem: :terminal without an argument doesn't work. Solution: Use the 'shell' option. (Yasuhiro Matsumoto, closes https://github.com/vim/vim/issues/1860) diff --git a/src/terminal.c b/src/terminal.c --- a/src/terminal.c +++ b/src/terminal.c @@ -36,7 +36,6 @@ * up. * - set buffer options to be scratch, hidden, nomodifiable, etc. * - set buffer name to command, add (1) to avoid duplicates. - * - If [command] is not given the 'shell' option is used. * - Add a scrollback buffer (contains lines to scroll off the top). * Can use the buf_T lines, store attributes somewhere else? * - When the job ends: @@ -163,6 +162,7 @@ ex_terminal(exarg_T *eap) exarg_T split_ea; win_T *old_curwin = curwin; term_T *term; + char_u *cmd = eap->arg; if (check_restricted() || check_secure()) return; @@ -195,8 +195,11 @@ ex_terminal(exarg_T *eap) set_term_and_win_size(term); + if (cmd == NULL || *cmd == NUL) + cmd = p_sh; + /* System dependent: setup the vterm and start the job in it. */ - if (term_and_job_init(term, term->tl_rows, term->tl_cols, eap->arg) == OK) + if (term_and_job_init(term, term->tl_rows, term->tl_cols, cmd) == OK) { /* store the size we ended up with */ vterm_get_size(term->tl_vterm, &term->tl_rows, &term->tl_cols); 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 */ /**/ + 747, +/**/ 746, /**/ 745,