diff --git a/runtime/optwin.vim b/runtime/optwin.vim index 1a9fa3abdc..52f987e884 100644 --- a/runtime/optwin.vim +++ b/runtime/optwin.vim @@ -1,20 +1,17 @@ " These commands create the option window. " " Maintainer: Bram Moolenaar -" Last Change: 2017 Aug 01 +" Last Change: 2017 Aug 11 " If there already is an option window, jump to that one. -if bufwinnr("option-window") > 0 - let s:thiswin = winnr() - while 1 - if @% == "option-window" +let buf = bufnr('option-window') +if buf >= 0 + let winids = win_findbuf(buf) + if len(winids) > 0 + if win_gotoid(winids[0]) == 1 finish endif - wincmd w - if s:thiswin == winnr() - break - endif - endwhile + endif endif " Make sure the '<' flag is not included in 'cpoptions', otherwise would @@ -141,8 +138,8 @@ while exists("b:current_syntax") && b:current_syntax == "help" endif endwhile -" Open the window -new option-window +" Open the window. $OPTWIN_CMD is set to "tab" for ":tab options". +exe $OPTWIN_CMD . ' new option-window' setlocal ts=15 tw=0 noro buftype=nofile " Insert help and a "set" command for each option. diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c index 26b588c650..8a11fbbe9f 100644 --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -3749,6 +3749,7 @@ ex_packadd(exarg_T *eap) ex_options( exarg_T *eap UNUSED) { + vim_setenv((char_u *)"OPTWIN_CMD", (char_u *)(cmdmod.tab ? "tab" : "")); cmd_source((char_u *)SYS_OPTWIN_FILE, NULL); } #endif diff --git a/src/version.c b/src/version.c index 707be4fa30..9e3764e6c7 100644 --- a/src/version.c +++ b/src/version.c @@ -769,6 +769,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 900, /**/ 899, /**/