Subject: Re: bug#12447: 24.1.50; Stuck in garbage collection on OS X

From: Harald Hanche-Olsen <[email-masked]>
Date: Sat, 15 Sep 2012 16:23:53 +0200 (CEST)

[Eli Zaretskii <[email-masked]> (2012-09-15 13:56:14 UTC)]

> ??? AFAIU, you are trying to track a bug, not use the timers.  You
> specifically asked about "how the timers work at a lower level".
> 
> Using timers does not involve any reading of C code; just read the
> "Timers" and "Idle timers" nodes of the ELisp manual, and Bob's your
> uncle.  No low-level knowledge is needed just for using timers.

Ah. I was forming my impression by looking at the code quoted in the
discussion of bug#12326, which seems to be using lower level stuff. So
I thought I had to understand that. But the timer code in mew seems to
only use the interface described in the elisp manual.

But yes, I am chasing a bug, not trying to use timers. Which seems to
require understanding the underlying mechanism, as otherwise I have no
idea what I need to be looking for. After all, the code works fine
most of the time, but revision 109470 broke it for some strange
reason. And this seems to imply that you do need to understand the
lower levels in order to use timers safely. Which is bad, if true.

For example: Is it okay to set a timer in a timer callback? Example
code in the "Idle timers" node in the elisp manual seems to say so.

Thanks for your patience with my many misunderstandings. I want to
track this problem down, but I am still fumbling in the dark.

- Harald