INIT(= N_("E1275: String or function required for ->(expr)"));
EXTERN char e_illegal_map_mode_string_str[]
INIT(= N_("E1276: Illegal map mode string: '%s'"));
+# if !defined(FEAT_JOB_CHANNEL)
+EXTERN char e_channel_job_feature_not_available[]
+ INIT(= N_("E1277: Channel and job feature is not available"));
+# endif
#endif
}
else
{
+ int r = OK;
+
// variables are always initialized
if (GA_GROW_FAILS(instr, 1))
goto theend;
switch (lhs.lhs_member_type->tt_type)
{
case VAR_BOOL:
- generate_PUSHBOOL(cctx, VVAL_FALSE);
+ r = generate_PUSHBOOL(cctx, VVAL_FALSE);
break;
case VAR_FLOAT:
#ifdef FEAT_FLOAT
- generate_PUSHF(cctx, 0.0);
+ r = generate_PUSHF(cctx, 0.0);
#endif
break;
case VAR_STRING:
- generate_PUSHS(cctx, NULL);
+ r = generate_PUSHS(cctx, NULL);
break;
case VAR_BLOB:
- generate_PUSHBLOB(cctx, blob_alloc());
+ r = generate_PUSHBLOB(cctx, blob_alloc());
break;
case VAR_FUNC:
- generate_PUSHFUNC(cctx, NULL, &t_func_void);
+ r = generate_PUSHFUNC(cctx, NULL, &t_func_void);
break;
case VAR_LIST:
- generate_NEWLIST(cctx, 0, FALSE);
+ r = generate_NEWLIST(cctx, 0, FALSE);
break;
case VAR_DICT:
- generate_NEWDICT(cctx, 0, FALSE);
+ r = generate_NEWDICT(cctx, 0, FALSE);
break;
case VAR_JOB:
- generate_PUSHJOB(cctx);
+ r = generate_PUSHJOB(cctx);
break;
case VAR_CHANNEL:
- generate_PUSHCHANNEL(cctx);
+ r = generate_PUSHCHANNEL(cctx);
break;
case VAR_NUMBER:
case VAR_UNKNOWN:
else
{
instr_count = instr->ga_len;
- generate_PUSHNR(cctx, 0);
+ r = generate_PUSHNR(cctx, 0);
}
break;
}
+ if (r == FAIL)
+ goto theend;
}
if (var_count == 0)
end = p;
int
generate_PUSHCHANNEL(cctx_T *cctx)
{
+#ifdef FEAT_JOB_CHANNEL
isn_T *isn;
+#endif
RETURN_OK_IF_SKIP(cctx);
+#ifdef FEAT_JOB_CHANNEL
if ((isn = generate_instr_type(cctx, ISN_PUSHCHANNEL, &t_channel)) == NULL)
return FAIL;
return OK;
+#else
+ emsg(_(e_channel_job_feature_not_available));
+ return FAIL;
+#endif
}
/*
int
generate_PUSHJOB(cctx_T *cctx)
{
+#ifdef FEAT_JOB_CHANNEL
isn_T *isn;
+#endif
RETURN_OK_IF_SKIP(cctx);
+#ifdef FEAT_JOB_CHANNEL
if ((isn = generate_instr_type(cctx, ISN_PUSHJOB, &t_job)) == NULL)
return FAIL;
return OK;
+#else
+ emsg(_(e_channel_job_feature_not_available));
+ return FAIL;
+#endif
}
/*