Skip to content

Suppressing errors in activities-mode-timer #25

@karthink

Description

@karthink

Hi @alphapapa,

I often use Emacs with toggle-debug-on-error turned on, usually when developing a package. When the idle timer for activities fires (every five seconds by default), I get a backtrace popup for a buffer that could not be bookmarked -- eldoc for instance:

Debugger entered--Lisp error: (error "Buffer not visiting a file or directory")
  (error "Buffer not visiting a file or directory")
  (bookmark-buffer-file-name)
  (bookmark-make-record-default)
  (bookmark-make-record)
  (#f(compiled-function (buffer) "Return `activities-buffer' struct for BUFFER." #<bytecode 0x14b6006c580da493>) #<buffer *eldoc*>)
  (apply #f(compiled-function (buffer) "Return `activities-buffer' struct for BUFFER." #<bytecode 0x14b6006c580da493>) #<buffer *eldoc*> nil)
  (activity--serialize #<buffer *eldoc*>)
  (#<subr F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_25> (leaf (last . t) (pixel-width . 1135) (pixel-height . 84) (total-width . 142) (total-height . 4) (normal-height . 0.07619477006311992) (normal-width . 1.0) (parameters (window-preserved-size #<buffer *eldoc*> nil nil) (no-other-window . t) (mode-line-format . none)) (buffer "*eldoc*" (selected) (hscroll . 0) (fringes 8 8 t nil) (margins nil) (scroll-bars nil 0 t nil 0 t nil) (vscroll . 0) (dedicated) (point . 1) (start . 1))))
;; stacks omitted here
  (activities--window-state #<frame karthinks:networked_oscillators.org 0x3f95c78>)
  (activities-state)
;; stacks omitted here
  (activities-save-all)
  (apply activities-save-all nil)
  (timer-event-handler [t 0 5 0 t activities-save-all nil idle 0 nil])

I understand that activities-save-all demotes errors (via condition-case-unless-debug), so this is only a problem because I've turned on debugging. But the result is that I've had to turn off activities-mode whenever I'm working on an Emacs lisp package, which sort of defeats the purpose of using it to save state.

Is it possible to make it (via a user option perhaps) so that the idle-timer function optionally uses condition-case instead of condition-case-unless-debug?

I understand that this is not an error on the part of activities.el, so feel free to close this issue if it's out of scope.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions