ОБЩАЯ ИНФОРМАЦИЯ: В режиме org переменная org-archive-location по умолчанию имеет значение "% s_archive ::", поэтому файл "toto.org" архивируется в файл "toto.org_archive".Я хотел бы вместо этого архивировать в "toto.ref".Я использую версию 7.4 в режиме org (вне git-сервера).
Я бы подумал, что это так же просто, как
(setq org-archive-location
`(replace-regexp-in-string ".org" ".ref" %s)
)
Но мне сказали, что это не таксобственно в LISP (плюс, это не сработало).Мое окончательное решение заключается в следующем: вы должны быть в состоянии адаптироваться к самым умным конфигурациям org-archive-location:
(setq org-archive-location "% s :: * ARCHIVES") (defadvice org-extract-archive-file (после активации org-to-ref) (setq ad-return-value (replace-regexp-in-string "\ .org" ".ref" ad-return-value)))
Обратите внимание, что:
1) Я добровольно не добавил $ в конце «.org», чтобы он должным образом изменил «test.org.gpg» в «test.ref.gpg».
2) Кажется, следует использовать регулярное выражение "\ .org" (а не, скажем, ".org") (более подробное объяснение ниже в ответах).