# HG changeset patch # User Bram Moolenaar # Date 1586369704 -7200 # Node ID 82ea10d554fbc51512f8cacb219fed368dd7880e # Parent d98f73cfabfa96c10d84fc1036ffedf3254cc4ee patch 8.2.0532: cannot use simplify() as a method Commit: https://github.com/vim/vim/commit/7035fd9d909c49cf5105a53753c1772c193d05b8 Author: Bram Moolenaar 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) diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt --- 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|. diff --git a/src/evalfunc.c b/src/evalfunc.c --- 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}, diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim --- 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')) diff --git a/src/version.c b/src/version.c --- 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,