0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00

patch 8.2.0155: warnings from MinGW compiler; tests fail without +float

Problem:    Warnings from MinGW compiler. (John Marriott) Json test fails when
            building without +float feature.
Solution:   Init variables. Fix Json parsing. Skip a few tests that require
            the +float feature.
This commit is contained in:
Bram Moolenaar 2020-01-26 21:42:03 +01:00
parent 21b9e9773d
commit a5d5953d59
7 changed files with 22 additions and 4 deletions

View File

@ -6357,8 +6357,8 @@ ConvertToPyObject(typval_T *tv)
? "" : (char *)tv->vval.v_string); ? "" : (char *)tv->vval.v_string);
case VAR_NUMBER: case VAR_NUMBER:
return PyLong_FromLong((long) tv->vval.v_number); return PyLong_FromLong((long) tv->vval.v_number);
#ifdef FEAT_FLOAT
case VAR_FLOAT: case VAR_FLOAT:
#ifdef FEAT_FLOAT
return PyFloat_FromDouble((double) tv->vval.v_float); return PyFloat_FromDouble((double) tv->vval.v_float);
#endif #endif
case VAR_LIST: case VAR_LIST:

View File

@ -761,9 +761,9 @@ json_decode_item(js_read_T *reader, typval_T *res, int options)
break; break;
default: default:
if (VIM_ISDIGIT(*p) || (*p == '-' && VIM_ISDIGIT(p[1]))) if (VIM_ISDIGIT(*p) || (*p == '-'
&& (VIM_ISDIGIT(p[1]) || p[1] == NUL)))
{ {
#ifdef FEAT_FLOAT
char_u *sp = p; char_u *sp = p;
if (*sp == '-') if (*sp == '-')
@ -782,6 +782,7 @@ json_decode_item(js_read_T *reader, typval_T *res, int options)
} }
} }
sp = skipdigits(sp); sp = skipdigits(sp);
#ifdef FEAT_FLOAT
if (*sp == '.' || *sp == 'e' || *sp == 'E') if (*sp == '.' || *sp == 'e' || *sp == 'E')
{ {
if (cur_item == NULL) if (cur_item == NULL)
@ -889,7 +890,8 @@ json_decode_item(js_read_T *reader, typval_T *res, int options)
} }
#endif #endif
// check for truncated name // check for truncated name
len = (int)(reader->js_end - (reader->js_buf + reader->js_used)); len = (int)(reader->js_end
- (reader->js_buf + reader->js_used));
if ( if (
(len < 5 && STRNICMP((char *)p, "false", len) == 0) (len < 5 && STRNICMP((char *)p, "false", len) == 0)
#ifdef FEAT_FLOAT #ifdef FEAT_FLOAT

View File

@ -1,5 +1,7 @@
" Tests for ->method() " Tests for ->method()
source check.vim
func Test_list_method() func Test_list_method()
let l = [1, 2, 3] let l = [1, 2, 3]
call assert_equal([1, 2, 3, 4], [1, 2, 3]->add(4)) call assert_equal([1, 2, 3, 4], [1, 2, 3]->add(4))
@ -118,6 +120,7 @@ func Test_method_funcref()
endfunc endfunc
func Test_method_float() func Test_method_float()
CheckFeature float
eval 1.234->string()->assert_equal('1.234') eval 1.234->string()->assert_equal('1.234')
eval -1.234->string()->assert_equal('-1.234') eval -1.234->string()->assert_equal('-1.234')
endfunc endfunc

View File

@ -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 */
/**/
155,
/**/ /**/
154, 154,
/**/ /**/

View File

@ -1217,8 +1217,13 @@ parse_type(char_u **arg, garray_T *type_list)
case 'f': case 'f':
if (len == 5 && STRNCMP(*arg, "float", len) == 0) if (len == 5 && STRNCMP(*arg, "float", len) == 0)
{ {
#ifdef FEAT_FLOAT
*arg += len; *arg += len;
return &t_float; return &t_float;
#else
emsg(_("E1055: This Vim is not compiled with float support"));
return &t_any;
#endif
} }
if (len == 4 && STRNCMP(*arg, "func", len) == 0) if (len == 4 && STRNCMP(*arg, "func", len) == 0)
{ {

View File

@ -1095,6 +1095,7 @@ call_def_function(
// Computation with two float arguments // Computation with two float arguments
case ISN_OPFLOAT: case ISN_OPFLOAT:
case ISN_COMPAREFLOAT: case ISN_COMPAREFLOAT:
#ifdef FEAT_FLOAT
{ {
typval_T *tv1 = STACK_TV_BOT(-2); typval_T *tv1 = STACK_TV_BOT(-2);
typval_T *tv2 = STACK_TV_BOT(-1); typval_T *tv2 = STACK_TV_BOT(-1);
@ -1127,6 +1128,7 @@ call_def_function(
else else
tv1->vval.v_float = res; tv1->vval.v_float = res;
} }
#endif
break; break;
case ISN_COMPARELIST: case ISN_COMPARELIST:
@ -1618,7 +1620,9 @@ ex_disassemble(exarg_T *eap)
get_var_special_name(iptr->isn_arg.number)); get_var_special_name(iptr->isn_arg.number));
break; break;
case ISN_PUSHF: case ISN_PUSHF:
#ifdef FEAT_FLOAT
smsg("%4d PUSHF %g", current, iptr->isn_arg.fnumber); smsg("%4d PUSHF %g", current, iptr->isn_arg.fnumber);
#endif
break; break;
case ISN_PUSHS: case ISN_PUSHS:
smsg("%4d PUSHS \"%s\"", current, iptr->isn_arg.string); smsg("%4d PUSHS \"%s\"", current, iptr->isn_arg.string);

View File

@ -323,6 +323,7 @@ handle_import(char_u *arg_start, garray_T *gap, int import_sid)
*arg = cc; *arg = cc;
return NULL; return NULL;
} }
ufunc = NULL;
} }
else else
{ {
@ -355,6 +356,7 @@ handle_import(char_u *arg_start, garray_T *gap, int import_sid)
*arg = cc; *arg = cc;
return NULL; return NULL;
} }
sv = NULL;
} }
imported = new_imported(gap != NULL ? gap imported = new_imported(gap != NULL ? gap