Merge #8904 from janlazo/vim-8.0.0900

This commit is contained in:
Justin M. Keyes 2018-08-26 15:17:54 +02:00 committed by GitHub
commit 8f058dca89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 13 deletions

View File

@ -4,17 +4,14 @@
" Last Change: 2017 Oct 19 " Last Change: 2017 Oct 19
" If there already is an option window, jump to that one. " If there already is an option window, jump to that one.
if bufwinnr("option-window") > 0 let buf = bufnr('option-window')
let s:thiswin = winnr() if buf >= 0
while 1 let winids = win_findbuf(buf)
if @% == "option-window" if len(winids) > 0
if win_gotoid(winids[0]) == 1
finish finish
endif endif
wincmd w endif
if s:thiswin == winnr()
break
endif
endwhile
endif endif
" Make sure the '<' flag is not included in 'cpoptions', otherwise <CR> would " Make sure the '<' flag is not included in 'cpoptions', otherwise <CR> would
@ -141,8 +138,8 @@ while exists("b:current_syntax") && b:current_syntax == "help"
endif endif
endwhile endwhile
" Open the window " Open the window. $OPTWIN_CMD is set to "tab" for ":tab options".
new option-window exe $OPTWIN_CMD . ' new option-window'
setlocal ts=15 tw=0 noro buftype=nofile setlocal ts=15 tw=0 noro buftype=nofile
" Insert help and a "set" command for each option. " Insert help and a "set" command for each option.

View File

@ -2728,6 +2728,7 @@ void ex_packadd(exarg_T *eap)
/// ":options" /// ":options"
void ex_options(exarg_T *eap) void ex_options(exarg_T *eap)
{ {
vim_setenv("OPTWIN_CMD", cmdmod.tab ? "tab" : "");
cmd_source((char_u *)SYS_OPTWIN_FILE, NULL); cmd_source((char_u *)SYS_OPTWIN_FILE, NULL);
} }

View File

@ -619,7 +619,6 @@ void free_all_mem(void)
/* Obviously named calls. */ /* Obviously named calls. */
free_all_autocmds(); free_all_autocmds();
free_all_options();
free_all_marks(); free_all_marks();
alist_clear(&global_alist); alist_clear(&global_alist);
free_homedir(); free_homedir();
@ -657,6 +656,9 @@ void free_all_mem(void)
/* Destroy all windows. Must come before freeing buffers. */ /* Destroy all windows. Must come before freeing buffers. */
win_free_all(); win_free_all();
// Free all option values. Must come after closing windows.
free_all_options();
free_cmdline_buf(); free_cmdline_buf();
/* Clear registers. */ /* Clear registers. */

View File

@ -149,7 +149,7 @@ void redraw_later(int type)
void redraw_win_later(win_T *wp, int type) void redraw_win_later(win_T *wp, int type)
{ {
if (wp->w_redr_type < type) { if (!exiting && wp->w_redr_type < type) {
wp->w_redr_type = type; wp->w_redr_type = type;
if (type >= NOT_VALID) if (type >= NOT_VALID)
wp->w_lines_valid = 0; wp->w_lines_valid = 0;