Mercurial > vim
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'))