无法输入日记条目org-agenda-diary-entry:错误的类型参数:commandp,insert-diary-entry

时间:2018-03-17 07:44:42

标签: emacs calendar org-mode

我正在使用emacs 25.3.2和org-mode 8.2.10。出于某种原因,每当我尝试在组织议程中添加新的日记条目时,我都会收到此错误消息

org-agenda-diary-entry: Wrong type argument: commandp, insert-diary-entryInvalid face reference: nil

我尝试了所有类型:每周一次,每月一次,没有工作。如果我尝试从emacs日历添加条目,它可以正常工作(我最终在日记文件中)。

我的.emacs文件中的相关条目是

;; Calendar/diary controls
;; This code has to be at the beggining to ensure an european date-style format
(add-hook 'calendar-load-hook
              (lambda ()
                (calendar-set-date-style 'european)))
(set-default 'truncate-lines t)
(add-hook 'diary-list-entries-hook 'diary-include-other-diary-files)
(add-hook 'diary-mark-entries-hook 'diary-mark-included-diary-files)

(setq org-agenda-include-diary t)           ; agenda stuff
(setq org-agenda-files (list "~/org/NOTES.org"))    ; agenda stuff

我在网上搜索过,我找到的最佳答案是如何描述函数commandp和org-agenda-diary-entry,但我找不到任何有相同类型问题的人,我无法理解问题是什么是。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

此错误是由日记功能的重命名引起的。它通过以下提交在org-mode中修复:

commit 685d3ba4af8cbb45447bb0b6c215a7135e7ed77e
Author: Florian Beck <fb@miszellen.de>
Date:   Sat Nov 15 19:14:27 2014 +0100

    Replace obsolete aliases of calendar functions

    * lisp/org-agenda.el (org-agenda-diary-entry): Replace obsolete functions.

diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 7632e1b17..b4b0a24de 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -9473,13 +9473,13 @@ entries in that Org-mode file."
                   (message "Diary entry: [d]ay [w]eekly [m]onthly [y]early [a]nniversary [b]lock [c]yclic")
                   (read-char-exclusive)))
           (cmd (cdr (assoc char
-               '((?d . insert-diary-entry)
...
+               '((?d . diary-insert-entry)
...

8.2.10从2014年10月开始,就在此修复程序进入之前。我认为是时候升级了。