From e89ed0e9aed443ca8cc16e3c4a6166b734240137 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 22 Mar 2018 08:26:09 -0400 Subject: [PATCH] lang/org: handle edge cases case for attachments + If org file isn't in +org-dir, use an absolute path to attachment + If org file doesn't eixst/hasn't been saved, use default-directory --- modules/lang/org/+attach.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/lang/org/+attach.el b/modules/lang/org/+attach.el index 008114620..8c366b6d3 100644 --- a/modules/lang/org/+attach.el +++ b/modules/lang/org/+attach.el @@ -60,7 +60,11 @@ (defun +org-attach*download-fullname (path) "Write PATH relative to current file." - (file-relative-name path (file-name-directory buffer-file-name))) + (let ((dir (or (if buffer-file-name (file-name-directory buffer-file-name)) + default-directory))) + (if (file-in-directory-p dir +org-dir) + (file-relative-name path dir) + path))) (advice-add #'org-download--dir-2 :override #'ignore) (advice-add #'org-download--fullname :filter-return #'+org-attach*download-fullname))