diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-09-07 19:05:09 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-09-07 19:05:09 +0200 |
commit | f6ed61e1489e40eada55a4f1782e1ed82bcad7d9 (patch) | |
tree | 59c67f3a73489d4536e741b883a9ad5f45c3cc2f /src | |
parent | 30e9b3c4256710781c3bd64efb33f138e4e074b3 (diff) | |
download | vim-git-f6ed61e1489e40eada55a4f1782e1ed82bcad7d9.tar.gz |
patch 8.1.2004: more functions can be used as methodsv8.1.2004
Problem: More functions can be used as methods.
Solution: Make various functions usable as a method.
Diffstat (limited to 'src')
-rw-r--r-- | src/evalfunc.c | 36 | ||||
-rw-r--r-- | src/testdir/test_breakindent.vim | 2 | ||||
-rw-r--r-- | src/testdir/test_expr.vim | 4 | ||||
-rw-r--r-- | src/testdir/test_functions.vim | 12 | ||||
-rw-r--r-- | src/testdir/test_sound.vim | 6 | ||||
-rw-r--r-- | src/testdir/test_spell.vim | 6 | ||||
-rw-r--r-- | src/testdir/test_substitute.vim | 2 | ||||
-rw-r--r-- | src/testdir/test_swap.vim | 4 | ||||
-rw-r--r-- | src/testdir/test_utf8.vim | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
10 files changed, 39 insertions, 37 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c index 2461b6c30..19922da79 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -715,38 +715,38 @@ static funcentry_T global_functions[] = {"sort", 1, 3, FEARG_1, f_sort}, #ifdef FEAT_SOUND {"sound_clear", 0, 0, 0, f_sound_clear}, - {"sound_playevent", 1, 2, 0, f_sound_playevent}, - {"sound_playfile", 1, 2, 0, f_sound_playfile}, - {"sound_stop", 1, 1, 0, f_sound_stop}, + {"sound_playevent", 1, 2, FEARG_1, f_sound_playevent}, + {"sound_playfile", 1, 2, FEARG_1, f_sound_playfile}, + {"sound_stop", 1, 1, FEARG_1, f_sound_stop}, #endif - {"soundfold", 1, 1, 0, f_soundfold}, - {"spellbadword", 0, 1, 0, f_spellbadword}, - {"spellsuggest", 1, 3, 0, f_spellsuggest}, + {"soundfold", 1, 1, FEARG_1, f_soundfold}, + {"spellbadword", 0, 1, FEARG_1, f_spellbadword}, + {"spellsuggest", 1, 3, FEARG_1, f_spellsuggest}, {"split", 1, 3, FEARG_1, f_split}, #ifdef FEAT_FLOAT {"sqrt", 1, 1, FEARG_1, f_sqrt}, {"str2float", 1, 1, FEARG_1, f_str2float}, #endif {"str2list", 1, 2, FEARG_1, f_str2list}, - {"str2nr", 1, 2, 0, f_str2nr}, - {"strcharpart", 2, 3, 0, f_strcharpart}, - {"strchars", 1, 2, 0, f_strchars}, - {"strdisplaywidth", 1, 2, 0, f_strdisplaywidth}, + {"str2nr", 1, 2, FEARG_1, f_str2nr}, + {"strcharpart", 2, 3, FEARG_1, f_strcharpart}, + {"strchars", 1, 2, FEARG_1, f_strchars}, + {"strdisplaywidth", 1, 2, FEARG_1, f_strdisplaywidth}, #ifdef HAVE_STRFTIME - {"strftime", 1, 2, 0, f_strftime}, + {"strftime", 1, 2, FEARG_1, f_strftime}, #endif - {"strgetchar", 2, 2, 0, f_strgetchar}, - {"stridx", 2, 3, 0, f_stridx}, + {"strgetchar", 2, 2, FEARG_1, f_strgetchar}, + {"stridx", 2, 3, FEARG_1, f_stridx}, {"string", 1, 1, FEARG_1, f_string}, {"strlen", 1, 1, FEARG_1, f_strlen}, - {"strpart", 2, 3, 0, f_strpart}, - {"strridx", 2, 3, 0, f_strridx}, + {"strpart", 2, 3, FEARG_1, f_strpart}, + {"strridx", 2, 3, FEARG_1, f_strridx}, {"strtrans", 1, 1, FEARG_1, f_strtrans}, {"strwidth", 1, 1, FEARG_1, f_strwidth}, - {"submatch", 1, 2, 0, f_submatch}, + {"submatch", 1, 2, FEARG_1, f_submatch}, {"substitute", 4, 4, FEARG_1, f_substitute}, - {"swapinfo", 1, 1, 0, f_swapinfo}, - {"swapname", 1, 1, 0, f_swapname}, + {"swapinfo", 1, 1, FEARG_1, f_swapinfo}, + {"swapname", 1, 1, FEARG_1, f_swapname}, {"synID", 3, 3, 0, f_synID}, {"synIDattr", 2, 3, FEARG_1, f_synIDattr}, {"synIDtrans", 1, 1, FEARG_1, f_synIDtrans}, diff --git a/src/testdir/test_breakindent.vim b/src/testdir/test_breakindent.vim index 65e258af5..785709fc0 100644 --- a/src/testdir/test_breakindent.vim +++ b/src/testdir/test_breakindent.vim @@ -424,7 +424,7 @@ func Test_breakindent11_vartabs() call s:test_windows('setl cpo-=n sbr=>> nu nuw=4 nolist briopt= ts=4 vts=4') let text = getline(2) let width = strlen(text[1:]) + 2->indent() + strlen(&sbr) * 3 " text wraps 3 times - call assert_equal(width, strdisplaywidth(text)) + call assert_equal(width, text->strdisplaywidth()) call s:close_windows('set sbr= vts&') endfunc diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim index 110cecb60..365a81344 100644 --- a/src/testdir/test_expr.vim +++ b/src/testdir/test_expr.vim @@ -53,7 +53,7 @@ endfunc func Test_strgetchar() call assert_equal(char2nr('a'), strgetchar('axb', 0)) - call assert_equal(char2nr('x'), strgetchar('axb', 1)) + call assert_equal(char2nr('x'), 'axb'->strgetchar(1)) call assert_equal(char2nr('b'), strgetchar('axb', 2)) call assert_equal(-1, strgetchar('axb', -1)) @@ -63,7 +63,7 @@ endfunc func Test_strcharpart() call assert_equal('a', strcharpart('axb', 0, 1)) - call assert_equal('x', strcharpart('axb', 1, 1)) + call assert_equal('x', 'axb'->strcharpart(1, 1)) call assert_equal('b', strcharpart('axb', 2, 1)) call assert_equal('xb', strcharpart('axb', 1)) diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim index 3588c767a..4c6d2a89f 100644 --- a/src/testdir/test_functions.vim +++ b/src/testdir/test_functions.vim @@ -138,7 +138,7 @@ func Test_str2nr() call assert_equal(-123456789, str2nr('-123456789')) call assert_equal(5, str2nr('101', 2)) - call assert_equal(5, str2nr('0b101', 2)) + call assert_equal(5, '0b101'->str2nr(2)) call assert_equal(5, str2nr('0B101', 2)) call assert_equal(-5, str2nr('-101', 2)) call assert_equal(-5, str2nr('-0b101', 2)) @@ -184,7 +184,7 @@ func Test_strftime() " of strftime() can be 17 or 18, depending on timezone. call assert_match('^2017-01-1[78]$', strftime('%Y-%m-%d', 1484695512)) " - call assert_match('^\d\d\d\d-\(0\d\|1[012]\)-\([012]\d\|3[01]\) \([01]\d\|2[0-3]\):[0-5]\d:\([0-5]\d\|60\)$', strftime('%Y-%m-%d %H:%M:%S')) + call assert_match('^\d\d\d\d-\(0\d\|1[012]\)-\([012]\d\|3[01]\) \([01]\d\|2[0-3]\):[0-5]\d:\([0-5]\d\|60\)$', '%Y-%m-%d %H:%M:%S'->strftime()) call assert_fails('call strftime([])', 'E730:') call assert_fails('call strftime("%Y", [])', 'E745:') @@ -415,7 +415,7 @@ endfunc func Test_strpart() call assert_equal('de', strpart('abcdefg', 3, 2)) call assert_equal('ab', strpart('abcdefg', -2, 4)) - call assert_equal('abcdefg', strpart('abcdefg', -2)) + call assert_equal('abcdefg', 'abcdefg'->strpart(-2)) call assert_equal('fg', strpart('abcdefg', 5, 4)) call assert_equal('defg', strpart('abcdefg', 3)) @@ -763,11 +763,11 @@ endfunc func Test_stridx() call assert_equal(-1, stridx('', 'l')) call assert_equal(0, stridx('', '')) - call assert_equal(0, stridx('hello', '')) + call assert_equal(0, 'hello'->stridx('')) call assert_equal(-1, stridx('hello', 'L')) call assert_equal(2, stridx('hello', 'l', -1)) call assert_equal(2, stridx('hello', 'l', 0)) - call assert_equal(2, stridx('hello', 'l', 1)) + call assert_equal(2, 'hello'->stridx('l', 1)) call assert_equal(3, stridx('hello', 'l', 3)) call assert_equal(-1, stridx('hello', 'l', 4)) call assert_equal(-1, stridx('hello', 'l', 10)) @@ -780,7 +780,7 @@ func Test_strridx() call assert_equal(0, strridx('', '')) call assert_equal(5, strridx('hello', '')) call assert_equal(-1, strridx('hello', 'L')) - call assert_equal(3, strridx('hello', 'l')) + call assert_equal(3, 'hello'->strridx('l')) call assert_equal(3, strridx('hello', 'l', 10)) call assert_equal(3, strridx('hello', 'l', 3)) call assert_equal(2, strridx('hello', 'l', 2)) diff --git a/src/testdir/test_sound.vim b/src/testdir/test_sound.vim index 6ffd7e65f..86dc59673 100644 --- a/src/testdir/test_sound.vim +++ b/src/testdir/test_sound.vim @@ -13,13 +13,13 @@ func Test_play_event() if has('win32') throw 'Skipped: Playing event with callback is not supported on Windows' endif - let id = sound_playevent('bell', 'PlayCallback') + let id = 'bell'->sound_playevent('PlayCallback') if id == 0 throw 'Skipped: bell event not available' endif " Stop it quickly, avoid annoying the user. sleep 20m - call sound_stop(id) + eval id->sound_stop() sleep 30m call assert_equal(id, g:id) call assert_equal(1, g:result) " sound was aborted @@ -35,7 +35,7 @@ func Test_play_silent() endif " play until the end - let id2 = sound_playfile(fname, 'PlayCallback') + let id2 = fname->sound_playfile('PlayCallback') call assert_true(id2 > 0) sleep 500m call assert_equal(id2, g:id) diff --git a/src/testdir/test_spell.vim b/src/testdir/test_spell.vim index af72637ce..a44d95534 100644 --- a/src/testdir/test_spell.vim +++ b/src/testdir/test_spell.vim @@ -73,7 +73,7 @@ func Test_spellbadword() set spell call assert_equal(['bycycle', 'bad'], spellbadword('My bycycle.')) - call assert_equal(['another', 'caps'], spellbadword('A sentence. another sentence')) + call assert_equal(['another', 'caps'], 'A sentence. another sentence'->spellbadword()) set spelllang=en call assert_equal(['', ''], spellbadword('centre')) @@ -179,7 +179,7 @@ func Test_zz_basic() \ ) call assert_equal("gebletegek", soundfold('goobledygoook')) - call assert_equal("kepereneven", soundfold('kóopërÿnôven')) + call assert_equal("kepereneven", 'kóopërÿnôven'->soundfold()) call assert_equal("everles gesvets etele", soundfold('oeverloos gezwets edale')) endfunc @@ -440,7 +440,7 @@ func TestGoodBadBase() break endif let prevbad = bad - let lst = spellsuggest(bad, 3) + let lst = bad->spellsuggest(3) normal mm call add(result, [bad, lst]) diff --git a/src/testdir/test_substitute.vim b/src/testdir/test_substitute.vim index a263fb621..8a8e7ab4f 100644 --- a/src/testdir/test_substitute.vim +++ b/src/testdir/test_substitute.vim @@ -337,7 +337,7 @@ func Test_sub_replace_5() \ substitute('A123456789', \ 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)', \ '\=string([submatch(0, 1), submatch(9, 1), ' . - \ 'submatch(8, 1), submatch(7, 1), submatch(6, 1), ' . + \ 'submatch(8, 1), 7->submatch(1), submatch(6, 1), ' . \ 'submatch(5, 1), submatch(4, 1), submatch(3, 1), ' . \ 'submatch(2, 1), submatch(1, 1)])', \ '')) diff --git a/src/testdir/test_swap.vim b/src/testdir/test_swap.vim index 856c663b7..6e01ad00d 100644 --- a/src/testdir/test_swap.vim +++ b/src/testdir/test_swap.vim @@ -111,7 +111,7 @@ func Test_swapinfo() w let fname = s:swapname() call assert_match('Xswapinfo', fname) - let info = swapinfo(fname) + let info = fname->swapinfo() let ver = printf('VIM %d.%d', v:version / 100, v:version % 100) call assert_equal(ver, info.version) @@ -153,7 +153,7 @@ func Test_swapname() let buf = bufnr('%') let expected = s:swapname() wincmd p - call assert_equal(expected, swapname(buf)) + call assert_equal(expected, buf->swapname()) new Xtest3 setlocal noswapfile diff --git a/src/testdir/test_utf8.vim b/src/testdir/test_utf8.vim index fa0568e59..42a46fd43 100644 --- a/src/testdir/test_utf8.vim +++ b/src/testdir/test_utf8.vim @@ -17,7 +17,7 @@ func Test_strchars() let exp = [[1, 1, 1], [3, 3, 3], [2, 2, 1], [3, 3, 1], [1, 1, 1]] for i in range(len(inp)) call assert_equal(exp[i][0], strchars(inp[i])) - call assert_equal(exp[i][1], strchars(inp[i], 0)) + call assert_equal(exp[i][1], inp[i]->strchars(0)) call assert_equal(exp[i][2], strchars(inp[i], 1)) endfor endfunc diff --git a/src/version.c b/src/version.c index 80976779a..54680f542 100644 --- a/src/version.c +++ b/src/version.c @@ -758,6 +758,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2004, +/**/ 2003, /**/ 2002, |