Mercurial > vim
changeset 7768:3d8e4e0d7127 v7.4.1181
commit https://github.com/vim/vim/commit/6650a694547eb744afa060ec62dd8270e99db9f2
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Jan 26 19:59:10 2016 +0100
patch 7.4.1181
Problem: free_tv() can't handle special variables. (Damien)
Solution: Add the variable type.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 26 Jan 2016 20:00:05 +0100 |
parents | c9daa07abf34 |
children | 3bdef7bd2244 |
files | src/eval.c src/testdir/test_viml.vim src/version.c |
diffstat | 3 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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()");
--- 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 "-------------------------------------------------------------------------------