ox: Add missing `org-link-unescape' calls

* lisp/ox-ascii.el (org-ascii-link):
* lisp/ox-latex.el (org-latex--inline-image):
(org-latex-link): Add missing `org-link-unescape' to handle
hex-escaped URI.

Reported-by: stardiviner <numbchild@gmail.com>
<http://lists.gnu.org/r/emacs-orgmode/2019-02/msg00265.html>
This commit is contained in:
Nicolas Goaziou 2019-02-20 15:26:27 +01:00
parent 6a9e847dec
commit 0f70354b32
2 changed files with 7 additions and 4 deletions

View File

@ -1600,7 +1600,8 @@ INFO is a plist holding contextual information."
;; Don't know what to do. Signal it.
(_ "???"))))
(t
(let ((raw-link (org-element-property :raw-link link)))
(let ((raw-link (org-link-unescape
(org-element-property :raw-link link))))
(if (not (org-string-nw-p desc)) (format "<%s>" raw-link)
(concat (format "[%s]" desc)
(and (not (plist-get info :ascii-links-to-notes))

View File

@ -2344,7 +2344,8 @@ CONTENTS is nil. INFO is a plist holding contextual information."
LINK is the link pointing to the inline image. INFO is a plist
used as a communication channel."
(let* ((parent (org-export-get-parent-element link))
(path (let ((raw-path (org-element-property :path link)))
(path (let ((raw-path (org-link-unescape
(org-element-property :path link))))
(if (not (file-name-absolute-p raw-path)) raw-path
(expand-file-name raw-path))))
(filetype (file-name-extension path))
@ -2500,7 +2501,8 @@ INFO is a plist holding contextual information. See
(path (org-latex--protect-text
(cond ((member type '("http" "https" "ftp" "mailto" "doi"))
(concat type ":" raw-path))
((string= type "file") (org-export-file-uri raw-path))
((string= type "file")
(org-export-file-uri (org-link-unescape raw-path)))
(t raw-path)))))
(cond
;; Link type is handled by a special function.
@ -2556,7 +2558,7 @@ INFO is a plist holding contextual information. See
(format (org-export-get-coderef-format path desc)
(org-export-resolve-coderef path info)))
;; External link with a description part.
((and path desc) (format "\\href{%s}{%s}" path desc))
((and path desc) (format "\\href{%s}{%s}" (org-link-unescape path) desc))
;; External link without a description part.
(path (format "\\url{%s}" path))
;; No path, only description. Try to do something useful.