mirror of
https://github.com/vim/vim.git
synced 2025-10-04 05:25:06 -04:00
patch 8.2.0258: modifyOtherKeys cannot be temporarily disabled
Problem: ModifyOtherKeys cannot be temporarily disabled. Solution: Add echoraw() with an example for modifyOtherKeys.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 8.2. Last change: 2020 Feb 03
|
*eval.txt* For Vim version 8.2. Last change: 2020 Feb 14
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -2414,6 +2414,7 @@ deletebufline({expr}, {first} [, {last}])
|
|||||||
did_filetype() Number |TRUE| if FileType autocmd event used
|
did_filetype() Number |TRUE| if FileType autocmd event used
|
||||||
diff_filler({lnum}) Number diff filler lines about {lnum}
|
diff_filler({lnum}) Number diff filler lines about {lnum}
|
||||||
diff_hlID({lnum}, {col}) Number diff highlighting at {lnum}/{col}
|
diff_hlID({lnum}, {col}) Number diff highlighting at {lnum}/{col}
|
||||||
|
echoraw({expr}) none output {expr} as-is
|
||||||
empty({expr}) Number |TRUE| if {expr} is empty
|
empty({expr}) Number |TRUE| if {expr} is empty
|
||||||
environ() Dict return environment variables
|
environ() Dict return environment variables
|
||||||
escape({string}, {chars}) String escape {chars} in {string} with '\'
|
escape({string}, {chars}) String escape {chars} in {string} with '\'
|
||||||
@@ -2899,6 +2900,7 @@ win_id2win({expr}) Number get window nr from window ID
|
|||||||
win_screenpos({nr}) List get screen position of window {nr}
|
win_screenpos({nr}) List get screen position of window {nr}
|
||||||
win_splitmove({nr}, {target} [, {options}])
|
win_splitmove({nr}, {target} [, {options}])
|
||||||
Number move window {nr} to split of {target}
|
Number move window {nr} to split of {target}
|
||||||
|
win_type([{nr}]) String type of window {nr}
|
||||||
winbufnr({nr}) Number buffer number of window {nr}
|
winbufnr({nr}) Number buffer number of window {nr}
|
||||||
wincol() Number window column of the cursor
|
wincol() Number window column of the cursor
|
||||||
winheight({nr}) Number height of window {nr}
|
winheight({nr}) Number height of window {nr}
|
||||||
@@ -3944,6 +3946,17 @@ diff_hlID({lnum}, {col}) *diff_hlID()*
|
|||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetLnum()->diff_hlID(col)
|
GetLnum()->diff_hlID(col)
|
||||||
|
|
||||||
|
|
||||||
|
echoraw({expr}) *echoraw()*
|
||||||
|
Output {expr} as-is, including unprintable characters. This
|
||||||
|
can be used to output a terminal code. For example, to disable
|
||||||
|
modifyOtherKeys: >
|
||||||
|
call echoraw(&t_TE)
|
||||||
|
< and to enable it again: >
|
||||||
|
call echoraw(&t_TI)
|
||||||
|
< Use with care, you can mess up the terminal this way.
|
||||||
|
|
||||||
|
|
||||||
empty({expr}) *empty()*
|
empty({expr}) *empty()*
|
||||||
Return the Number 1 if {expr} is empty, zero otherwise.
|
Return the Number 1 if {expr} is empty, zero otherwise.
|
||||||
- A |List| or |Dictionary| is empty when it does not have any
|
- A |List| or |Dictionary| is empty when it does not have any
|
||||||
@@ -10402,6 +10415,7 @@ win_splitmove({nr}, {target} [, {options}]) *win_splitmove()*
|
|||||||
Can also be used as a |method|: >
|
Can also be used as a |method|: >
|
||||||
GetWinid()->win_splitmove(target)
|
GetWinid()->win_splitmove(target)
|
||||||
<
|
<
|
||||||
|
|
||||||
*winbufnr()*
|
*winbufnr()*
|
||||||
winbufnr({nr}) The result is a Number, which is the number of the buffer
|
winbufnr({nr}) The result is a Number, which is the number of the buffer
|
||||||
associated with window {nr}. {nr} can be the window number or
|
associated with window {nr}. {nr} can be the window number or
|
||||||
|
@@ -60,6 +60,7 @@ static void f_debugbreak(typval_T *argvars, typval_T *rettv);
|
|||||||
#endif
|
#endif
|
||||||
static void f_deepcopy(typval_T *argvars, typval_T *rettv);
|
static void f_deepcopy(typval_T *argvars, typval_T *rettv);
|
||||||
static void f_did_filetype(typval_T *argvars, typval_T *rettv);
|
static void f_did_filetype(typval_T *argvars, typval_T *rettv);
|
||||||
|
static void f_echoraw(typval_T *argvars, typval_T *rettv);
|
||||||
static void f_empty(typval_T *argvars, typval_T *rettv);
|
static void f_empty(typval_T *argvars, typval_T *rettv);
|
||||||
static void f_environ(typval_T *argvars, typval_T *rettv);
|
static void f_environ(typval_T *argvars, typval_T *rettv);
|
||||||
static void f_escape(typval_T *argvars, typval_T *rettv);
|
static void f_escape(typval_T *argvars, typval_T *rettv);
|
||||||
@@ -394,6 +395,7 @@ static funcentry_T global_functions[] =
|
|||||||
{"did_filetype", 0, 0, 0, &t_number, f_did_filetype},
|
{"did_filetype", 0, 0, 0, &t_number, f_did_filetype},
|
||||||
{"diff_filler", 1, 1, FEARG_1, &t_number, f_diff_filler},
|
{"diff_filler", 1, 1, FEARG_1, &t_number, f_diff_filler},
|
||||||
{"diff_hlID", 2, 2, FEARG_1, &t_number, f_diff_hlID},
|
{"diff_hlID", 2, 2, FEARG_1, &t_number, f_diff_hlID},
|
||||||
|
{"echoraw", 1, 1, FEARG_1, &t_number, f_echoraw},
|
||||||
{"empty", 1, 1, FEARG_1, &t_number, f_empty},
|
{"empty", 1, 1, FEARG_1, &t_number, f_empty},
|
||||||
{"environ", 0, 0, 0, &t_dict_string, f_environ},
|
{"environ", 0, 0, 0, &t_dict_string, f_environ},
|
||||||
{"escape", 2, 2, FEARG_1, &t_string, f_escape},
|
{"escape", 2, 2, FEARG_1, &t_string, f_escape},
|
||||||
@@ -1813,6 +1815,21 @@ f_did_filetype(typval_T *argvars UNUSED, typval_T *rettv UNUSED)
|
|||||||
rettv->vval.v_number = did_filetype;
|
rettv->vval.v_number = did_filetype;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* "echoraw({expr})" function
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
f_echoraw(typval_T *argvars, typval_T *rettv UNUSED)
|
||||||
|
{
|
||||||
|
char_u *str = tv_get_string_chk(&argvars[0]);
|
||||||
|
|
||||||
|
if (str != NULL && *str != NUL)
|
||||||
|
{
|
||||||
|
out_str(str);
|
||||||
|
out_flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* "empty({expr})" function
|
* "empty({expr})" function
|
||||||
*/
|
*/
|
||||||
|
5
src/testdir/dumps/Test_functions_echoraw.dump
Normal file
5
src/testdir/dumps/Test_functions_echoraw.dump
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
>x+0&#ffffff0|e|l@1|o| @34
|
||||||
|
|~+0#4040ff13&| @38
|
||||||
|
|~| @38
|
||||||
|
|~| @38
|
||||||
|
| +0#0000000&@21|0|,|0|-|1| @8|A|l@1|
|
@@ -2,6 +2,7 @@
|
|||||||
source shared.vim
|
source shared.vim
|
||||||
source check.vim
|
source check.vim
|
||||||
source term_util.vim
|
source term_util.vim
|
||||||
|
source screendump.vim
|
||||||
|
|
||||||
" Must be done first, since the alternate buffer must be unset.
|
" Must be done first, since the alternate buffer must be unset.
|
||||||
func Test_00_bufexists()
|
func Test_00_bufexists()
|
||||||
@@ -2017,3 +2018,19 @@ func Test_range()
|
|||||||
" uniq()
|
" uniq()
|
||||||
call assert_equal([0, 1, 2, 3, 4], uniq(range(5)))
|
call assert_equal([0, 1, 2, 3, 4], uniq(range(5)))
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_echoraw()
|
||||||
|
CheckScreendump
|
||||||
|
|
||||||
|
" Normally used for escape codes, but let's test with a CR.
|
||||||
|
let lines =<< trim END
|
||||||
|
call echoraw("hello\<CR>x")
|
||||||
|
END
|
||||||
|
call writefile(lines, 'XTest_echoraw')
|
||||||
|
let buf = RunVimInTerminal('-S XTest_echoraw', {'rows': 5, 'cols': 40})
|
||||||
|
call VerifyScreenDump(buf, 'Test_functions_echoraw', {})
|
||||||
|
|
||||||
|
" clean up
|
||||||
|
call StopVimInTerminal(buf)
|
||||||
|
call delete('XTest_echoraw')
|
||||||
|
endfunc
|
||||||
|
@@ -742,6 +742,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 */
|
||||||
|
/**/
|
||||||
|
258,
|
||||||
/**/
|
/**/
|
||||||
257,
|
257,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user