gvol / emacs-memento-mori

Reminder of mortality
https://melpa.org/#/memento-mori
ISC License
31 stars 10 forks source link

Crashes on 27.1 #10

Closed ghost closed 10 months ago

ghost commented 3 years ago

Hello

Memento-more throws a stack trace on my Emacs:

Debugger entered--Lisp error: (void-variable _)
  memento-mori-birth-time()
  memento-mori-age()
  memento-mori-update()
  memento-mori-mode()
  (progn (memento-mori-mode))
  eval((progn (memento-mori-mode)) t)
  elisp--eval-last-sexp(nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  #<subr call-interactively>(eval-last-sexp nil nil)
  apply(#<subr call-interactively> eval-last-sexp (nil nil))
  call-interactively@ido-cr+-record-current-command(#<subr call-interactively> eval-last-sexp nil nil)
  apply(call-interactively@ido-cr+-record-current-command #<subr call-interactively> (eval-last-sexp nil nil))
  call-interactively(eval-last-sexp nil nil)
  command-execute(eval-last-sexp)

memento-mori-birth-date is a string like 1111-11-11

danielpza commented 3 years ago

I have the same issue on emacs 28

Thfvdb commented 1 year ago

Looked into this a bit. Seems to have to do with byte-compilation, but don't know what the root cause is. Manually calling the defun of the memento-mori-birth-time function apparently resolves the error, but debugging it after it loads on startup I found that the cl-destructuring-bind macro creates a compiled function that yields this error. I could work around this by disabling byte compilation for this package, which is pretty straight-forward with straight.el. I wouldn't know how to do it with other package managers though.

lassik commented 10 months ago

Missing (require 'cl-lib)?

lassik commented 10 months ago

The error is most likely coming from the (cl-destructuring-bind ...) macro call. The macro probably is not defined at compile time unless we have (require 'cl-lib) at the beginning of the soucre file.