Mercurial > vim
view src/testdir/test_close_count.in @ 12289:294f510f6d35 v8.0.1024
patch 8.0.1024: folds lost when session file has a buffer in two windows
commit https://github.com/vim/vim/commit/4bebc9a0565670b853d227f81a9a31eafdb47eed
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Aug 30 21:07:38 2017 +0200
patch 8.0.1024: folds lost when session file has a buffer in two windows
Problem: Manual folds are lost when a session file has the same buffer in
two windows. (Jeansen)
Solution: Use ":edit" only once. (Christian Brabandt, closes #1958)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 30 Aug 2017 21:15:04 +0200 |
parents | ae45d497868f |
children |
line wrap: on
line source
Tests for :[count]close! and :[count]hide vim: set ft=vim : STARTTEST :so small.vim :set belloff=all :let tests = [] :for i in range(5) :new :endfor :4wincmd w :close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :$close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1wincmd w :2close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1wincmd w :new :new :2wincmd w :-1close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :2wincmd w :+1close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :e! test.out :call append(0, map(copy(tests), 'join(v:val, " ")')) :w :only! :b1 ENDTEST STARTTEST :let tests = [] :for i in range(5) :new :endfor :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :4wincmd w :.hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :$hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1wincmd w :2hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1wincmd w :new :new :3wincmd w :-hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :2wincmd w :+hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :e! test.out :call append(line('$'), map(copy(tests), 'join(v:val, " ")')) Go :w :only! :b1 ENDTEST STARTTEST :let tests = [] :set hidden :for i in range(5) :new :endfor :1wincmd w :$ hide :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :$-1 close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1wincmd w :.+close! :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :e! test.out :call append(line('$'), map(copy(tests), 'join(v:val, " ")')) Go :w :only! :b1 ENDTEST STARTTEST :let tests = [] :set hidden :for i in range(5) :new :endfor :4wincmd w c :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) 1c :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) 9c :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :1wincmd w 2c :let buffers = [] :windo call add(buffers, bufnr('%')) :call add(tests, buffers) :only! :e! test.out :call append(line('$'), map(copy(tests), 'join(v:val, " ")')) :w :qa! ENDTEST