From 34fdb11e53496b02d3af78156efcbbee07a4352c Mon Sep 17 00:00:00 2001 From: Felipe Morales Date: Tue, 2 Jun 2015 21:55:33 -0300 Subject: ex_docmd.c: :edit is a no-op in terminal buffers #2822 Closes #2779 --- src/nvim/ex_docmd.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index b55b59453f..2ca2c59b24 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -6565,11 +6565,13 @@ do_exedit ( (void)do_ecmd(0, NULL, NULL, eap, ECMD_ONE, ECMD_HIDE + (eap->forceit ? ECMD_FORCEIT : 0), old_curwin == NULL ? curwin : NULL); - } else if ((eap->cmdidx != CMD_split - && eap->cmdidx != CMD_vsplit - ) - || *eap->arg != NUL - ) { + } else if ((eap->cmdidx != CMD_split && eap->cmdidx != CMD_vsplit) + || *eap->arg != NUL) { + // ":edit " is a no-op in terminal buffers. #2822 + if (curbuf->terminal != NULL && eap->cmdidx == CMD_edit && *eap->arg == NUL) { + return; + } + /* Can't edit another file when "curbuf_lock" is set. Only ":edit" * can bring us here, others are stopped earlier. */ if (*eap->arg != NUL && curbuf_locked()) -- cgit