changeset 19952:82ea10d554fb v8.2.0532

patch 8.2.0532: cannot use simplify() as a method Commit: https://github.com/vim/vim/commit/7035fd9d909c49cf5105a53753c1772c193d05b8 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Apr 8 20:03:52 2020 +0200 patch 8.2.0532: cannot use simplify() as a method Problem: Cannot use simplify() as a method. Solution: Add FEARG_1. (closes https://github.com/vim/vim/issues/5996)
author Bram Moolenaar <Bram@vim.org>
date Wed, 08 Apr 2020 20:15:04 +0200
parents d98f73cfabfa
children 313ad6f6fdb5
files runtime/doc/eval.txt src/evalfunc.c src/testdir/test_functions.vim src/version.c
diffstat 4 files changed, 6 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -9024,6 +9024,8 @@ simplify({filename})					*simplify()*
 		directory.  In order to resolve all the involved symbolic
 		links before simplifying the path name, use |resolve()|.
 
+		Can also be used as a |method|: >
+			GetName()->simplify()
 
 sin({expr})						*sin()*
 		Return the sine of {expr}, measured in radians, as a |Float|.
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -837,7 +837,7 @@ static funcentry_T global_functions[] =
     {"sign_undefine",	0, 1, FEARG_1,	  ret_number,	SIGN_FUNC(f_sign_undefine)},
     {"sign_unplace",	1, 2, FEARG_1,	  ret_number,	SIGN_FUNC(f_sign_unplace)},
     {"sign_unplacelist", 1, 2, FEARG_1,	  ret_list_number, SIGN_FUNC(f_sign_unplacelist)},
-    {"simplify",	1, 1, 0,	  ret_string,	f_simplify},
+    {"simplify",	1, 1, FEARG_1,	  ret_string,	f_simplify},
     {"sin",		1, 1, FEARG_1,	  ret_float,	FLOAT_FUNC(f_sin)},
     {"sinh",		1, 1, FEARG_1,	  ret_float,	FLOAT_FUNC(f_sinh)},
     {"sort",		1, 3, FEARG_1,	  ret_list_any,	f_sort},
--- a/src/testdir/test_functions.vim
+++ b/src/testdir/test_functions.vim
@@ -450,7 +450,7 @@ func Test_simplify()
   call assert_equal('/',           simplify('/.'))
   call assert_equal('/',           simplify('/..'))
   call assert_equal('/...',        simplify('/...'))
-  call assert_equal('./dir/file',  simplify('./dir/file'))
+  call assert_equal('./dir/file',  './dir/file'->simplify())
   call assert_equal('./dir/file',  simplify('.///dir//file'))
   call assert_equal('./dir/file',  simplify('./dir/./file'))
   call assert_equal('./file',      simplify('./dir/../file'))
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    532,
+/**/
     531,
 /**/
     530,