GNU bug report logs - #78820
31.0.50; savehist timer does not run repeatedly

Previous Next

Package: emacs;

Reported by: Daniel Mendler <mail <at> daniel-mendler.de>

Date: Wed, 18 Jun 2025 00:24:01 UTC

Severity: normal

Tags: fixed

Found in version 31.0.50

Fixed in version 31.1

Done: Robert Pluim <rpluim <at> gmail.com>

Full log


Message #20 received at 78820 <at> debbugs.gnu.org (full text, mbox):

From: Daniel Mendler <mail <at> daniel-mendler.de>
To: Stéphane Marks <shipmints <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 78820 <at> debbugs.gnu.org,
 monnier <at> iro.umontreal.ca
Subject: Re: bug#78820: 31.0.50; savehist timer does not run repeatedly
Date: Wed, 18 Jun 2025 14:20:11 +0200
Stéphane Marks <shipmints <at> gmail.com> writes:

> On Wed, Jun 18, 2025 at 7:55 AM Eli Zaretskii <eliz <at> gnu.org> wrote:
>
>> > Cc: "Stefan Monnier" <monnier <at> 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 <at> 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))

To clarify, with the argument t, the timer does not run repeatedly, but
only once. That's the problem. Btw I wonder if it would make sense to
allow Stéphane's calling convention too and just dtrt. It is not
obviously silly imo.

Daniel




This bug report was last modified 1 day ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.