Mercurial > vim
diff src/ex_cmds.c @ 22:cc049b00ee70
updated for version 7.0014
author | vimboss |
---|---|
date | Thu, 02 Sep 2004 19:12:26 +0000 |
parents | db5102f7e29f |
children | 3f44e9abe4ec |
line wrap: on
line diff
--- a/src/ex_cmds.c +++ b/src/ex_cmds.c @@ -2040,7 +2040,7 @@ ex_file(eap) } curbuf->b_flags |= BF_NOTEDITED; buf = buflist_new(fname, xfname, curwin->w_cursor.lnum, 0); - if (buf != NULL) + if (buf != NULL && !cmdmod.keepalt) curwin->w_alt_fnum = buf->b_fnum; vim_free(fname); vim_free(sfname); @@ -2689,7 +2689,8 @@ do_ecmd(fnum, ffname, sfname, eap, newln if (!(flags & ECMD_ADDBUF)) #endif { - curwin->w_alt_fnum = curbuf->b_fnum; + if (!cmdmod.keepalt) + curwin->w_alt_fnum = curbuf->b_fnum; buflist_altfpos(); } @@ -4736,7 +4737,8 @@ ex_help(eap) alt_fnum = curbuf->b_fnum; (void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL, ECMD_HIDE + ECMD_SET_HELP); - curwin->w_alt_fnum = alt_fnum; + if (!cmdmod.keepalt) + curwin->w_alt_fnum = alt_fnum; empty_fnum = curbuf->b_fnum; } } @@ -4756,7 +4758,7 @@ ex_help(eap) } /* keep the previous alternate file */ - if (alt_fnum != 0 && curwin->w_alt_fnum == empty_fnum) + if (alt_fnum != 0 && curwin->w_alt_fnum == empty_fnum && !cmdmod.keepalt) curwin->w_alt_fnum = alt_fnum; erret: