emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Timer out of nowhere


From: Michael Heerdegen
Subject: Re: Timer out of nowhere
Date: Wed, 13 Feb 2013 20:43:29 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Lluís <address@hidden> writes:

> Every once in a while, I get this error:
>
> Debugger entered--Lisp error: (error "Selecting deleted buffer")
>   adict-guess-dictionary-maybe(#<killed buffer>)
>   apply(adict-guess-dictionary-maybe #<killed buffer>)
>   byte-code("r\301\302H\303H\"\210)\301\207" [timer apply 5 6] 4)
>   timer-event-handler([t 0 2 0 t adict-guess-dictionary-maybe
> (#<killed buffer>) idle 0])
>
> This is from [1].

Yes, I see the same since I've upgraded my emacs.

> The strange part is that I just killed every possible buffer (in case
> it was a local timer on any of them), and `timer-list' shows
> absolutely no entry with `adict-guess-dictionary-maybe'.

It's in `timer-idle-list'.

> Any ideas on how to track this problem?

It's a bug in auto-dictionary.  I guess that in prior Emacs version, the
problem was also there, but just no message was raised.

Anyway, once `auto-dictionary-mode' calls `run-with-idle-timer', the
timer stays in `timer-idle-list' even after its buffer has been killed.

I think this is not hard to fix.  The timer runs
`adict-guess-dictionary-maybe'.  This function should just check if the
BUFFER argument is `buffer-live-p'.  If it is not, it just has to cancel
`adict-timer'.


Regards,

Michael.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]