diff src/time.c @ 26476:7426c2657710 v8.2.3768

patch 8.2.3768: timer_info() has the wrong repeat value in a timer callback Commit: https://github.com/vim/vim/commit/95b2dd0c008f0977ebb3cbe233a5064001a332e1 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Dec 9 18:42:57 2021 +0000 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 #9294)
author Bram Moolenaar <Bram@vim.org>
date Thu, 09 Dec 2021 19:45:03 +0100
parents d413104a94c8
children bce848ec8b1b
line wrap: on
line diff
--- a/src/time.c
+++ b/src/time.c
@@ -696,7 +696,8 @@ add_timer_info(typval_T *rettv, timer_T 
     dict_add_number(dict, "remaining", (long)remaining);
 
     dict_add_number(dict, "repeat",
-		    (long)(timer->tr_repeat < 0 ? -1 : timer->tr_repeat + 1));
+	    (long)(timer->tr_repeat < 0 ? -1
+			     : timer->tr_repeat + (timer->tr_firing ? 0 : 1)));
     dict_add_number(dict, "paused", (long)(timer->tr_paused));
 
     di = dictitem_alloc((char_u *)"callback");