mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14:06 -04:00
patch 8.2.4876: MS-Windows: Shift-BS results in strange char in powershell
Problem: MS-Windows: Shift-BS results in strange character in powershell. Solution: Add K_S_BS. (Christian Brabandt, closes #10283, closes #10279)
This commit is contained in:
committed by
Bram Moolenaar
parent
40fd7e6652
commit
dfbdadce44
@@ -963,6 +963,7 @@ doESCkey:
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case K_BS: // delete character before the cursor
|
case K_BS: // delete character before the cursor
|
||||||
|
case K_S_BS:
|
||||||
case Ctrl_H:
|
case Ctrl_H:
|
||||||
did_backspace = ins_bs(c, BACKSPACE_CHAR, &inserted_space);
|
did_backspace = ins_bs(c, BACKSPACE_CHAR, &inserted_space);
|
||||||
auto_format(FALSE, TRUE);
|
auto_format(FALSE, TRUE);
|
||||||
|
@@ -276,6 +276,7 @@ enum key_extra
|
|||||||
, KE_CANCEL = 102 // return from vgetc()
|
, KE_CANCEL = 102 // return from vgetc()
|
||||||
, KE_COMMAND = 103 // <Cmd> special key
|
, KE_COMMAND = 103 // <Cmd> special key
|
||||||
, KE_SCRIPT_COMMAND = 104 // <ScriptCmd> special key
|
, KE_SCRIPT_COMMAND = 104 // <ScriptCmd> special key
|
||||||
|
, KE_S_BS = 105 // shift + <BS>
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -299,6 +300,7 @@ enum key_extra
|
|||||||
#define K_C_END TERMCAP2KEY(KS_EXTRA, KE_C_END)
|
#define K_C_END TERMCAP2KEY(KS_EXTRA, KE_C_END)
|
||||||
#define K_TAB TERMCAP2KEY(KS_EXTRA, KE_TAB)
|
#define K_TAB TERMCAP2KEY(KS_EXTRA, KE_TAB)
|
||||||
#define K_S_TAB TERMCAP2KEY('k', 'B')
|
#define K_S_TAB TERMCAP2KEY('k', 'B')
|
||||||
|
#define K_S_BS TERMCAP2KEY(KS_EXTRA, KE_S_BS)
|
||||||
|
|
||||||
// extra set of function keys F1-F4, for vt100 compatible xterm
|
// extra set of function keys F1-F4, for vt100 compatible xterm
|
||||||
#define K_XF1 TERMCAP2KEY(KS_EXTRA, KE_XF1)
|
#define K_XF1 TERMCAP2KEY(KS_EXTRA, KE_XF1)
|
||||||
|
@@ -688,6 +688,7 @@ static struct builtin_term builtin_termcaps[] =
|
|||||||
{K_K8, "\316\372"},
|
{K_K8, "\316\372"},
|
||||||
{K_K9, "\316\376"},
|
{K_K9, "\316\376"},
|
||||||
{K_BS, "\316x"},
|
{K_BS, "\316x"},
|
||||||
|
{K_S_BS, "\316y"},
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# if defined(VMS) || defined(ALL_BUILTIN_TCAPS)
|
# if defined(VMS) || defined(ALL_BUILTIN_TCAPS)
|
||||||
|
@@ -248,7 +248,11 @@ let g:valgrind_cnt = 1
|
|||||||
func GetVimCommand(...)
|
func GetVimCommand(...)
|
||||||
if !filereadable('vimcmd')
|
if !filereadable('vimcmd')
|
||||||
echo 'Cannot read the "vimcmd" file, falling back to ../vim.'
|
echo 'Cannot read the "vimcmd" file, falling back to ../vim.'
|
||||||
let lines = ['../vim']
|
if !has("win32")
|
||||||
|
let lines = ['../vim']
|
||||||
|
else
|
||||||
|
let lines = ['..\vim.exe']
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
let lines = readfile('vimcmd')
|
let lines = readfile('vimcmd')
|
||||||
endif
|
endif
|
||||||
|
@@ -2148,5 +2148,31 @@ func Test_edit_overlong_file_name()
|
|||||||
bwipe!
|
bwipe!
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_edit_shift_bs()
|
||||||
|
CheckMSWindows
|
||||||
|
|
||||||
|
" FIXME: this works interactively, but the test fails
|
||||||
|
throw 'Skipped: Shift-Backspace Test not working correctly :('
|
||||||
|
|
||||||
|
" Need to run this in Win32 Terminal, do not use CheckRunVimInTerminal
|
||||||
|
if !has("terminal")
|
||||||
|
return
|
||||||
|
endif
|
||||||
|
|
||||||
|
" Shift Backspace should work like Backspace in insert mode
|
||||||
|
let lines =<< trim END
|
||||||
|
call setline(1, ['abc'])
|
||||||
|
END
|
||||||
|
call writefile(lines, 'Xtest_edit_shift_bs')
|
||||||
|
|
||||||
|
let buf = RunVimInTerminal('-S Xtest_edit_shift_bs', #{rows: 3})
|
||||||
|
call term_sendkeys(buf, "A\<S-BS>-\<esc>")
|
||||||
|
call TermWait(buf, 50)
|
||||||
|
call assert_equal('ab-', term_getline(buf, 1))
|
||||||
|
|
||||||
|
" clean up
|
||||||
|
call StopVimInTerminal(buf)
|
||||||
|
call delete('Xtest_edit_shift_bs')
|
||||||
|
endfunc
|
||||||
|
|
||||||
" vim: shiftwidth=2 sts=2 expandtab
|
" vim: shiftwidth=2 sts=2 expandtab
|
||||||
|
@@ -746,6 +746,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
4876,
|
||||||
/**/
|
/**/
|
||||||
4875,
|
4875,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user