To: vim_dev@googlegroups.com Subject: Patch 7.4.1585 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.4.1585 Problem: Partial is not recognized everywhere. Solution: Check for partial in trans_function_name(). (Yasuhiro Matsumoto) Add a test. Files: src/eval.c, src/testdir/test_partial.vim *** ../vim-7.4.1584/src/eval.c 2016-03-16 22:52:08.143036320 +0100 --- src/eval.c 2016-03-17 20:48:31.207544245 +0100 *************** *** 23893,23898 **** --- 23893,23904 ---- name = vim_strsave(lv.ll_tv->vval.v_string); *pp = end; } + else if (lv.ll_tv->v_type == VAR_PARTIAL + && lv.ll_tv->vval.v_partial != NULL) + { + name = vim_strsave(lv.ll_tv->vval.v_partial->pt_name); + *pp = end; + } else { if (!skip && !(flags & TFN_QUIET) && (fdp == NULL *** ../vim-7.4.1584/src/testdir/test_partial.vim 2016-03-16 22:52:08.143036320 +0100 --- src/testdir/test_partial.vim 2016-03-17 20:48:09.183775502 +0100 *************** *** 106,108 **** --- 106,120 ---- let B = s:obj2.clear call assert_equal('bar', B()) endfunc + + func Test_partial_exists() + let F = function('MyFunc') + call assert_true(exists('*F')) + let lF = [F] + call assert_true(exists('*lF[0]')) + + let F = function('MyFunc', ['arg']) + call assert_true(exists('*F')) + let lF = [F] + call assert_true(exists('*lF[0]')) + endfunc *** ../vim-7.4.1584/src/version.c 2016-03-17 17:58:50.705456489 +0100 --- src/version.c 2016-03-17 20:45:51.565220735 +0100 *************** *** 750,751 **** --- 750,753 ---- { /* Add new patch number below this line */ + /**/ + 1585, /**/ -- hundred-and-one symptoms of being an internet addict: 64. The remote to the T.V. is missing...and you don't even care. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///