Mercurial > vim
comparison 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 |
comparison
equal
deleted
inserted
replaced
21:db5102f7e29f | 22:cc049b00ee70 |
---|---|
2038 curbuf->b_sfname = sfname; | 2038 curbuf->b_sfname = sfname; |
2039 return; | 2039 return; |
2040 } | 2040 } |
2041 curbuf->b_flags |= BF_NOTEDITED; | 2041 curbuf->b_flags |= BF_NOTEDITED; |
2042 buf = buflist_new(fname, xfname, curwin->w_cursor.lnum, 0); | 2042 buf = buflist_new(fname, xfname, curwin->w_cursor.lnum, 0); |
2043 if (buf != NULL) | 2043 if (buf != NULL && !cmdmod.keepalt) |
2044 curwin->w_alt_fnum = buf->b_fnum; | 2044 curwin->w_alt_fnum = buf->b_fnum; |
2045 vim_free(fname); | 2045 vim_free(fname); |
2046 vim_free(sfname); | 2046 vim_free(sfname); |
2047 #ifdef FEAT_AUTOCMD | 2047 #ifdef FEAT_AUTOCMD |
2048 apply_autocmds(EVENT_BUFFILEPOST, NULL, NULL, FALSE, curbuf); | 2048 apply_autocmds(EVENT_BUFFILEPOST, NULL, NULL, FALSE, curbuf); |
2687 { | 2687 { |
2688 #ifdef FEAT_LISTCMDS | 2688 #ifdef FEAT_LISTCMDS |
2689 if (!(flags & ECMD_ADDBUF)) | 2689 if (!(flags & ECMD_ADDBUF)) |
2690 #endif | 2690 #endif |
2691 { | 2691 { |
2692 curwin->w_alt_fnum = curbuf->b_fnum; | 2692 if (!cmdmod.keepalt) |
2693 curwin->w_alt_fnum = curbuf->b_fnum; | |
2693 buflist_altfpos(); | 2694 buflist_altfpos(); |
2694 } | 2695 } |
2695 | 2696 |
2696 if (fnum) | 2697 if (fnum) |
2697 buf = buflist_findnr(fnum); | 2698 buf = buflist_findnr(fnum); |
4734 * Set the alternate file to the previously edited file. | 4735 * Set the alternate file to the previously edited file. |
4735 */ | 4736 */ |
4736 alt_fnum = curbuf->b_fnum; | 4737 alt_fnum = curbuf->b_fnum; |
4737 (void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL, | 4738 (void)do_ecmd(0, NULL, NULL, NULL, ECMD_LASTL, |
4738 ECMD_HIDE + ECMD_SET_HELP); | 4739 ECMD_HIDE + ECMD_SET_HELP); |
4739 curwin->w_alt_fnum = alt_fnum; | 4740 if (!cmdmod.keepalt) |
4741 curwin->w_alt_fnum = alt_fnum; | |
4740 empty_fnum = curbuf->b_fnum; | 4742 empty_fnum = curbuf->b_fnum; |
4741 } | 4743 } |
4742 } | 4744 } |
4743 | 4745 |
4744 if (!p_im) | 4746 if (!p_im) |
4754 if (buf != NULL) | 4756 if (buf != NULL) |
4755 wipe_buffer(buf, TRUE); | 4757 wipe_buffer(buf, TRUE); |
4756 } | 4758 } |
4757 | 4759 |
4758 /* keep the previous alternate file */ | 4760 /* keep the previous alternate file */ |
4759 if (alt_fnum != 0 && curwin->w_alt_fnum == empty_fnum) | 4761 if (alt_fnum != 0 && curwin->w_alt_fnum == empty_fnum && !cmdmod.keepalt) |
4760 curwin->w_alt_fnum = alt_fnum; | 4762 curwin->w_alt_fnum = alt_fnum; |
4761 | 4763 |
4762 erret: | 4764 erret: |
4763 vim_free(tag); | 4765 vim_free(tag); |
4764 } | 4766 } |