summaryrefslogtreecommitdiffstats
path: root/runtime/optwin.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-02-27 17:04:25 +0100
committerBram Moolenaar <Bram@vim.org>2018-02-27 17:04:25 +0100
commit9c474b277336235012f0c058bbaef2961d1ec83e (patch)
tree37a473b297bb27b1548b2a59e018a369cccf1d5a /runtime/optwin.vim
parentc8bcfe7efd4cfdfd7f503700aba45c42765cd4dc (diff)
patch 8.0.1547: undo in the options window makes it emptyv8.0.1547
Problem: Undo in the options window makes it empty. Solution: Set 'undolevels' while filling the buffer. (Yasuhiro Matthew, closes #2645)
Diffstat (limited to 'runtime/optwin.vim')
-rw-r--r--runtime/optwin.vim11
1 files changed, 7 insertions, 4 deletions
diff --git a/runtime/optwin.vim b/runtime/optwin.vim
index d8f07b7d90..128e92e65c 100644
--- a/runtime/optwin.vim
+++ b/runtime/optwin.vim
@@ -1,7 +1,7 @@
" These commands create the option window.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2018 Feb 11
+" Last Change: 2018 Feb 27
" If there already is an option window, jump to that one.
let buf = bufnr('option-window')
@@ -122,11 +122,13 @@ fun! <SID>Update(lnum, line, local, thiswin)
endfun
" Reset 'title' and 'icon' to make it work faster.
+" Reset 'undolevels' to avoid undo'ing until the buffer is empty.
let s:old_title = &title
let s:old_icon = &icon
let s:old_sc = &sc
let s:old_ru = &ru
-set notitle noicon nosc noru
+let s:old_ul = &ul
+set notitle noicon nosc noru ul=-1
" If the current window is a help window, try finding a non-help window.
" Relies on syntax highlighting to be switched on.
@@ -756,7 +758,7 @@ call <SID>OptionG("km", &km)
call <SID>Header("editing text")
call append("$", "undolevels\tmaximum number of changes that can be undone")
call append("$", "\t(global or local to buffer)")
-call append("$", " \tset ul=" . &ul)
+call append("$", " \tset ul=" . s:old_ul)
call append("$", "undofile\tautomatically save and restore undo history")
call <SID>BinOptionG("udf", &udf)
call append("$", "undodir\tlist of directories for undo files")
@@ -1438,6 +1440,7 @@ let &icon = s:old_icon
let &ru = s:old_ru
let &sc = s:old_sc
let &cpo = s:cpo_save
-unlet s:old_title s:old_icon s:old_ru s:old_sc s:cpo_save s:idx s:lnum
+let &ul = s:old_ul
+unlet s:old_title s:old_icon s:old_ru s:old_sc s:cpo_save s:idx s:lnum s:old_ul
" vim: ts=8 sw=2 sts=2