From 046debb9359c85e2f2bc5c6d9481dac0025c6a80 Mon Sep 17 00:00:00 2001 From: Marco Hinz Date: Tue, 29 Apr 2014 16:55:27 +0200 Subject: vim-patch:7.4.268 Problem: Using exists() on a funcref for a script-local function does not work. Solution: Translate to the special byte sequence. Add a test. https://code.google.com/p/vim/source/detail?r=1a5ed2626b26a982e307a206572121a557adf709 --- src/eval.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/eval.c') diff --git a/src/eval.c b/src/eval.c index a4727127f6..93d33a2c96 100644 --- a/src/eval.c +++ b/src/eval.c @@ -17883,6 +17883,13 @@ trans_function_name ( if (name != NULL) { name = vim_strsave(name); *pp = end; + if (strncmp((char *)name, "", 5) == 0) { + // Change "" to the byte sequence. + name[0] = K_SPECIAL; + name[1] = KS_EXTRA; + name[2] = (int)KE_SNR; + memmove(name + 3, name + 5, strlen((char *)name + 5) + 1); + } goto theend; } -- cgit