diff options
Diffstat (limited to 'data/vim/patches/8.1.0747')
-rw-r--r-- | data/vim/patches/8.1.0747 | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/data/vim/patches/8.1.0747 b/data/vim/patches/8.1.0747 deleted file mode 100644 index 44c07dd60..000000000 --- a/data/vim/patches/8.1.0747 +++ /dev/null @@ -1,139 +0,0 @@ -To: vim_dev@googlegroups.com -Subject: Patch 8.1.0747 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 8.1.0747 -Problem: map() with a bad expression doesn't give an error. (Ingo Karkat) -Solution: Check for giving an error message. (closes #3800) -Files: src/eval.c, src/testdir/test_filter_map.vim - - -*** ../vim-8.1.0746/src/eval.c 2019-01-13 23:38:33.383773361 +0100 ---- src/eval.c 2019-01-14 22:17:17.022853149 +0100 -*************** -*** 696,701 **** ---- 696,725 ---- - return (int)retval; - } - -+ /* -+ * Call eval1() and give an error message if not done at a lower level. -+ */ -+ static int -+ eval1_emsg(char_u **arg, typval_T *rettv, int evaluate) -+ { -+ int ret; -+ int did_emsg_before = did_emsg; -+ int called_emsg_before = called_emsg; -+ -+ ret = eval1(arg, rettv, evaluate); -+ if (ret == FAIL) -+ { -+ // Report the invalid expression unless the expression evaluation has -+ // been cancelled due to an aborting error, an interrupt, or an -+ // exception, or we already gave a more specific error. -+ // Also check called_emsg for when using assert_fails(). -+ if (!aborting() && did_emsg == did_emsg_before -+ && called_emsg == called_emsg_before) -+ semsg(_(e_invexpr2), arg); -+ } -+ return ret; -+ } -+ - static int - eval_expr_typval(typval_T *expr, typval_T *argv, int argc, typval_T *rettv) - { -*************** -*** 729,735 **** - if (s == NULL) - return FAIL; - s = skipwhite(s); -! if (eval1(&s, rettv, TRUE) == FAIL) - return FAIL; - if (*s != NUL) /* check for trailing chars after expr */ - { ---- 753,759 ---- - if (s == NULL) - return FAIL; - s = skipwhite(s); -! if (eval1_emsg(&s, rettv, TRUE) == FAIL) - return FAIL; - if (*s != NUL) /* check for trailing chars after expr */ - { -*************** -*** 8464,8481 **** - while (*arg != NUL && *arg != '|' && *arg != '\n') - { - p = arg; -! if (eval1(&arg, &rettv, !eap->skip) == FAIL) -! { -! /* -! * Report the invalid expression unless the expression evaluation -! * has been cancelled due to an aborting error, an interrupt, or an -! * exception. -! */ -! if (!aborting() && did_emsg == save_did_emsg) -! semsg(_(e_invexpr2), p); -! ret = FAIL; - break; -- } - - if (!eap->skip) - { ---- 8488,8496 ---- - while (*arg != NUL && *arg != '|' && *arg != '\n') - { - p = arg; -! ret = eval1_emsg(&arg, &rettv, !eap->skip); -! if (ret == FAIL) - break; - - if (!eap->skip) - { -*************** -*** 10758,10763 **** ---- 10773,10779 ---- - } - else - { -+ // argvars[0].v_type == VAR_LIST - vimvars[VV_KEY].vv_type = VAR_NUMBER; - - for (li = l->lv_first; li != NULL; li = nli) -*** ../vim-8.1.0746/src/testdir/test_filter_map.vim 2016-07-08 20:01:07.000000000 +0200 ---- src/testdir/test_filter_map.vim 2019-01-14 22:17:58.102558935 +0100 -*************** -*** 79,81 **** ---- 79,86 ---- - endfunc - call assert_equal({"foo": "f", "bar": "b", "baz": "b"}, map(copy(dict), function('s:filter4'))) - endfunc -+ -+ func Test_map_fails() -+ call assert_fails('call map([1], "42 +")', 'E15:') -+ call assert_fails('call filter([1], "42 +")', 'E15:') -+ endfunc -*** ../vim-8.1.0746/src/version.c 2019-01-14 21:51:17.987461933 +0100 ---- src/version.c 2019-01-14 22:18:16.678425599 +0100 -*************** -*** 797,798 **** ---- 797,800 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 747, - /**/ - --- -Spam seems to be something useful to novices. Later you realize that -it's a bunch of indigestable junk that only clogs your system. -Applies to both the food and the e-mail! - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ an exciting new programming language -- http://www.Zimbu.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |