Expand attachment links with point in correct place

* lisp/ox-texinfo.el (org-texinfo-link)
* lisp/ox-odt.el (org-odt-link)
* lisp/ox-md.el (org-md-link)
* lisp/ox-man.el (org-man-link)
* lisp/ox-latex.el (org-latex--inline-image, org-latex-link)
* lisp/ox-html.el (org-html-link)
* lisp/ox-ascii.el (org-ascii-link): Move point to the link for
  org-attach-expand to know from which headline to expand the link.
This commit is contained in:
Gustav Wikström 2020-01-15 20:40:24 +01:00
parent 0ac6a9e1fc
commit f93020d5e6
7 changed files with 24 additions and 8 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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