Browse Source

ox: Fix image links

* lisp/ox.el (org-export-insert-image-links): Properly set :parent
  property.
* testing/lisp/test-ox.el (test-org-export/insert-image-links): Add
  test.

Reported-by: Kaushal Modi <kaushal.modi@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/111238>
Nicolas Goaziou 8 years ago
parent
commit
d809a604f2
2 changed files with 11 additions and 2 deletions
  1. 3 2
      lisp/ox.el
  2. 8 0
      testing/lisp/test-ox.el

+ 3 - 2
lisp/ox.el

@@ -4227,8 +4227,9 @@ Return modified DATA."
 			       (and (string= type (car rule))
 				    (string-match-p (cdr rule) path)))
 			     (or rules org-export-default-inline-image-rule))
-		(org-element-set-contents
-		 l
+		;; Replace contents with image link.
+		(org-element-adopt-elements
+		 (org-element-set-contents l nil)
 		 (with-temp-buffer
 		   (save-excursion (insert contents))
 		   (org-element-link-parser))))))))

+ 8 - 0
testing/lisp/test-ox.el

@@ -2757,6 +2757,14 @@ Para2"
 	   (org-test-with-parsed-data "[[http://orgmode.org][file:image.png]]"
 	     (org-element-map (org-export-insert-image-links tree info) 'link
 	       (lambda (l) (org-element-property :type l))))))
+  ;; Properly set `:parent' property when replace contents with image
+  ;; link.
+  (should
+   (memq 'link
+	 (org-test-with-parsed-data "[[http://orgmode.org][file:image.png]]"
+	   (org-element-map (org-export-insert-image-links tree info) 'link
+	     (lambda (l)
+	       (org-element-type (org-element-property :parent l)))))))
   ;; With optional argument RULES, recognize different links as
   ;; images.
   (should-not