vim-patch:7.4.569/573

vim-patch:7.4.569
vim-patch:7.4.573
Helped-by: @glts https://github.com/neovim/neovim/pull/2621

Problem:    Having CTRL-C interrupt or not does not check the mode of the
            mapping. (Ingo Karkat)
Solution:   Use a bitmask with the map mode. (Christian Brabandt)

651863c94a

Problem:    Mapping CTRL-C in Visual mode doesn't work. (Ingo Karkat)
Solution:   Call get_real_state() instead of using State directly.

5000869712
This commit is contained in:
Shougo Matsushita
2015-12-19 10:03:17 +09:00
committed by Justin M. Keyes
parent 420fe1fe73
commit 3dfbeabf35
8 changed files with 67 additions and 15 deletions

View File

@@ -2,12 +2,12 @@
local helpers = require('test.functional.helpers')
local clear, feed, insert = helpers.clear, helpers.feed, helpers.insert
local execute, expect = helpers.execute, helpers.expect
local execute, expect, wait = helpers.execute, helpers.expect, helpers.wait
describe('mapping', function()
before_each(clear)
it('is working', function()
it('abbreviations with р (0x80)', function()
insert([[
test starts here:
]])
@@ -16,6 +16,49 @@ describe('mapping', function()
execute('inoreab чкпр vim')
feed('GAчкпр <esc>')
expect([[
test starts here:
vim ]])
end)
it('works with Ctrl-c in Insert mode', function()
-- Mapping of ctrl-c in insert mode
execute('set cpo-=< cpo-=k')
execute('inoremap <c-c> <ctrl-c>')
execute('cnoremap <c-c> dummy')
execute('cunmap <c-c>')
feed('GA<cr>')
feed('TEST2: CTRL-C |')
wait()
feed('<c-c>A|<cr><esc>')
wait()
execute('unmap <c-c>')
execute('unmap! <c-c>')
expect([[
TEST2: CTRL-C |<ctrl-c>A|
]])
end)
it('works with Ctrl-c in Visual mode', function()
-- Mapping of ctrl-c in Visual mode.
execute([[vnoremap <c-c> :<C-u>$put ='vmap works']])
feed('GV')
-- For some reason the mapping is only triggered when <C-c> is entered in a
-- separate feed command.
wait()
feed('<c-c>')
wait()
feed('<cr>')
execute('vunmap <c-c>')
expect([[
vmap works]])
end)
it('works with Ctrl-c in Insert mode with langmap', function()
-- langmap should not get remapped in insert mode.
execute('inoremap { FAIL_ilangmap')
execute('set langmap=+{ langnoremap')
@@ -37,8 +80,7 @@ describe('mapping', function()
-- Assert buffer contents.
expect([[
test starts here:
vim
+
+
+