On Wed, Jun 18, 2025 at 7:55 AM Eli Zaretskii <eliz@gnu.org> wrote:
> Cc: "Stefan Monnier" <monnier@iro.umontreal.ca>
> Date: Wed, 18 Jun 2025 02:23:14 +0200
> From:  Daniel Mendler via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
>
> It seems that the savehist timer does not run repeatedly. run-with-timer
> is called with repeat argument t.
>
> (run-with-timer savehist-autosave-interval t #'savehist-autosave)
>
> If I understand correctly, the correct call should look like this:
>
> (run-with-timer t savehist-autosave-interval #'savehist-autosave)
> (run-with-timer savehist-autosave-interval savehist-autosave-interval #'savehist-autosave)

Why do you think so?  The calling sequence of run-with-timer is this:

  (run-with-timer SECS REPEAT FUNCTION &rest ARGS)

So what savehist.el does appears to be correct.  Or what am I missing?

(defun savehist--manage-timer ()
;; 
should be 
   (run-with-timer savehist-autosave-interval
                   savehist-autosave-interval #'savehist-autosave))
;; not silly t
   (run-with-timer savehist-autosave-interval t #'savehist-autosave))