Mercurial > vim
diff src/normal.c @ 14071:c1fcfafa8d1a v8.1.0053
patch 8.1.0053: first argument of 'completefunc' has inconsistent type
commit https://github.com/vim/vim/commit/ffa9684150f5441e84d492e7184ef73587bd6c6c
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jun 12 22:05:14 2018 +0200
patch 8.1.0053: first argument of 'completefunc' has inconsistent type
Problem: The first argument given to 'completefunc' can be Number or
String, depending on the value.
Solution: Avoid guessing the type of an argument, use typval_T in the
callers of call_vim_function(). (Ozaki Kiichi, closes #2993)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 12 Jun 2018 22:15:06 +0200 |
parents | dc67449d648c |
children | 19d99d9e670c |
line wrap: on
line diff
--- a/src/normal.c +++ b/src/normal.c @@ -2219,7 +2219,7 @@ op_colon(oparg_T *oap) op_function(oparg_T *oap UNUSED) { #ifdef FEAT_EVAL - char_u *(argv[1]); + typval_T argv[2]; # ifdef FEAT_VIRTUALEDIT int save_virtual_op = virtual_op; # endif @@ -2235,12 +2235,14 @@ op_function(oparg_T *oap UNUSED) /* Exclude the end position. */ decl(&curbuf->b_op_end); + argv[0].v_type = VAR_STRING; if (oap->block_mode) - argv[0] = (char_u *)"block"; + argv[0].vval.v_string = (char_u *)"block"; else if (oap->motion_type == MLINE) - argv[0] = (char_u *)"line"; + argv[0].vval.v_string = (char_u *)"line"; else - argv[0] = (char_u *)"char"; + argv[0].vval.v_string = (char_u *)"char"; + argv[1].v_type = VAR_UNKNOWN; # ifdef FEAT_VIRTUALEDIT /* Reset virtual_op so that 'virtualedit' can be changed in the