summaryrefslogtreecommitdiff
path: root/src/terminal.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/terminal.c')
-rw-r--r--src/terminal.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/terminal.c b/src/terminal.c
index 0f9aa8640..73554a106 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -410,10 +410,13 @@ term_start(typval_T *argvar, jobopt_T *opt, int without_job, int forceit)
if (!opt->jo_hidden)
{
- /* only one size was taken care of with :new, do the other one */
- if (opt->jo_term_rows > 0 && (cmdmod.split & WSP_VERT))
+ /* Only one size was taken care of with :new, do the other one. With
+ * "curwin" both need to be done. */
+ if (opt->jo_term_rows > 0 && (opt->jo_curwin
+ || (cmdmod.split & WSP_VERT)))
win_setheight(opt->jo_term_rows);
- if (opt->jo_term_cols > 0 && !(cmdmod.split & WSP_VERT))
+ if (opt->jo_term_cols > 0 && (opt->jo_curwin
+ || !(cmdmod.split & WSP_VERT)))
win_setwidth(opt->jo_term_cols);
}