目前在用doom-emacs,现在有一个奇怪的问题,怀疑是升级doom版本之后发现不合适又退回导致的,因为之前没有这个问题。
问题表现如下:
首次打开的emacs,直接调用函数X会报错,一般会定位到X调用的一个内部函数Y运行出错。但是将报错的函数Y重新eval之后就能调用函数X。
例如直接调用org-ref-link-message,会报错
Error running timer ‘org-ref-link-message’: (wrong-type-argument integer-or-marker-p nil)
Error during redisplay: ((lambda (window object position) (when org-ref-show-citation-on-enter (save-excursion (goto-char position) (let ((s (org-ref-format-entry (org-ref-get-bibtex-key-under-cursor)))) (with-temp-buffer (insert s) (fill-paragraph) (buffer-string)))))) #<window 3 on podcasts-note.org> #<buffer podcasts-note.org> 664) signaled (wrong-type-argument integer-or-marker-p nil)
定位到是org-ref-get-bibtex-key-under-cursor函数报错,eval org-ref-get-bibtex-key-under-cursor之后调用org-ref-link-message正常
例如直接调用yankpad-insert会报错:
org--property-local-values: Wrong type argument: stringp, nil
定位到是yankpad-category-marker 这里报错,eval yankpad-category-marker 之后调用yankpad-insert正常
已经尝试过doom build、doom sync,都没有效果。恳请指教!