Как настроить дни рождения с орг-контактами?Ошибка: плохой секс - PullRequest
5 голосов
/ 07 ноября 2011

Как я могу настроить годовщины с помощью контактов org, чтобы дни рождения и т. Д. Отображались в моем файлеnda.org?

В моем файле повестки дня.org содержится следующее, как указано в нижней части * 1003.* 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:

Когда я получаю доступ к представлению повестки дня через Cc aa, я получаю:

Неверный sexp в строке 3 в /Users/myusername/org/agenda.org: (org-contacts-anniversaries) [7 раз]

Обратите внимание, что третья строка соответствует "%% (org-contacts"-nniversaries) "* ​​1015 *

Я пытался связаться с автором org-contacts, но не получил ответа (пока).Я надеюсь, что кто-то пробовал это раньше, и это сработало.Я попробовал это под Emacs 24.0.91 (9.0) на Mac OS X 10.7.2

Ответы [ 5 ]

3 голосов
/ 27 декабря 2012

Я решил эту проблему, изменив переменную 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 будет списком, а не строкой.

2 голосов
/ 23 февраля 2014

Я получил ошибку, когда есть контакты со свойством BIRTHDAY, но без значения.Удаление этих записей устранило ошибку.

1 голос
/ 22 марта 2013

В моем случае причиной этой проблемы была установка в смешанном режиме Org. Из FAQ по режиму организации: (http://orgmode.org/worg/org-faq.html#mixed-install):

Emacs распространяется с версией Orgmode в комплекте с ним. Распространенной проблемой среди пользователей, устанавливающих новую версию Orgmode отдельно, является смешанная установка, при которой Emacs загружает некоторые файлы из комплекта, а остальные - из последней версии. Это может привести к бесконечным проблемам в будущем. При недавней установке в режиме Org M-x org-version покажет, является ли установка смешанной.

При более старых установках в режиме Org процедура более сложная и неопределенная. Простой первый шаг - посмотреть на вывод M-x org-версии.

Хорошо Версия в режиме Org 7.8.11 (release_7.8.11-448-g1737d3 @ / path / to / org-mode / lisp /) Плохой Версия в режиме Org 6.33x (release_7.8.11.409.ga3778)

Второй шаг - построчно просмотреть выходные данные list-load-path-shadows, чтобы получить подсказки о том, что в вашей конфигурации вызывает проблему. Одной из наиболее распространенных причин является то, что Orgmode загружается до того, как переменная load-path обновляется и включает каталог установки последней версии Orgmode. Чтобы избежать подобных проблем, рекомендуется, чтобы путь загрузки обновлялся очень рано в вашем файле инициализации.

P.S. ошибка, которую я имел, когда M-:

(org-contacts-anniversaries)

был

void-function org-with-buffer-modified-unmodified
1 голос
/ 08 ноября 2011

Убедитесь, что у вас нет дат до 1970 года для дней рождения. Это проблема с Unix Time, которая обсуждалась в списке рассылки 1 . Я не знаю, что нужно изменить, чтобы это было исправлено в 32-битном Emacs, однако похоже, что оно должно работать в 64-битных версиях (у меня нет доступа к 64-битной версии для тестирования прямо сейчас).

1 голос
/ 07 ноября 2011

Попробуйте удалить два первых пробела в начале строки "%% (org-contacts-anniversaries)"

#+STARTUP: showeverything
* Birthdays
%%(org-contacts-anniversaries)
...