我如何设置与组织联系人的纪念日,以便生日等显示在我的agenda.org文件中?
我的agenda.org文件包含以下内容,如org-contacts
底部所述#+STARTUP: showeverything
* Birthdays
%%(org-contacts-anniversaries)
我的contacts.org文件包含(例如):
* My contact :my.tag:
:PROPERTIES:
:EMAIL: address@hidden
:URL:
:WORK:
:HOME:
:MOBILE:
:LOCATION:
:BIRTHDAY: 2000-01-01
:NOTE:
:END:
当我通过C-c a a访问议程视图时,我获得:
/Users/myusername/org/agenda.org第3行的Bad sexp: (org-contacts-anniversaries)[7次]
请注意,第三行对应于“%%(org-contacts-anniversaries)”
我试图联系org-contacts的作者,但没有得到答案(到目前为止)。我希望有人之前尝试过这个并且它有效。我在Mac OS X 10.7.2上的Emacs 24.0.91(9.0)下尝试过它。
答案 0 :(得分:3)
我通过将org-contacts-files变量更改为列表而不是字符串来解决此问题。
例如,来自:
(setq org-contacts-files "~/Org Files/contacts.org")
为:
(setq org-contacts-files '("~/Org Files/contacts.org"))
为我工作。
看起来org-contacts-filter
函数期望org-contacts-files
变量是列表而不是字符串。
答案 1 :(得分:2)
当与BIRTHDAY属性有联系但没有值时,我收到错误。删除这些条目消除了错误。
答案 2 :(得分:1)
尝试删除“%%(org-contacts-anniversaries)”行开头的两个第一个空格
#+STARTUP: showeverything
* Birthdays
%%(org-contacts-anniversaries)
答案 3 :(得分:1)
确保您在1970年之前没有任何生日日期。这是Unix Time的一个问题,已在邮件列表1上讨论过。我不知道需要更改什么才能在32位Emacs中修复,但它似乎应该在64位版本中工作(我无法访问64位版本来测试现在)。
答案 4 :(得分:1)
在我的情况下,此问题的原因是混合的组织模式安装。从组织模式常见问题解答:(http://orgmode.org/worg/org-faq.html#mixed-install):
Emacs随附捆绑的Orgmode版本。分别安装较新版本的Orgmode的用户之间的一个常见问题是混合安装,其中Emacs从捆绑中加载一些文件,其余文件从最新版本加载。这可能导致未来无休止的麻烦。最近安装了Org模式,M-x org-version将指示安装是否混合。
对于较旧的组织模式安装,该过程涉及更多且不确定。一个简单的第一步是查看M-x org-version的输出。
好 组织模式版本7.8.11(release_7.8.11-448-g1737d3 @ / path / to / org-mode / lisp /) 坏 组织模式版本6.33x(release_7.8.11.409.ga3778)
第二步是逐行遍历list-load-path-shadows的输出,以获取配置中导致问题的提示。最常见的原因是在更新load-path变量之前加载Orgmode以包含最新Orgmode的安装目录。为避免此类问题,建议在init文件中尽早更新加载路径。
P.S。我在M-:
时遇到的错误(org-contacts-anniversaries)
是:
void-function org-with-buffer-modified-unmodified