patch 9.1.0051: MS-Windows: Key event test fail
Commit:
https://github.com/vim/vim/commit/f6ebaa7ae64edbe2e56d65c2a3f2494301d11acb
Author: Christian Brabandt <[email protected]>
Date: Thu Jan 25 20:44:49 2024 +0100
patch 9.1.0051: MS-Windows: Key event test fail
Problem: MS-Windows: Key event test fail
(after 9.1.0050)
Solution: Catch Interrupt and return Ctrl-C
Signed-off-by: Christian Brabandt <[email protected]>
diff --git a/src/testdir/test_gui.vim b/src/testdir/test_gui.vim
index e7f7c6d83..e13f4c3dc 100644
--- a/src/testdir/test_gui.vim
+++ b/src/testdir/test_gui.vim
@@ -1708,7 +1708,11 @@ func Test_gui_lowlevel_keyevent()
" Test for <Ctrl-A> to <Ctrl-Z> keys
for kc in range(65, 90)
call SendKeys([0x11, kc])
- let ch = getcharstr()
+ try
+ let ch = getcharstr()
+ catch /^Vim:Interrupt$/
+ let ch = "\<c-c>"
+ endtry
call assert_equal(nr2char(kc - 64), ch)
endfor
diff --git a/src/testdir/test_mswin_event.vim b/src/testdir/test_mswin_event.vim
index b6609937c..10e7a812e 100644
--- a/src/testdir/test_mswin_event.vim
+++ b/src/testdir/test_mswin_event.vim
@@ -36,6 +36,17 @@ func SendKey(key)
call SendKeyWithModifiers(a:key, 0)
endfunc
+" getcharstr(0) but catch Vim:Interrupt
+func Getcharstr()
+ try
+ let ch = getcharstr(0)
+ catch /^Vim:Interrupt$/
+ let ch = "\<c-c>"
+ endtry
+ return ch
+endfunc
+
+
" Send a string of individual key-press events, without modifiers.
func SendKeyStr(keystring)
for k in a:keystring
@@ -347,7 +358,7 @@ func s:LoopTestKeyArray(arr)
for [kcodes, kstr] in a:arr
" Send as a sequence of key presses.
call SendKeyGroup(kcodes)
- let ch = getcharstr(0)
+ let ch = Getcharstr()
" need to deal a bit differently with the non-printable ascii chars < 0x20
if kstr < 0x20 && index([s:VK.CONTROL, s:VK.LCONTROL, s:VK.RCONTROL],
kcodes[0]) >= 0
call assert_equal(nr2char(kstr), $"{ch}")
@@ -374,7 +385,7 @@ func s:LoopTestKeyArray(arr)
endif
endfor
call SendKeyWithModifiers(key, modifiers)
- let ch = getcharstr(0)
+ let ch = Getcharstr()
" need to deal a bit differently with the non-printable ascii chars < 0x20
if kstr < 0x20 && index([s:VK.CONTROL, s:VK.LCONTROL, s:VK.RCONTROL],
kcodes[0]) >= 0
call assert_equal(nr2char(kstr), $"{ch}")
@@ -408,10 +419,10 @@ func Test_mswin_event_character_keys()
" (0x30 - 0x39) : VK_0 - VK_9 are the same as ASCII '0' - '9'
for kc in range(48, 57)
call SendKey(kc)
- let ch = getcharstr(0)
+ let ch = Getcharstr()
call assert_equal(nr2char(kc), ch)
call SendKeyWithModifiers(kc, 0)
- let ch = getcharstr(0)
+ let ch = Getcharstr()
call assert_equal(nr2char(kc), ch)
endfor
@@ -437,10 +448,10 @@ func Test_mswin_event_character_keys()
" numbered 32 higher than their uppercase versions.
for kc in range(65, 90)
call SendKey(kc)
- let ch = getcharstr(0)
+ let ch = Getcharstr()
call assert_equal(nr2char(kc + 32), ch)
call SendKeyWithModifiers(kc, 0)
- let ch = getcharstr(0)
+ let ch = Getcharstr()
call assert_equal(nr2char(kc + 32), ch)
endfor
@@ -449,10 +460,10 @@ func Test_mswin_event_character_keys()
for modkey in [s:VK.SHIFT, s:VK.LSHIFT, s:VK.RSHIFT]
for kc in range(65, 90)
call SendKeyGroup([modkey, kc])
- let ch = getcharstr(0)
+ let ch = Getcharstr()
call assert_equal(nr2char(kc), ch)
call SendKeyWithModifiers(kc, s:MOD_MASK_SHIFT)
- let ch = getcharstr(0)
+ let ch = Getcharstr()
call assert_equal(nr2char(kc), ch)
endfor
endfor
@@ -462,10 +473,10 @@ func Test_mswin_event_character_keys()
for modkey in [s:VK.CONTROL, s:VK.LCONTROL, s:VK.RCONTROL]
for kc in range(65, 90)
call SendKeyGroup([modkey, kc])
- let ch = getcharstr(0)
+ let ch = Getcharstr()
call assert_equal(nr2char(kc - 64), ch)
call SendKeyWithModifiers(kc, s:MOD_MASK_CTRL)
- let ch = getcharstr(0)
+ let ch = Getcharstr()
call assert_equal(nr2char(kc - 64), ch)
endfor
endfor
@@ -518,7 +529,7 @@ func Test_mswin_event_function_keys()
while getchar(0)
endwhile
call SendKeyWithModifiers(111+n, vim_mod_mask)
- let ch = getcharstr(0)
+ let ch = Getcharstr()
let mod_mask = getcharmod()
call assert_equal(keycode, $"{ch}", $"key = {kstr}")
" workaround for the virtual termcap maps changing the character
@@ -590,21 +601,21 @@ func Test_mswin_event_movement_keys()
while getchar(0)
endwhile
execute 'call feedkeys("\<' .. kstr .. '>")'
- let chstr_fk = getcharstr(0)
+ let chstr_fk = Getcharstr()
call assert_equal(chstr_eval, chstr_fk, $"feedkeys = <{kstr}>")
" flush out the typeahead buffer
while getchar(0)
endwhile
call SendKey(kcode)
- let chstr_alone = getcharstr(0)
+ let chstr_alone = Getcharstr()
let chstr_alone_end = chstr_alone[len(chstr_alone)-2:len(chstr_alone)-1]
" flush out the typeahead buffer
while getchar(0)
endwhile
call SendKeyGroup(mod_keycodes + [kcode])
- let chstr_mswin = getcharstr(0)
+ let chstr_mswin = Getcharstr()
let chstr_mswin_end = chstr_mswin[len(chstr_mswin)-2:len(chstr_mswin)-1]
let mod_mask = getcharmod()
@@ -653,7 +664,7 @@ func Test_QWERTY_Ctrl_minus()
new
call SendKeyGroup([s:VK.CONTROL, s:VK.OEM_MINUS])
- let ch = getcharstr(0)
+ let ch = Getcharstr()
call assert_equal(nr2char(0x1f),ch)
call SendKey(s:VK.KEY_I)
diff --git a/src/version.c b/src/version.c
index 3b56f2f61..a21d043ca 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 51,
/**/
50,
/**/
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/E1rT5tM-00Cv1j-5n%40256bit.org.