Skip to content

Commit 6650a69

Browse files
committed
patch 7.4.1181
Problem: free_tv() can't handle special variables. (Damien) Solution: Add the variable type.
1 parent ac80999 commit 6650a69

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

src/eval.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21608,6 +21608,7 @@ free_tv(varp)
2160821608
case VAR_FLOAT:
2160921609
#endif
2161021610
case VAR_UNKNOWN:
21611+
case VAR_SPECIAL:
2161121612
break;
2161221613
default:
2161321614
EMSG2(_(e_intern2), "free_tv()");

src/testdir/test_viml.vim

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1005,6 +1005,16 @@ func Test_type()
10051005
call assert_false(empty(v:true))
10061006
call assert_true(empty(v:null))
10071007
call assert_true(empty(v:none))
1008+
1009+
func ChangeYourMind()
1010+
try
1011+
return v:true
1012+
finally
1013+
return 'something else'
1014+
endtry
1015+
endfunc
1016+
1017+
call ChangeYourMind()
10081018
endfunc
10091019

10101020
"-------------------------------------------------------------------------------

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,8 @@ static char *(features[]) =
746746

747747
static int included_patches[] =
748748
{ /* Add new patch number below this line */
749+
/**/
750+
1181,
749751
/**/
750752
1180,
751753
/**/

0 commit comments

Comments
 (0)