Mercurial > vim
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 |