aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/normal.c
diff options
context:
space:
mode:
authorcangscop <cangscop@gmail.com>2019-07-27 03:13:29 +0200
committercangscop <cangscop@gmail.com>2019-07-27 16:25:33 +0200
commit0364e47ccb8705d48146f00d68506d5f9cefb0aa (patch)
treea3d527e3440f29b6babcc7a80cd43c77445f73cb /src/nvim/normal.c
parent0b4123668af65b489e188dfb1041e664a4ee3915 (diff)
downloadrneovim-0364e47ccb8705d48146f00d68506d5f9cefb0aa.tar.gz
rneovim-0364e47ccb8705d48146f00d68506d5f9cefb0aa.tar.bz2
rneovim-0364e47ccb8705d48146f00d68506d5f9cefb0aa.zip
vim-patch:8.1.53 use typval_T in the caller of call_vim_function
Problem: unreliable types for complete function arguments Solution: fix argument type for functions w/ unreliable type conversion(Ozaki Kiichi) vim/vim#2993
Diffstat (limited to 'src/nvim/normal.c')
-rw-r--r--src/nvim/normal.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/nvim/normal.c b/src/nvim/normal.c
index d33c5d33bb..286159ac0f 100644
--- a/src/nvim/normal.c
+++ b/src/nvim/normal.c
@@ -2096,13 +2096,15 @@ static void op_function(oparg_T *oap)
decl(&curbuf->b_op_end);
}
- const char_u *const argv[1] = {
- (const char_u *)(((const char *const[]) {
+ typval_T argv[2];
+ argv[0].v_type = VAR_STRING;
+ argv[1].v_type = VAR_UNKNOWN;
+ argv[0].vval.v_string =
+ (char_u *)(((const char *const[]) {
[kMTBlockWise] = "block",
[kMTLineWise] = "line",
[kMTCharWise] = "char",
- })[oap->motion_type]),
- };
+ })[oap->motion_type]);
// Reset virtual_op so that 'virtualedit' can be changed in the
// function.