patch 7.4.1278
Problem: When jsonencode() fails it still returns something.
Solution: Return an empty string on failure.
diff --git a/src/testdir/test_json.vim b/src/testdir/test_json.vim
index 05c3949..52cffc8 100644
--- a/src/testdir/test_json.vim
+++ b/src/testdir/test_json.vim
@@ -75,6 +75,9 @@
call assert_fails('echo jsonencode(function("tr"))', 'E474:')
call assert_fails('echo jsonencode([function("tr")])', 'E474:')
call assert_fails('echo jsonencode({"key":v:none})', 'E474:')
+
+ silent! let res = jsonencode(function("tr"))
+ call assert_equal("", res)
endfunc
func Test_decode()