diff --git a/lisp/ox-ascii.el b/lisp/ox-ascii.el index bcd62e98d..9d7168831 100644 --- a/lisp/ox-ascii.el +++ b/lisp/ox-ascii.el @@ -1580,7 +1580,9 @@ INFO is a plist holding contextual information." (raw-path (org-element-property :path link)) (path (cond ((string= raw-type "attachment") - (setq raw-path (file-relative-name (org-attach-expand raw-path))) + (setq raw-path (file-relative-name + (org-with-point-at (org-element-property :begin link) + (org-attach-expand raw-path)))) (concat type ":" raw-path)) (t (concat type ":" raw-path))))) (cond diff --git a/lisp/ox-html.el b/lisp/ox-html.el index aafeb6909..be33aead1 100644 --- a/lisp/ox-html.el +++ b/lisp/ox-html.el @@ -3081,7 +3081,9 @@ INFO is a plist holding contextual information. See (url-encode-url (concat type ":" raw-path))) ((string= type "file") (when (string= raw-type "attachment") - (setq raw-path (file-relative-name (org-attach-expand raw-path)))) + (setq raw-path (file-relative-name + (org-with-point-at (org-element-property :begin link) + (org-attach-expand raw-path))))) ;; During publishing, turn absolute file names belonging ;; to base directory into relative file names. Otherwise, ;; append "file" protocol to absolute file name. diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el index 7758abdec..c297cbf4d 100644 --- a/lisp/ox-latex.el +++ b/lisp/ox-latex.el @@ -2363,7 +2363,9 @@ used as a communication channel." (let* ((parent (org-export-get-parent-element link)) (path (let ((raw-path (org-element-property :path link))) (when (string= (org-element-property :type link) "attachment") - (setq raw-path (file-relative-name (org-attach-expand raw-path)))) + (setq raw-path (file-relative-name + (org-with-point-at (org-element-property :begin link) + (org-attach-expand raw-path))))) (if (not (file-name-absolute-p raw-path)) raw-path (expand-file-name raw-path)))) (filetype (file-name-extension path)) @@ -2536,7 +2538,9 @@ INFO is a plist holding contextual information. See (concat type ":" raw-path)) ((string= type "file") (when (string= raw-type "attachment") - (setq raw-path (file-relative-name (org-attach-expand raw-path)))) + (setq raw-path (file-relative-name + (org-with-point-at (org-element-property :begin link) + (org-attach-expand raw-path))))) (org-export-file-uri raw-path)) (t raw-path))))) diff --git a/lisp/ox-man.el b/lisp/ox-man.el index c98f0cd58..37e5d7603 100644 --- a/lisp/ox-man.el +++ b/lisp/ox-man.el @@ -624,7 +624,9 @@ INFO is a plist holding contextual information. See (concat type ":" raw-path)) ((string= type "file") (when (string= raw-type "attachment") - (setq raw-path (file-relative-name (org-attach-expand raw-path)))) + (setq raw-path (file-relative-name + (org-with-point-at (org-element-property :begin link) + (org-attach-expand raw-path))))) (org-export-file-uri raw-path)) (t raw-path)))) (cond diff --git a/lisp/ox-md.el b/lisp/ox-md.el index d0504302c..d18d07544 100644 --- a/lisp/ox-md.el +++ b/lisp/ox-md.el @@ -413,7 +413,9 @@ INFO is a plist holding contextual information. See (concat type ":" raw-path)) ((string= type "file") (when (string= raw-type "attachment") - (setq raw-path (file-relative-name (org-attach-expand raw-path)))) + (setq raw-path (file-relative-name + (org-with-point-at (org-element-property :begin link) + (org-attach-expand raw-path))))) (org-export-file-uri (funcall link-org-files-as-md raw-path))) (t raw-path)))) (cond diff --git a/lisp/ox-odt.el b/lisp/ox-odt.el index e0def3963..b7dc56f48 100644 --- a/lisp/ox-odt.el +++ b/lisp/ox-odt.el @@ -2714,7 +2714,9 @@ INFO is a plist holding contextual information. See (concat type ":" raw-path)) ((string= type "file") (when (string= raw-type "attachment") - (setq raw-path (file-relative-name (org-attach-expand raw-path)))) + (setq raw-path (file-relative-name + (org-with-point-at (org-element-property :begin link) + (org-attach-expand raw-path))))) (org-export-file-uri raw-path)) (t raw-path))) ;; Convert & to & for correct XML representation diff --git a/lisp/ox-texinfo.el b/lisp/ox-texinfo.el index 177007bed..85c9798bb 100644 --- a/lisp/ox-texinfo.el +++ b/lisp/ox-texinfo.el @@ -1066,7 +1066,9 @@ INFO is a plist holding contextual information. See (concat type ":" raw-path)) ((string= type "file") (when (string= raw-type "attachment") - (setq raw-path (file-relative-name (org-attach-expand raw-path)))) + (setq raw-path (file-relative-name + (org-with-point-at (org-element-property :begin link) + (org-attach-expand raw-path))))) (org-export-file-uri raw-path)) (t raw-path)))) (cond