В emacs lisp форма псевдо-асинхронности может быть достигнута посредством команд run-with-timer
и run-with-async-timer
. Подумайте, например. следующий простого таймер обратного отсчета:Emacs lisp: Отладка таймеров?
(defun -c (i)
(cond
((= i 0) (error "TESTERROR"))
(t
(message "Countdown at %d" i)
(run-with-timer 1 nil '-c (1- i)))))
Запуск (-c 3)
будет отображать сообщения
Countdown at 3
Countdown at 2
Countdown at 1
молча игнорировать сигнальную ошибку.
Есть ли какой-то способ в emacs lisp, чтобы получить отчет об ошибках для таких таймеров, желательно с полным стеклом?
Как указывает sds, это была ошибка (на мой взгляд), и я исправил ее несколько месяцев назад в Em acs. – Stefan