diff options
Diffstat (limited to 'data/vim/patches/8.1.0032')
-rw-r--r-- | data/vim/patches/8.1.0032 | 191 |
1 files changed, 0 insertions, 191 deletions
diff --git a/data/vim/patches/8.1.0032 b/data/vim/patches/8.1.0032 deleted file mode 100644 index f5ea02843..000000000 --- a/data/vim/patches/8.1.0032 +++ /dev/null @@ -1,191 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 8.1.0032 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 8.1.0032 -Problem: BS in prompt buffer starts new line. -Solution: Do not allows BS over the prompt. Make term_sendkeys() handle - special keys. Add a test. -Files: src/option.c, src/terminal.c, src/testdir/test_prompt_buffer.vim - - -*** ../vim-8.1.0031/src/option.c 2018-06-03 14:42:17.848505102 +0200 ---- src/option.c 2018-06-04 16:51:10.811551036 +0200 -*************** -*** 12439,12444 **** ---- 12439,12448 ---- - can_bs( - int what) /* BS_INDENT, BS_EOL or BS_START */ - { -+ #ifdef FEAT_JOB_CHANNEL -+ if (what == BS_START && bt_prompt(curbuf)) -+ return FALSE; -+ #endif - switch (*p_bs) - { - case '2': return TRUE; -*** ../vim-8.1.0031/src/terminal.c 2018-05-21 22:50:22.514568516 +0200 ---- src/terminal.c 2018-06-04 16:51:10.815551032 +0200 -*************** -*** 5094,5101 **** - - while (*msg != NUL) - { -! send_keys_to_term(term, PTR2CHAR(msg), FALSE); -! msg += MB_CPTR2LEN(msg); - } - } - ---- 5094,5112 ---- - - while (*msg != NUL) - { -! int c; -! -! if (*msg == K_SPECIAL && msg[1] != NUL && msg[2] != NUL) -! { -! c = TO_SPECIAL(msg[1], msg[2]); -! msg += 3; -! } -! else -! { -! c = PTR2CHAR(msg); -! msg += MB_CPTR2LEN(msg); -! } -! send_keys_to_term(term, c, FALSE); - } - } - -*** ../vim-8.1.0031/src/testdir/test_prompt_buffer.vim 2018-06-03 17:10:36.274226639 +0200 ---- src/testdir/test_prompt_buffer.vim 2018-06-04 17:13:41.298470827 +0200 -*************** -*** 7,22 **** - source shared.vim - source screendump.vim - -! func Test_prompt_basic() - " We need to use a terminal window to be able to feed keys without leaving - " Insert mode. - if !has('terminal') -! return - endif - if has('win32') -! " TODO: make this work on MS-Windows -! return - endif - call writefile([ - \ 'func TextEntered(text)', - \ ' if a:text == "exit"', ---- 7,26 ---- - source shared.vim - source screendump.vim - -! func CanTestPromptBuffer() - " We need to use a terminal window to be able to feed keys without leaving - " Insert mode. - if !has('terminal') -! return 0 - endif - if has('win32') -! " TODO: make the tests work on MS-Windows -! return 0 - endif -+ return 1 -+ endfunc -+ -+ func WriteScript(name) - call writefile([ - \ 'func TextEntered(text)', - \ ' if a:text == "exit"', -*************** -*** 44,51 **** - \ 'set buftype=prompt', - \ 'call prompt_setcallback(bufnr(""), function("TextEntered"))', - \ 'startinsert', -! \ ], 'Xpromptscript') -! let buf = RunVimInTerminal('-S Xpromptscript', {}) - call WaitForAssert({-> assert_equal('%', term_getline(buf, 1))}) - - call term_sendkeys(buf, "hello\<CR>") ---- 48,64 ---- - \ 'set buftype=prompt', - \ 'call prompt_setcallback(bufnr(""), function("TextEntered"))', - \ 'startinsert', -! \ ], a:name) -! endfunc -! -! func Test_prompt_basic() -! if !CanTestPromptBuffer() -! return -! endif -! let scriptName = 'XpromptscriptBasic' -! call WriteScript(scriptName) -! -! let buf = RunVimInTerminal('-S ' . scriptName, {}) - call WaitForAssert({-> assert_equal('%', term_getline(buf, 1))}) - - call term_sendkeys(buf, "hello\<CR>") -*************** -*** 57,61 **** - call WaitForAssert({-> assert_equal('other buffer', term_getline(buf, 1))}) - - call StopVimInTerminal(buf) -! call delete('Xpromptscript') - endfunc ---- 70,103 ---- - call WaitForAssert({-> assert_equal('other buffer', term_getline(buf, 1))}) - - call StopVimInTerminal(buf) -! call delete(scriptName) -! endfunc -! -! func Test_prompt_editing() -! if !CanTestPromptBuffer() -! return -! endif -! let scriptName = 'XpromptscriptEditing' -! call WriteScript(scriptName) -! -! let buf = RunVimInTerminal('-S ' . scriptName, {}) -! call WaitForAssert({-> assert_equal('%', term_getline(buf, 1))}) -! -! let bs = "\<BS>" -! call term_sendkeys(buf, "hello" . bs . bs) -! call WaitForAssert({-> assert_equal('% hel', term_getline(buf, 1))}) -! -! let left = "\<Left>" -! call term_sendkeys(buf, left . left . left . bs . '-') -! call WaitForAssert({-> assert_equal('% -hel', term_getline(buf, 1))}) -! -! let end = "\<End>" -! call term_sendkeys(buf, end . "x") -! call WaitForAssert({-> assert_equal('% -helx', term_getline(buf, 1))}) -! -! call term_sendkeys(buf, "\<C-U>exit\<CR>") -! call WaitForAssert({-> assert_equal('other buffer', term_getline(buf, 1))}) -! -! call StopVimInTerminal(buf) -! call delete(scriptName) - endfunc -*** ../vim-8.1.0031/src/version.c 2018-06-03 18:21:57.809890160 +0200 ---- src/version.c 2018-06-04 17:05:58.770829349 +0200 -*************** -*** 763,764 **** ---- 763,766 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 32, - /**/ - --- -I have a drinking problem -- I can't afford it. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |