diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/main.c b/src/main.c index 7718e97c8f..a9eb4609ca 100644 --- a/src/main.c +++ b/src/main.c @@ -2529,7 +2529,6 @@ edit_buffers(parmp) int arg_idx; /* index in argument list */ int i; int advance = TRUE; - buf_T *old_curbuf; # ifdef FEAT_AUTOCMD /* @@ -2582,21 +2581,26 @@ edit_buffers(parmp) curwin->w_arg_idx = arg_idx; /* Edit file from arg list, if there is one. When "Quit" selected * at the ATTENTION prompt close the window. */ - old_curbuf = curbuf; +# ifdef HAS_SWAP_EXISTS_ACTION + swap_exists_did_quit = FALSE; +# endif (void)do_ecmd(0, arg_idx < GARGCOUNT ? alist_name(&GARGLIST[arg_idx]) : NULL, NULL, NULL, ECMD_LASTL, ECMD_HIDE); - if (curbuf == old_curbuf) +# ifdef HAS_SWAP_EXISTS_ACTION + if (swap_exists_did_quit) { + /* abort or quit selected */ if (got_int || only_one_window()) { - /* abort selected or quit and only one window */ + /* abort selected and only one window */ did_emsg = FALSE; /* avoid hit-enter prompt */ getout(1); } win_close(curwin, TRUE); advance = FALSE; } +# endif if (arg_idx == GARGCOUNT - 1) arg_had_last = TRUE; ++arg_idx; |