GNU bug report logs - #12447
24.1.50; Stuck in garbage collection on OS X

Previous Next

Package: emacs;

Reported by: Harald Hanche-Olsen <hanche <at> math.ntnu.no>

Date: Fri, 14 Sep 2012 21:10:01 UTC

Severity: normal

Merged with 12326

Found in versions 24.1.50, 24.2.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Dmitry Gutov <dgutov <at> yandex.ru>
To: eliz <at> gnu.org
Cc: 12447 <at> debbugs.gnu.org, hanche <at> math.ntnu.no
Subject: bug#12447: 24.1.50; Stuck in garbage collection on OS X
Date: Sun, 16 Sep 2012 13:15:52 +0400
Eli Zaretskii <eliz <at> gnu.org> writes:

>> Date: Sat, 15 Sep 2012 16:23:53 +0200 (CEST)
>> Cc: jan.h.d <at> swipnet.se, 12447 <at> debbugs.gnu.org
>> From: Harald Hanche-Olsen <hanche <at> math.ntnu.no>
>>
>> For example: Is it okay to set a timer in a timer callback?
>
> I don't see why not.  Setting up a timer just creates a Lisp object
> and adds it to the list of timers.  The timer will be run the next
> time the low-level mechanism, which is part of the Emacs exec loop,
> determines that it's ripe.

In js2-mode's case, the problem is that 'run-with-idle-timer' makes the
created timer run now, not the "next time".  Here's an example:

  (defvar counter 0)

  (defun foo ()
    (message (format  "foo %s" counter))
    (incf counter)
    (run-with-idle-timer 1 nil #'foo))

  (foo)

I'd expect that either timer would fire once every second (as long as
I'm not touching my keyboard), or at least stop firing when I do touch
my keyboard (seeing as otherwise Emacs is idle), but instead I just see
the timer firing many times a second, the counter runs in the message
area, and Emacs doesn't respond to any commands.




This bug report was last modified 12 years and 247 days ago.

Previous Next


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