neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit cc6845db94ce1964c9fa15f451f33f7eb7bfb8df
parent 255e547e18e127ab70ffa2e423f7753786cb424e
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Tue, 25 Apr 2023 21:52:27 +0800

vim-patch:8.2.3768: timer_info() has the wrong repeat value in a timer callback

Problem:    timer_info() has the wrong repeat value in a timer callback.
Solution:   Do not add one to the repeat value when in the callback.
            (closes vim/vim#9294)

https://github.com/vim/vim/commit/95b2dd0c008f0977ebb3cbe233a5064001a332e1

Co-authored-by: Bram Moolenaar <Bram@vim.org>

Diffstat:
Mtest/old/testdir/test_timers.vim | 7+++++++
1 file changed, 7 insertions(+), 0 deletions(-)

diff --git a/test/old/testdir/test_timers.vim b/test/old/testdir/test_timers.vim @@ -94,6 +94,13 @@ func Test_timer_info() call assert_equal([], timer_info(id)) call assert_fails('call timer_info("abc")', 'E39:') + + " check repeat count inside the callback + let g:timer_repeat = [] + let tid = timer_start(10, {tid -> execute("call add(g:timer_repeat, timer_info(tid)[0].repeat)")}, #{repeat: 3}) + sleep 100m + call assert_equal([2, 1, 0], g:timer_repeat) + unlet g:timer_repeat endfunc func Test_timer_stopall()