Mercurial > vim
diff src/buffer.c @ 825:6675076019ae v7.0d
updated for version 7.0d
author | vimboss |
---|---|
date | Mon, 10 Apr 2006 14:55:34 +0000 |
parents | 57c7403f6599 |
children | 8bebcabccc2c |
line wrap: on
line diff
--- a/src/buffer.c +++ b/src/buffer.c @@ -1212,7 +1212,11 @@ do_buffer(action, start, dir, count, for { # ifdef FEAT_WINDOWS /* jump to first window containing buf if one exists ("useopen") */ - if (vim_strchr(p_swb, 'u') && buf_jump_open_win(buf)) + if (vim_strchr(p_swb, 'o') && buf_jump_open_win(buf)) + return OK; + /* jump to first window in any tab page containing buf if one exists + * ("usetab") */ + if (vim_strchr(p_swb, 'a') && buf_jump_open_tab(buf)) return OK; if (win_split(0, 0) == FAIL) # endif @@ -1316,7 +1320,7 @@ set_curbuf(buf, action) #endif { if (prevbuf == curbuf) - u_sync(); + u_sync(FALSE); close_buffer(prevbuf == curwin->w_buffer ? curwin : NULL, prevbuf, unload ? action : (action == DOBUF_GOTO && !P_HID(prevbuf) @@ -1833,8 +1837,11 @@ buflist_getfile(n, lnum, options, forcei if (options & GETF_SWITCH) { /* use existing open window for buffer if wanted */ - if (vim_strchr(p_swb, 'u')) /* useopen */ + if (vim_strchr(p_swb, 'o')) /* useopen */ wp = buf_jump_open_win(buf); + /* use existing open window in any tab page for buffer if wanted */ + if (vim_strchr(p_swb, 'a')) /* usetab */ + wp = buf_jump_open_tab(buf); /* split window if wanted ("split") */ if (wp == NULL && vim_strchr(p_swb, 't') && !bufempty()) {