mirror of
https://github.com/vim/vim
synced 2025-05-01 22:07:46 +02:00
patch 8.1.2211: listener callback "added" argument is not the total
Problem: Listener callback "added" argument is not the total. (Andy Massimino) Solution: Compute the total. (closes #5105)
This commit is contained in:
parent
b754b5bf6d
commit
336bf2b8b2
3 changed files with 11 additions and 4 deletions
src
|
@ -371,9 +371,9 @@ invoke_listeners(buf_T *buf)
|
|||
if (start > lnum)
|
||||
start = lnum;
|
||||
lnum = dict_get_number(li->li_tv.vval.v_dict, (char_u *)"end");
|
||||
if (lnum > end)
|
||||
if (end < lnum)
|
||||
end = lnum;
|
||||
added = dict_get_number(li->li_tv.vval.v_dict, (char_u *)"added");
|
||||
added += dict_get_number(li->li_tv.vval.v_dict, (char_u *)"added");
|
||||
}
|
||||
argv[1].v_type = VAR_NUMBER;
|
||||
argv[1].vval.v_number = start;
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
" tests for listener_add() and listener_remove()
|
||||
|
||||
func s:StoreList(s, l)
|
||||
func s:StoreList(s, e, a, l)
|
||||
let s:start = a:s
|
||||
let s:end = a:e
|
||||
let s:added = a:a
|
||||
let s:text = getline(a:s)
|
||||
let s:list = a:l
|
||||
endfunc
|
||||
|
@ -19,7 +21,7 @@ func Test_listening()
|
|||
new
|
||||
call setline(1, ['one', 'two'])
|
||||
let s:list = []
|
||||
let id = listener_add({b, s, e, a, l -> s:StoreList(s, l)})
|
||||
let id = listener_add({b, s, e, a, l -> s:StoreList(s, e, a, l)})
|
||||
call setline(1, 'one one')
|
||||
call listener_flush()
|
||||
call assert_equal([{'lnum': 1, 'end': 2, 'col': 1, 'added': 0}], s:list)
|
||||
|
@ -65,6 +67,9 @@ func Test_listening()
|
|||
call bufnr()->listener_flush()
|
||||
call assert_equal([{'lnum': 3, 'end': 3, 'col': 1, 'added': 1},
|
||||
\ {'lnum': 1, 'end': 2, 'col': 1, 'added': 0}], s:list)
|
||||
call assert_equal(1, s:start)
|
||||
call assert_equal(3, s:end)
|
||||
call assert_equal(1, s:added)
|
||||
|
||||
" an insert just above a previous change that was the last one does not get
|
||||
" merged
|
||||
|
|
|
@ -741,6 +741,8 @@ static char *(features[]) =
|
|||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
2211,
|
||||
/**/
|
||||
2210,
|
||||
/**/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue