From: Bram Moolenaar Date: Fri, 11 Aug 2017 15:15:09 +0000 (+0200) Subject: patch 8.0.0900: :tab options doesn't open a new tab page X-Git-Tag: v8.0.0900 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ab6c8587ba846d08cd70e7b225c4952a468fc1e8;p=vim patch 8.0.0900: :tab options doesn't open a new tab page Problem: :tab options doesn't open a new tab page. (Aviany) Solution: Support the :tab modifier. (closes #1960) --- diff --git a/runtime/optwin.vim b/runtime/optwin.vim index 1a9fa3abd..52f987e88 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 26b588c65..8a11fbbe9 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 707be4fa3..9e3764e6c 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, /**/