diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-01-26 19:59:10 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-01-26 19:59:10 +0100 |
commit | 6650a694547eb744afa060ec62dd8270e99db9f2 (patch) | |
tree | 89b5b88b9f5d53d6bb484e3ab6c5fb13c13e4c40 /src | |
parent | ac80999985299dae4a9ef56dbf31fbdb35c04c08 (diff) | |
download | vim-git-6650a694547eb744afa060ec62dd8270e99db9f2.tar.gz |
patch 7.4.1181v7.4.1181
Problem: free_tv() can't handle special variables. (Damien)
Solution: Add the variable type.
Diffstat (limited to 'src')
-rw-r--r-- | src/eval.c | 1 | ||||
-rw-r--r-- | src/testdir/test_viml.vim | 10 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/eval.c b/src/eval.c index 590834fe4..5f05c3de9 100644 --- a/src/eval.c +++ b/src/eval.c @@ -21608,6 +21608,7 @@ free_tv(varp) case VAR_FLOAT: #endif case VAR_UNKNOWN: + case VAR_SPECIAL: break; default: EMSG2(_(e_intern2), "free_tv()"); diff --git a/src/testdir/test_viml.vim b/src/testdir/test_viml.vim index 3c140c84d..f7b34146a 100644 --- a/src/testdir/test_viml.vim +++ b/src/testdir/test_viml.vim @@ -1005,6 +1005,16 @@ func Test_type() call assert_false(empty(v:true)) call assert_true(empty(v:null)) call assert_true(empty(v:none)) + + func ChangeYourMind() + try + return v:true + finally + return 'something else' + endtry + endfunc + + call ChangeYourMind() endfunc "------------------------------------------------------------------------------- diff --git a/src/version.c b/src/version.c index ee6ac48c4..53f5dedb4 100644 --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1181, +/**/ 1180, /**/ 1179, |