diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-03-13 13:12:27 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-03-13 13:12:27 +0000 |
commit | 4f3321f704ec0c2a522f12a580530283ae28856f (patch) | |
tree | 0cd24963bf722d7f5cc4a438ede4dcbd5093a7d5 | |
parent | 986b0fd0c550d9834a3cc45dd87555c13152c391 (diff) |
patch 8.2.4556: test fails without the +job or +channel featurev8.2.4556
Problem: Test fails without the +job or +channel feature. (Dominique Pellé)
Solution: Adjust #ifdefs. Pass on skip flag. (closes #9942)
-rw-r--r-- | src/eval.c | 14 | ||||
-rw-r--r-- | src/version.c | 2 | ||||
-rw-r--r-- | src/vim9compile.c | 4 |
3 files changed, 15 insertions, 5 deletions
diff --git a/src/eval.c b/src/eval.c index 1d57c38aa0..3ecbf6546f 100644 --- a/src/eval.c +++ b/src/eval.c @@ -3515,15 +3515,18 @@ handle_predefined(char_u *s, int len, typval_T *rettv) return OK; } break; -#ifdef FEAT_JOB_CHANNEL case 8: if (STRNCMP(s, "null_job", 8) == 0) { +#ifdef FEAT_JOB_CHANNEL rettv->v_type = VAR_JOB; rettv->vval.v_job = NULL; +#else + rettv->v_type = VAR_SPECIAL; + rettv->vval.v_number = VVAL_NULL; +#endif return OK; } break; -#endif case 9: if (STRNCMP(s, "null_", 5) != 0) break; @@ -3554,14 +3557,17 @@ handle_predefined(char_u *s, int len, typval_T *rettv) } break; case 12: -#ifdef FEAT_JOB_CHANNEL if (STRNCMP(s, "null_channel", 12) == 0) { +#ifdef FEAT_JOB_CHANNEL rettv->v_type = VAR_CHANNEL; rettv->vval.v_channel = NULL; +#else + rettv->v_type = VAR_SPECIAL; + rettv->vval.v_number = VVAL_NULL; +#endif return OK; } -#endif if (STRNCMP(s, "null_partial", 12) == 0) { rettv->v_type = VAR_PARTIAL; diff --git a/src/version.c b/src/version.c index 20b5a03a3c..ac3be8b115 100644 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4556, +/**/ 4555, /**/ 4554, diff --git a/src/vim9compile.c b/src/vim9compile.c index 25376d0526..696301f0f2 100644 --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -762,6 +762,7 @@ fill_exarg_from_cctx(exarg_T *eap, cctx_T *cctx) { eap->getline = exarg_getline; 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); 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) return NULL; if (!ASCII_ISUPPER(is_global ? name_start[2] : name_start[0])) |