org-noter icon indicating copy to clipboard operation
org-noter copied to clipboard

Weird error in opening org-noter with Emacs 29.0.50 internal-macroexpand-for-load: Eager macro-expansion failure: (error "Misplaced t or ‘otherwise’ clause")

Open Mark-Sol111 opened this issue 2 years ago • 5 comments

GNU Emacs 29.0.50 (build 2, x86_64-apple-darwin19.6.0, NS appkit-1894.70 Version 10.15.7 (Build 19H2026)) of 2022-09-24 Run M-x org-noter in doc (pdf-tools buffer) org-noter create doc and open it with error: internal-macroexpand-for-load: Eager macro-expansion failure: (error "Misplaced t or ‘otherwise’ clause") after that org-noter doesn't response

Mark-Sol111 avatar Oct 10 '22 11:10 Mark-Sol111

I had the same problem, however, after I deleted the whole content of .emacs.d/ and rebuild from scratch with only my init.el remaining, the error went away.

wilya7 avatar Dec 05 '22 10:12 wilya7

Rebuilding didn't work for me, unfortunately. For anyone else looking for clues, I don't believe this issue is related to org-noter but to pdf-tools, more specifically pdf-annot-minor-mode.

Minimal steps to trigger the macro-expansion failure error:

  1. Open a PDF and activate pdf-view-mode
  2. Activate pdf-annot-minor-mode

I'm going to post an issue with the pdf-tools folks.

jrgant avatar Dec 14 '22 16:12 jrgant

This fixes the error (feel free to PR to pdf-tools, I could not find the issue there):

diff --git a/lisp/pdf-annot.el b/lisp/pdf-annot.el
index 81cb639..01465ea 100644
--- a/lisp/pdf-annot.el
+++ b/lisp/pdf-annot.el
@@ -524,12 +524,11 @@ the variable is nil and this function is called again."
            (union (cl-union (cl-union changed inserted :test 'pdf-annot-equal)
                             deleted :test 'pdf-annot-equal))
            (closure (lambda (arg)
-                      (cl-ecase arg
+                      (cl-case arg
                         (:inserted (copy-sequence inserted))
                         (:changed (copy-sequence changed))
                         (:deleted (copy-sequence deleted))
-                        (t (copy-sequence union))
-                        (nil nil))))
+                        (t (copy-sequence union)))))
            (pages (mapcar (lambda (a) (pdf-annot-get a 'page)) union)))
       (when union
         (unwind-protect

sophicshift avatar Feb 18 '23 19:02 sophicshift

Sorry, I completely dropped the ball on this. I just applied your fix and can confirm that it resolves the issue. Thank you.

jrgant avatar Apr 02 '23 03:04 jrgant

FYI, someone applied this fix already: https://github.com/vedang/pdf-tools/commit/49078c71f1ae9e85e719029a3e5e5f5e10509017. Should be reflected in the most recent pdf-tools release (v1.0.0).

jrgant avatar Apr 02 '23 04:04 jrgant