updated for version 7.4.268
Problem:    Using exists() on a funcref for a script-local function does not
            work.
Solution:   Translate <SNR> to the special byte sequence.  Add a test.
diff --git a/src/testdir/test_eval.in b/src/testdir/test_eval.in
index 214a99e..8c3d839 100644
--- a/src/testdir/test_eval.in
+++ b/src/testdir/test_eval.in
@@ -180,6 +180,9 @@
 :echo g:Foo(2)
 :echo Foo(3)
 :"
+:" script-local function used in Funcref must exist.
+:so test_eval_func.vim
+:"
 :/^start:/+1,$wq! test.out
 :" vim: et ts=4 isk-=\: fmr=???,???
 :call getchar()
diff --git a/src/testdir/test_eval.ok b/src/testdir/test_eval.ok
index cfe045b..f81927b 100644
--- a/src/testdir/test_eval.ok
+++ b/src/testdir/test_eval.ok
Binary files differ
diff --git a/src/testdir/test_eval_func.vim b/src/testdir/test_eval_func.vim
new file mode 100644
index 0000000..4fcd042
--- /dev/null
+++ b/src/testdir/test_eval_func.vim
@@ -0,0 +1,10 @@
+" Vim script used in test_eval.in.  Needed for script-local function.
+
+func! s:Testje()
+  return "foo"
+endfunc
+let Bar = function('s:Testje')
+$put ='s:Testje exists: ' . exists('s:Testje')
+$put ='func s:Testje exists: ' . exists('*s:Testje')
+$put ='Bar exists: ' . exists('Bar')
+$put ='func Bar exists: ' . exists('*Bar')