Mercurial > vim
view src/testdir/test_close_count.in @ 11193:75ccc8a15a51 v8.0.0483
patch 8.0.0483: illegal memory access when using :all
commit https://github.com/vim/vim/commit/f79225ed4f81bc579bb3360ad2eb06adc8058153
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Mar 18 23:11:04 2017 +0100
patch 8.0.0483: illegal memory access when using :all
Problem: Illegal memory access when using :all. (Dominique Pelle)
Solution: Adjust the cursor position right after setting "curwin".
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 18 Mar 2017 23:15:04 +0100 |
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