From 6650a694547eb744afa060ec62dd8270e99db9f2 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Tue, 26 Jan 2016 19:59:10 +0100 Subject: patch 7.4.1181 Problem: free_tv() can't handle special variables. (Damien) Solution: Add the variable type. --- src/eval.c | 1 + src/testdir/test_viml.vim | 10 ++++++++++ src/version.c | 2 ++ 3 files changed, 13 insertions(+) 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 @@ -746,6 +746,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1181, /**/ 1180, /**/ -- cgit v1.2.1