Emacs Lisp kodunda bir hata belirtilirse ve debug-on-errorise t, hatanın nerede oluştuğunu anlamayı kolaylaştıran bir geri izleme arabelleği alırım. Ancak, ağdan bir yanıt zaman uyumsuz olarak işlenirken oluşan hatalar için, geri izleme arabelleğinin açılmasını rahatsız edici olacaktır, bu yüzden hatayı yakalamak condition-caseve günlüğe kaydetmeyi tercih ederim .
Yani bir hatayı işlerken, hata condition-casenoktasındaki geri izlemeye erişmenin bir yolu var mı? backtraceİşlevi çağırmak, işleyicinin içindeki kodun geri izlemesini alır, bu aradığım şey değil.
(condition-case e
(do-something-that-might-fail)
(error
(message "%s"
;; This gets the wrong backtrace!
(with-temp-buffer
(let ((standard-output (current-buffer)))
(backtrace)
(buffer-string))))))
do-something-that-might-failyığın izi oluşturup ortaya çıkardığı hataya eklersiniz.
magithub-errorişlevi bence buna benzer bir şey yok, ama şu anda bir bilgisayar başında değilim. Ne olursa olsun yardımcı olabilir.