Patch 8.1.2004
Problem: More functions can be used as methods.
Solution: Make various functions usable as a method.
Files: runtime/doc/eval.txt, src/evalfunc.c,
src/testdir/test_breakindent.vim, src/testdir/test_expr.vim,
src/testdir/test_functions.vim, src/testdir/test_sound.vim,
src/testdir/test_spell.vim, src/testdir/test_substitute.vim,
src/testdir/test_swap.vim, src/testdir/test_utf8.vim
*** ../vim-8.1.2003/runtime/doc/eval.txt 2019-09-07 15:07:49.527268367
+0200
--- runtime/doc/eval.txt 2019-09-07 18:18:46.387884064 +0200
***************
*** 8881,8887 ****
Returns the sound ID, which can be passed to `sound_stop()`.
Returns zero if the sound could not be played.
! {only available when compiled with the |+sound| feature}
*sound_playfile()*
sound_playfile({path} [, {callback}])
--- 8895,8905 ----
Returns the sound ID, which can be passed to `sound_stop()`.
Returns zero if the sound could not be played.
!
! Can also be used as a |method|: >
! GetSoundName()->sound_playevent()
!
! < {only available when compiled with the |+sound| feature}
*sound_playfile()*
sound_playfile({path} [, {callback}])
***************
*** 8889,8894 ****
--- 8907,8916 ----
must be a full path. On Ubuntu you may find files to play
with this command: >
:!find /usr/share/sounds -type f | grep -v index.theme
+
+ < Can also be used as a |method|: >
+ GetSoundPath()->sound_playfile()
+
< {only available when compiled with the |+sound| feature}
***************
*** 8899,8905 ****
On MS-Windows, this does not work for event sound started by
`sound_playevent()`. To stop event sounds, use `sound_clear()`.
! {only available when compiled with the |+sound| feature}
*soundfold()*
soundfold({word})
--- 8921,8930 ----
On MS-Windows, this does not work for event sound started by
`sound_playevent()`. To stop event sounds, use `sound_clear()`.
! Can also be used as a |method|: >
! soundid->sound_stop()
!
! < {only available when compiled with the |+sound| feature}
*soundfold()*
soundfold({word})
***************
*** 8910,8915 ****
--- 8935,8943 ----
This can be used for making spelling suggestions. Note that
the method can be quite slow.
+ Can also be used as a |method|: >
+ GetWord()->soundfold()
+ <
*spellbadword()*
spellbadword([{sentence}])
Without argument: The result is the badly spelled word under
***************
*** 8936,8941 ****
--- 8964,8972 ----
'spell' option must be set and the value of 'spelllang' is
used.
+ Can also be used as a |method|: >
+ GetText()->spellbadword()
+ <
*spellsuggest()*
spellsuggest({word} [, {max} [, {capital}]])
Return a |List| with spelling suggestions to replace {word}.
***************
*** 8959,8964 ****
--- 8990,8997 ----
'spell' option must be set and the values of 'spelllang' and
'spellsuggest' are used.
+ Can also be used as a |method|: >
+ GetWord()->spellsuggest()
split({expr} [, {pattern} [, {keepempty}]]) *split()*
Make a |List| out of {expr}. When {pattern} is omitted or
***************
*** 9055,9060 ****
--- 9088,9106 ----
leading "0b" or "0B" is ignored.
Text after the number is silently ignored.
+ Can also be used as a |method|: >
+ GetText()->str2nr()
+
+ strcharpart({src}, {start} [, {len}]) *strcharpart()*
+ Like |strpart()| but using character index and length instead
+ of byte index and length.
+ When a character index is used where a character does not
+ exist it is assumed to be one character. For example: >
+ strcharpart('abc', -1, 2)
+ < results in 'a'.
+
+ Can also be used as a |method|: >
+ GetText()->strcharpart(5)
strchars({expr} [, {skipcc}]) *strchars()*
The result is a Number, which is the number of characters
***************
*** 9080,9092 ****
endfunction
endif
<
! strcharpart({src}, {start} [, {len}]) *strcharpart()*
! Like |strpart()| but using character index and length instead
! of byte index and length.
! When a character index is used where a character does not
! exist it is assumed to be one character. For example: >
! strcharpart('abc', -1, 2)
! < results in 'a'.
strdisplaywidth({expr} [, {col}]) *strdisplaywidth()*
The result is a Number, which is the number of display cells
--- 9126,9133 ----
endfunction
endif
<
! Can also be used as a |method|: >
! GetText()->strchars()
strdisplaywidth({expr} [, {col}]) *strdisplaywidth()*
The result is a Number, which is the number of display cells
***************
*** 9101,9106 ****
--- 9142,9150 ----
Ambiguous, this function's return value depends on 'ambiwidth'.
Also see |strlen()|, |strwidth()| and |strchars()|.
+ Can also be used as a |method|: >
+ GetText()->strdisplaywidth()
+
strftime({format} [, {time}]) *strftime()*
The result is a String, which is a formatted date and time, as
specified by the {format} string. The given {time} is used,
***************
*** 9120,9131 ****
--- 9164,9181 ----
< Not available on all systems. To check use: >
:if exists("*strftime")
+ < Can also be used as a |method|: >
+ GetFormat()->strftime()
+
strgetchar({str}, {index}) *strgetchar()*
Get character {index} from {str}. This uses a character
index, not a byte index. Composing characters are considered
separate characters here.
Also see |strcharpart()| and |strchars()|.
+ Can also be used as a |method|: >
+ GetText()->strgetchar(5)
+
stridx({haystack}, {needle} [, {start}]) *stridx()*
The result is a Number, which gives the byte index in
{haystack} of the first occurrence of the String {needle}.
***************
*** 9145,9150 ****
--- 9195,9202 ----
stridx() works similar to the C function strstr(). When used
with a single character it works similar to strchr().
+ Can also be used as a |method|: >
+ GetHaystack()->stridx(needle)
*string()*
string({expr}) Return {expr} converted to a String. If {expr} is a
Number,
Float, String, Blob or a composition of them, then the result
***************
*** 9197,9202 ****
--- 9249,9257 ----
example, to get three bytes under and after the cursor: >
strpart(getline("."), col(".") - 1, 3)
<
+ Can also be used as a |method|: >
+ GetText()->strpart(5)
+
strridx({haystack}, {needle} [, {start}]) *strridx()*
The result is a Number, which gives the byte index in
{haystack} of the last occurrence of the String {needle}.
***************
*** 9215,9220 ****
--- 9270,9278 ----
When used with a single character it works similar to the C
function strrchr().
+ Can also be used as a |method|: >
+ GetHaystack()->strridx(needle)
+
strtrans({expr}) *strtrans()*
The result is a String, which is {expr} with all unprintable
characters translated into printable characters |'isprint'|.
***************
*** 9263,9268 ****
--- 9321,9329 ----
< This finds the first number in the line and adds one to it.
A line break is included as a newline character.
+ Can also be used as a |method|: >
+ GetNr()->submatch()
+
substitute({expr}, {pat}, {sub}, {flags}) *substitute()*
The result is a String, which is a copy of {expr}, in which
the first match of {pat} is replaced with {sub}.
***************
*** 9326,9331 ****
--- 9387,9395 ----
Not a swap file: does not contain correct block ID
Magic number mismatch: Info in first block is invalid
+ Can also be used as a |method|: >
+ GetFilename()->swapinfo()
+
swapname({expr}) *swapname()*
The result is the swap file path of the buffer {expr}.
For the use of {expr}, see |bufname()| above.
***************
*** 9333,9338 ****
--- 9397,9405 ----
|:swapname| (unless no swap file).
If buffer {expr} has no swap file, returns an empty string.
+ Can also be used as a |method|: >
+ GetBufname()->swapname()
+
synID({lnum}, {col}, {trans}) *synID()*
The result is a Number, which is the syntax ID at the position
{lnum} and {col} in the current window.
*** ../vim-8.1.2003/src/evalfunc.c 2019-09-07 15:45:09.977228927 +0200
--- src/evalfunc.c 2019-09-07 18:18:51.767862583 +0200
***************
*** 715,752 ****
{"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},
#endif
! {"soundfold", 1, 1, 0, f_soundfold},
! {"spellbadword", 0, 1, 0, f_spellbadword},
! {"spellsuggest", 1, 3, 0, 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},
#ifdef HAVE_STRFTIME
! {"strftime", 1, 2, 0, f_strftime},
#endif
! {"strgetchar", 2, 2, 0, f_strgetchar},
! {"stridx", 2, 3, 0, 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},
{"strtrans", 1, 1, FEARG_1, f_strtrans},
{"strwidth", 1, 1, FEARG_1, f_strwidth},
! {"submatch", 1, 2, 0, f_submatch},
{"substitute", 4, 4, FEARG_1, f_substitute},
! {"swapinfo", 1, 1, 0, f_swapinfo},
! {"swapname", 1, 1, 0, f_swapname},
{"synID", 3, 3, 0, f_synID},
{"synIDattr", 2, 3, FEARG_1, f_synIDattr},
{"synIDtrans", 1, 1, FEARG_1, f_synIDtrans},
--- 715,752 ----
{"sort", 1, 3, FEARG_1, f_sort},
#ifdef FEAT_SOUND
{"sound_clear", 0, 0, 0, f_sound_clear},
! {"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, 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, 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, FEARG_1, f_strftime},
#endif
! {"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, 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, FEARG_1, f_submatch},
{"substitute", 4, 4, FEARG_1, f_substitute},
! {"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},
*** ../vim-8.1.2003/src/testdir/test_breakindent.vim 2019-08-31
21:17:35.594131454 +0200
--- src/testdir/test_breakindent.vim 2019-09-07 17:54:17.836158322 +0200
***************
*** 424,430 ****
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 s:close_windows('set sbr= vts&')
endfunc
--- 424,430 ----
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, text->strdisplaywidth())
call s:close_windows('set sbr= vts&')
endfunc
*** ../vim-8.1.2003/src/testdir/test_expr.vim 2019-09-06 22:45:47.574271573
+0200
--- src/testdir/test_expr.vim 2019-09-07 18:02:58.848284662 +0200
***************
*** 53,59 ****
func Test_strgetchar()
call assert_equal(char2nr('a'), strgetchar('axb', 0))
! call assert_equal(char2nr('x'), strgetchar('axb', 1))
call assert_equal(char2nr('b'), strgetchar('axb', 2))
call assert_equal(-1, strgetchar('axb', -1))
--- 53,59 ----
func Test_strgetchar()
call assert_equal(char2nr('a'), strgetchar('axb', 0))
! call assert_equal(char2nr('x'), 'axb'->strgetchar(1))
call assert_equal(char2nr('b'), strgetchar('axb', 2))
call assert_equal(-1, strgetchar('axb', -1))
***************
*** 63,69 ****
func Test_strcharpart()
call assert_equal('a', strcharpart('axb', 0, 1))
! call assert_equal('x', strcharpart('axb', 1, 1))
call assert_equal('b', strcharpart('axb', 2, 1))
call assert_equal('xb', strcharpart('axb', 1))
--- 63,69 ----
func Test_strcharpart()
call assert_equal('a', strcharpart('axb', 0, 1))
! call assert_equal('x', 'axb'->strcharpart(1, 1))
call assert_equal('b', strcharpart('axb', 2, 1))
call assert_equal('xb', strcharpart('axb', 1))
*** ../vim-8.1.2003/src/testdir/test_functions.vim 2019-09-06
22:45:47.578271556 +0200
--- src/testdir/test_functions.vim 2019-09-07 18:12:12.421526032 +0200
***************
*** 138,144 ****
call assert_equal(-123456789, str2nr('-123456789'))
call assert_equal(5, str2nr('101', 2))
! call assert_equal(5, str2nr('0b101', 2))
call assert_equal(5, str2nr('0B101', 2))
call assert_equal(-5, str2nr('-101', 2))
call assert_equal(-5, str2nr('-0b101', 2))
--- 138,144 ----
call assert_equal(-123456789, str2nr('-123456789'))
call assert_equal(5, str2nr('101', 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,190 ****
" 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_fails('call strftime([])', 'E730:')
call assert_fails('call strftime("%Y", [])', 'E745:')
--- 184,190 ----
" 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\)$', '%Y-%m-%d %H:%M:%S'->strftime())
call assert_fails('call strftime([])', 'E730:')
call assert_fails('call strftime("%Y", [])', 'E745:')
***************
*** 415,421 ****
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('fg', strpart('abcdefg', 5, 4))
call assert_equal('defg', strpart('abcdefg', 3))
--- 415,421 ----
func Test_strpart()
call assert_equal('de', strpart('abcdefg', 3, 2))
call assert_equal('ab', strpart('abcdefg', -2, 4))
! call assert_equal('abcdefg', 'abcdefg'->strpart(-2))
call assert_equal('fg', strpart('abcdefg', 5, 4))
call assert_equal('defg', strpart('abcdefg', 3))
***************
*** 763,773 ****
func Test_stridx()
call assert_equal(-1, stridx('', 'l'))
call assert_equal(0, stridx('', ''))
! call assert_equal(0, stridx('hello', ''))
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(3, stridx('hello', 'l', 3))
call assert_equal(-1, stridx('hello', 'l', 4))
call assert_equal(-1, stridx('hello', 'l', 10))
--- 763,773 ----
func Test_stridx()
call assert_equal(-1, stridx('', 'l'))
call assert_equal(0, stridx('', ''))
! 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, '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,786 ****
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, strridx('hello', 'l', 10))
call assert_equal(3, strridx('hello', 'l', 3))
call assert_equal(2, strridx('hello', 'l', 2))
--- 780,786 ----
call assert_equal(0, strridx('', ''))
call assert_equal(5, strridx('hello', ''))
call assert_equal(-1, 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))
*** ../vim-8.1.2003/src/testdir/test_sound.vim 2019-08-15 23:05:46.042376801
+0200
--- src/testdir/test_sound.vim 2019-09-07 17:38:42.012467287 +0200
***************
*** 13,25 ****
if has('win32')
throw 'Skipped: Playing event with callback is not supported on Windows'
endif
! let id = sound_playevent('bell', 'PlayCallback')
if id == 0
throw 'Skipped: bell event not available'
endif
" Stop it quickly, avoid annoying the user.
sleep 20m
! call sound_stop(id)
sleep 30m
call assert_equal(id, g:id)
call assert_equal(1, g:result) " sound was aborted
--- 13,25 ----
if has('win32')
throw 'Skipped: Playing event with callback is not supported on Windows'
endif
! 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
! eval id->sound_stop()
sleep 30m
call assert_equal(id, g:id)
call assert_equal(1, g:result) " sound was aborted
***************
*** 35,41 ****
endif
" play until the end
! let id2 = sound_playfile(fname, 'PlayCallback')
call assert_true(id2 > 0)
sleep 500m
call assert_equal(id2, g:id)
--- 35,41 ----
endif
" play until the end
! let id2 = fname->sound_playfile('PlayCallback')
call assert_true(id2 > 0)
sleep 500m
call assert_equal(id2, g:id)
*** ../vim-8.1.2003/src/testdir/test_spell.vim 2019-08-06 22:47:57.108635796
+0200
--- src/testdir/test_spell.vim 2019-09-07 17:41:38.416101873 +0200
***************
*** 73,79 ****
set spell
call assert_equal(['bycycle', 'bad'], spellbadword('My bycycle.'))
! call assert_equal(['another', 'caps'], spellbadword('A sentence. another
sentence'))
set spelllang=en
call assert_equal(['', ''], spellbadword('centre'))
--- 73,79 ----
set spell
call assert_equal(['bycycle', 'bad'], spellbadword('My bycycle.'))
! call assert_equal(['another', 'caps'], 'A sentence. another
sentence'->spellbadword())
set spelllang=en
call assert_equal(['', ''], spellbadword('centre'))
***************
*** 179,185 ****
\ )
call assert_equal("gebletegek", soundfold('goobledygoook'))
! call assert_equal("kepereneven", soundfold('kóopërÿnôven'))
call assert_equal("everles gesvets etele", soundfold('oeverloos gezwets
edale'))
endfunc
--- 179,185 ----
\ )
call assert_equal("gebletegek", soundfold('goobledygoook'))
! call assert_equal("kepereneven", 'kóopërÿnôven'->soundfold())
call assert_equal("everles gesvets etele", soundfold('oeverloos gezwets
edale'))
endfunc
***************
*** 440,446 ****
break
endif
let prevbad = bad
! let lst = spellsuggest(bad, 3)
normal mm
call add(result, [bad, lst])
--- 440,446 ----
break
endif
let prevbad = bad
! let lst = bad->spellsuggest(3)
normal mm
call add(result, [bad, lst])
*** ../vim-8.1.2003/src/testdir/test_substitute.vim 2019-08-31
17:48:16.725154231 +0200
--- src/testdir/test_substitute.vim 2019-09-07 18:17:29.212194492 +0200
***************
*** 337,343 ****
\ substitute('A123456789',
\ 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)',
\ '\=string([submatch(0, 1), submatch(9, 1), ' .
! \ 'submatch(8, 1), submatch(7, 1), submatch(6, 1), ' .
\ 'submatch(5, 1), submatch(4, 1), submatch(3, 1), ' .
\ 'submatch(2, 1), submatch(1, 1)])',
\ ''))
--- 337,343 ----
\ substitute('A123456789',
\ 'A\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)\(.\)',
\ '\=string([submatch(0, 1), submatch(9, 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)])',
\ ''))
*** ../vim-8.1.2003/src/testdir/test_swap.vim 2019-05-23 21:35:44.459922615
+0200
--- src/testdir/test_swap.vim 2019-09-07 18:19:18.423756431 +0200
***************
*** 111,117 ****
w
let fname = s:swapname()
call assert_match('Xswapinfo', fname)
! let info = swapinfo(fname)
let ver = printf('VIM %d.%d', v:version / 100, v:version % 100)
call assert_equal(ver, info.version)
--- 111,117 ----
w
let fname = s:swapname()
call assert_match('Xswapinfo', fname)
! let info = fname->swapinfo()
let ver = printf('VIM %d.%d', v:version / 100, v:version % 100)
call assert_equal(ver, info.version)
***************
*** 153,159 ****
let buf = bufnr('%')
let expected = s:swapname()
wincmd p
! call assert_equal(expected, swapname(buf))
new Xtest3
setlocal noswapfile
--- 153,159 ----
let buf = bufnr('%')
let expected = s:swapname()
wincmd p
! call assert_equal(expected, buf->swapname())
new Xtest3
setlocal noswapfile
*** ../vim-8.1.2003/src/testdir/test_utf8.vim 2019-09-06 21:34:25.362847408
+0200
--- src/testdir/test_utf8.vim 2019-09-07 17:51:59.921616596 +0200
***************
*** 17,23 ****
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][2], strchars(inp[i], 1))
endfor
endfunc
--- 17,23 ----
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], inp[i]->strchars(0))
call assert_equal(exp[i][2], strchars(inp[i], 1))
endfor
endfunc
*** ../vim-8.1.2003/src/version.c 2019-09-07 16:07:43.961413385 +0200
--- src/version.c 2019-09-07 19:04:27.473452999 +0200
***************
*** 759,760 ****
--- 759,762 ----
{ /* Add new patch number below this line */
+ /**/
+ 2004,
/**/
--
hundred-and-one symptoms of being an internet addict:
210. When you get a divorce, you don't care about who gets the children,
but discuss endlessly who can use the email address.
/// Bram Moolenaar -- [email protected] -- 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 ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/201909071705.x87H5cI7022504%40masaka.moolenaar.net.