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 }