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
This commit is contained in:
Henrik Lissner 2018-03-22 08:26:09 -04:00
parent ae031928af
commit e89ed0e9ae
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

View file

@ -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))