# HG changeset patch # User Christian Brabandt # Date 1502465404 -7200 # Node ID 84066f043ab9d1d051b3dd17ac6504746c1365f1 # Parent 5399641f85c3bfd3bba35a52313e820019927a53 patch 8.0.0900: :tab options doesn't open a new tab page commit https://github.com/vim/vim/commit/ab6c8587ba846d08cd70e7b225c4952a468fc1e8 Author: Bram Moolenaar Date: Fri Aug 11 17:15:09 2017 +0200 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 https://github.com/vim/vim/issues/1960) diff --git a/runtime/optwin.vim b/runtime/optwin.vim --- 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:cu 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 --- 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 --- a/src/version.c +++ b/src/version.c @@ -770,6 +770,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 900, +/**/ 899, /**/ 898,