Это работает
(defadvice org-insert-heading (after add-id-stuff activate)
(template-myid))
(defun template-myid ()
(insert "\n:PROPERTIES:\n:TIME: "
(format-time-string "%Y-%m-%dT%H:%M:%S")
"\n:VERTEX: "
(org-id-uuid)
"\n:EDGES: \n:END:"))
, который произвел
* heading
:PROPERTIES:
:TIME: 2020-03-11T08:11:36
:VERTEX: 35e40480-7708-4003-9c84-f950b7ce87ce
:EDGES:
:END:
Получил помощь по предложению NickD выше, D iego Zamboni в списке рассылки в режиме org (emacs-orgmode@gnu.org), статья Криса Веллонса , а также загадочные сообщения о подозреваемых. Тем не менее, я не уверен, почему (shell-command "uuidgen" t)
производит два выхода. Вот как они выглядят в *scratch*
(shell-command "uuidgen" t)
2827
b5da7e0a-84c0-4db8-91f3-871b681f3022
(org-id-uuid)
"0bb7a4e1-9fc2-4428-b8de-a2d9ef5c56ab"
, хотя прямая uuidgen
в командной строке bash создает только UUID. Что происходит, чтобы произвести 2827
выше в первую очередь? Я не мог понять *Help*
на shell-command
.
Функция (org-id-uuid)
находится в org-id.el и кажется очень тщательной в ее случайности.
Кроме того, кто-нибудь делает знаете, как я мог бы сделать это с помощью advise
функции в шаблонах темпа режима org? Я никогда не мог понять, какая функция на самом деле обрабатывает <...-TAB
.