Mercurial > vim
comparison src/testdir/test_edit.vim @ 28371:c3a7be75ef16 v8.2.4711
patch 8.2.4711: when 'insermode' is set :edit from <Cmd> mapping misbehaves
Commit: https://github.com/vim/vim/commit/3a56b6d405fc0f1ca928b77382f97d0c552bea64
Author: zeertzjq <zeertzjq@outlook.com>
Date: Fri Apr 8 11:56:14 2022 +0100
patch 8.2.4711: when 'insermode' is set :edit from <Cmd> mapping misbehaves
Problem: When 'insermode' is set :edit from <Cmd> mapping misbehaves.
Solution: Don't set "need_start_insertmode" when already in Insert mode.
(closes #10116)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 08 Apr 2022 13:00:04 +0200 |
parents | 9849df834f1d |
children | e1aff2f300be |
comparison
equal
deleted
inserted
replaced
28370:953e5ee8ce51 | 28371:c3a7be75ef16 |
---|---|
1838 call assert_match('\[Permission Denied\]', msg) | 1838 call assert_match('\[Permission Denied\]', msg) |
1839 close! | 1839 close! |
1840 call delete('Xfile') | 1840 call delete('Xfile') |
1841 endfunc | 1841 endfunc |
1842 | 1842 |
1843 " Using :edit without leaving 'insertmode' should not cause Insert mode to be | |
1844 " re-entered immediately after <C-L> | |
1845 func Test_edit_insertmode_ex_edit() | |
1846 CheckRunVimInTerminal | |
1847 | |
1848 let lines =<< trim END | |
1849 set insertmode noruler | |
1850 inoremap <C-B> <Cmd>edit Xfoo<CR> | |
1851 END | |
1852 call writefile(lines, 'Xtest_edit_insertmode_ex_edit') | |
1853 | |
1854 let buf = RunVimInTerminal('-S Xtest_edit_insertmode_ex_edit', #{rows: 6}) | |
1855 call TermWait(buf, 50) | |
1856 call assert_match('^-- INSERT --\s*$', term_getline(buf, 6)) | |
1857 call term_sendkeys(buf, "\<C-B>\<C-L>") | |
1858 call TermWait(buf, 50) | |
1859 call assert_notmatch('^-- INSERT --\s*$', term_getline(buf, 6)) | |
1860 | |
1861 " clean up | |
1862 call StopVimInTerminal(buf) | |
1863 call delete('Xtest_edit_insertmode_ex_edit') | |
1864 endfunc | |
1865 | |
1843 " Pressing escape in 'insertmode' should beep | 1866 " Pressing escape in 'insertmode' should beep |
1844 func Test_edit_insertmode_esc_beeps() | 1867 func Test_edit_insertmode_esc_beeps() |
1845 new | 1868 new |
1846 set insertmode | 1869 set insertmode |
1847 call assert_beeps("call feedkeys(\"one\<Esc>\", 'xt')") | 1870 call assert_beeps("call feedkeys(\"one\<Esc>\", 'xt')") |