comparison src/testdir/test_mksession.vim @ 23023:4384c44c031a v8.2.2058

patch 8.2.2058: using mkview/loadview changes the jumplist Commit: https://github.com/vim/vim/commit/3482be6a33c3a00fe1e8e604310ad3034f593045 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Nov 27 11:00:38 2020 +0100 patch 8.2.2058: using mkview/loadview changes the jumplist Problem: Using mkview/loadview changes the jumplist. Solution: Use ":keepjumps". Don't let ":badd" or ":balt" change the jumplist. (closes #7371)
author Bram Moolenaar <Bram@vim.org>
date Fri, 27 Nov 2020 11:15:06 +0100
parents 0583f3e2c12e
children 855b818aae9b
comparison
equal deleted inserted replaced
23022:feae46642f33 23023:4384c44c031a
584 584
585 call delete('Xview') 585 call delete('Xview')
586 %bwipe 586 %bwipe
587 endfunc 587 endfunc
588 588
589 func Test_mkview_loadview_jumplist()
590 set viewdir=Xviewdir
591 au BufWinLeave * silent mkview
592 au BufWinEnter * silent loadview
593
594 edit Xfile1
595 call setline(1, ['a', 'bbbbbbb', 'c'])
596 normal j3l
597 call assert_equal([2, 4], getcurpos()[1:2])
598 write
599
600 edit Xfile2
601 call setline(1, ['d', 'eeeeeee', 'f'])
602 normal j5l
603 call assert_equal([2, 6], getcurpos()[1:2])
604 write
605
606 edit Xfile3
607 call setline(1, ['g', 'h', 'iiiii'])
608 normal jj3l
609 call assert_equal([3, 4], getcurpos()[1:2])
610 write
611
612 edit Xfile1
613 call assert_equal([2, 4], getcurpos()[1:2])
614 edit Xfile2
615 call assert_equal([2, 6], getcurpos()[1:2])
616 edit Xfile3
617 call assert_equal([3, 4], getcurpos()[1:2])
618
619 exe "normal \<C-O>"
620 call assert_equal('Xfile2', expand('%'))
621 call assert_equal([2, 6], getcurpos()[1:2])
622 exe "normal \<C-O>"
623 call assert_equal('Xfile1', expand('%'))
624 call assert_equal([2, 4], getcurpos()[1:2])
625
626 au! BufWinLeave
627 au! BufWinEnter
628 bwipe!
629 call delete('Xviewdir', 'rf')
630 call delete('Xfile1')
631 call delete('Xfile2')
632 call delete('Xfile3')
633 set viewdir&
634 endfunc
635
589 " A clean session (one empty buffer, one window, and one tab) should not 636 " A clean session (one empty buffer, one window, and one tab) should not
590 " set any error messages when sourced because no commands should fail. 637 " set any error messages when sourced because no commands should fail.
591 func Test_mksession_no_errmsg() 638 func Test_mksession_no_errmsg()
592 let v:errmsg = '' 639 let v:errmsg = ''
593 %bwipe! 640 %bwipe!
870 call delete('Xtest_mks.out') 917 call delete('Xtest_mks.out')
871 setlocal so& siso& 918 setlocal so& siso&
872 set sessionoptions& 919 set sessionoptions&
873 endfunc 920 endfunc
874 921
922 func Test_altfile()
923 edit Xone
924 split Xtwo
925 edit Xtwoalt
926 edit #
927 wincmd w
928 edit Xonealt
929 edit #
930 mksession! Xtest_altfile
931 only
932 bwipe Xonealt
933 bwipe Xtwoalt
934 bwipe!
935 source Xtest_altfile
936 call assert_equal('Xone', bufname())
937 call assert_equal('Xonealt', bufname('#'))
938 wincmd w
939 call assert_equal('Xtwo', bufname())
940 call assert_equal('Xtwoalt', bufname('#'))
941 only
942 bwipe!
943 endfunc
944
875 " vim: shiftwidth=2 sts=2 expandtab 945 " vim: shiftwidth=2 sts=2 expandtab