* lisp/info.el (Info-display-images-node): When image file doesn't exist
authorJuri Linkov <juri@jurta.org>
Fri, 6 Sep 2013 20:43:49 +0000 (23:43 +0300)
committerJuri Linkov <juri@jurta.org>
Fri, 6 Sep 2013 20:43:49 +0000 (23:43 +0300)
display text version of the image if it's provided in the Info file.
Otherwise, display the location of missing image from SRC attribute.
Add help-echo text property from ALT attribute.

Fixes: debbugs:15279

lisp/ChangeLog
lisp/info.el

index 53335cb..ca487ad 100644 (file)
@@ -1,3 +1,10 @@
+2013-09-06  Juri Linkov  <juri@jurta.org>
+
+       * info.el (Info-display-images-node): When image file doesn't exist
+       display text version of the image if it's provided in the Info file.
+       Otherwise, display the location of missing image from SRC attribute.
+       Add help-echo text property from ALT attribute.  (Bug#15279)
+
 2013-09-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * abbrev.el (edit-abbrevs-mode-map): Rename from edit-abbrevs-map.
index 182ad85..65cd7ed 100644 (file)
@@ -1595,17 +1595,20 @@ escaped (\\\",\\\\)."
                                    ""))
                      (image (if (file-exists-p image-file)
                                 (create-image image-file)
-                              "[broken image]")))
+                              (or (cdr (assoc-string "text" parameter-alist))
+                                 (and src (concat "[broken image:" src "]"))
+                                 "[broken image]"))))
                 (if (not (get-text-property start 'display))
                     (add-text-properties
-                     start (point) `(display ,image rear-nonsticky (display)))))
+                     start (point)
+                    `(display ,image rear-nonsticky (display)
+                      help-echo ,(cdr (assoc-string "alt" parameter-alist))))))
             ;; text-only display, show alternative text if provided, or
             ;; otherwise a clue that there's meant to be a picture
             (delete-region start (point))
             (insert (or (cdr (assoc-string "text" parameter-alist))
                         (cdr (assoc-string "alt" parameter-alist))
-                        (and src
-                             (concat "[image:" src "]"))
+                        (and src (concat "[image:" src "]"))
                         "[image]"))))))
     (set-buffer-modified-p nil)))