1
0
forked from aniani/vim

patch 8.2.4556: test fails without the +job or +channel feature

Problem:    Test fails without the +job or +channel feature. (Dominique Pellé)
Solution:   Adjust #ifdefs.  Pass on skip flag. (closes #9942)
This commit is contained in:
Bram Moolenaar
2022-03-13 13:12:27 +00:00
parent 986b0fd0c5
commit 4f3321f704
3 changed files with 15 additions and 5 deletions

View File

@@ -3515,15 +3515,18 @@ handle_predefined(char_u *s, int len, typval_T *rettv)
return OK; return OK;
} }
break; break;
#ifdef FEAT_JOB_CHANNEL
case 8: if (STRNCMP(s, "null_job", 8) == 0) case 8: if (STRNCMP(s, "null_job", 8) == 0)
{ {
#ifdef FEAT_JOB_CHANNEL
rettv->v_type = VAR_JOB; rettv->v_type = VAR_JOB;
rettv->vval.v_job = NULL; rettv->vval.v_job = NULL;
#else
rettv->v_type = VAR_SPECIAL;
rettv->vval.v_number = VVAL_NULL;
#endif
return OK; return OK;
} }
break; break;
#endif
case 9: case 9:
if (STRNCMP(s, "null_", 5) != 0) if (STRNCMP(s, "null_", 5) != 0)
break; break;
@@ -3554,14 +3557,17 @@ handle_predefined(char_u *s, int len, typval_T *rettv)
} }
break; break;
case 12: case 12:
#ifdef FEAT_JOB_CHANNEL
if (STRNCMP(s, "null_channel", 12) == 0) if (STRNCMP(s, "null_channel", 12) == 0)
{ {
#ifdef FEAT_JOB_CHANNEL
rettv->v_type = VAR_CHANNEL; rettv->v_type = VAR_CHANNEL;
rettv->vval.v_channel = NULL; rettv->vval.v_channel = NULL;
#else
rettv->v_type = VAR_SPECIAL;
rettv->vval.v_number = VVAL_NULL;
#endif
return OK; return OK;
} }
#endif
if (STRNCMP(s, "null_partial", 12) == 0) if (STRNCMP(s, "null_partial", 12) == 0)
{ {
rettv->v_type = VAR_PARTIAL; rettv->v_type = VAR_PARTIAL;

View File

@@ -750,6 +750,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 */
/**/
4556,
/**/ /**/
4555, 4555,
/**/ /**/

View File

@@ -762,6 +762,7 @@ fill_exarg_from_cctx(exarg_T *eap, cctx_T *cctx)
{ {
eap->getline = exarg_getline; eap->getline = exarg_getline;
eap->cookie = cctx; eap->cookie = cctx;
eap->skip = cctx->ctx_skip == SKIP_YES;
} }
/* /*
@@ -855,7 +856,8 @@ compile_nested_function(exarg_T *eap, cctx_T *cctx, garray_T *lines_to_free)
semsg(_(e_namespace_not_supported_str), name_start); semsg(_(e_namespace_not_supported_str), name_start);
return NULL; return NULL;
} }
if (check_defined(name_start, name_end - name_start, cctx, if (cctx->ctx_skip != SKIP_YES
&& check_defined(name_start, name_end - name_start, cctx,
NULL, FALSE) == FAIL) NULL, FALSE) == FAIL)
return NULL; return NULL;
if (!ASCII_ISUPPER(is_global ? name_start[2] : name_start[0])) if (!ASCII_ISUPPER(is_global ? name_start[2] : name_start[0]))