Mercurial > vim
comparison src/regexp.c @ 9723:80ac9cf77c9b v7.4.2137
commit https://github.com/vim/vim/commit/437bafe4c8a83ed71ee006eda7f54b65a90f0d4c
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Aug 1 15:40:54 2016 +0200
patch 7.4.2137
Problem: Using function() with a name will find another function when it is
redefined.
Solution: Add funcref(). Refer to lambda using a partial. Fix several
reference counting issues.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 01 Aug 2016 15:45:07 +0200 |
parents | 172131507c85 |
children | 4aead6a9b7a9 |
comparison
equal
deleted
inserted
replaced
9722:1557241fd3a7 | 9723:80ac9cf77c9b |
---|---|
7497 } | 7497 } |
7498 else if (expr->v_type == VAR_PARTIAL) | 7498 else if (expr->v_type == VAR_PARTIAL) |
7499 { | 7499 { |
7500 partial_T *partial = expr->vval.v_partial; | 7500 partial_T *partial = expr->vval.v_partial; |
7501 | 7501 |
7502 s = partial->pt_name; | 7502 s = partial_name(partial); |
7503 call_func(s, (int)STRLEN(s), &rettv, | 7503 call_func(s, (int)STRLEN(s), &rettv, |
7504 1, argv, fill_submatch_list, | 7504 1, argv, fill_submatch_list, |
7505 0L, 0L, &dummy, TRUE, partial, NULL); | 7505 0L, 0L, &dummy, TRUE, partial, NULL); |
7506 } | 7506 } |
7507 if (matchList.sl_list.lv_len > 0) | 7507 if (matchList.sl_list.lv_len > 0) |