]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix icons.el when icon does not exist as a file
authorEli Zaretskii <eliz@gnu.org>
Sat, 6 Jan 2024 11:26:29 +0000 (13:26 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 6 Jan 2024 11:26:29 +0000 (13:26 +0200)
* lisp/emacs-lisp/icons.el (icons--create): Handle the case when
ICON is a file that doesn't exists or is unreadable.  Suggested by
David Ponce <da_vid@orange.fr>.  (Bug#66846)

lisp/emacs-lisp/icons.el

index a35a00ec1f3c0dd77db2fd2067f60a0a79b97c8b..1fc0e39f9fedd671dd4124a2fc7fbfe3da45ff03 100644 (file)
@@ -187,11 +187,13 @@ present if the icon is represented by an image."
   merged)
 
 (cl-defmethod icons--create ((_type (eql 'image)) icon keywords)
-  (let ((file (if (file-name-absolute-p icon)
-                  icon
-                (and (fboundp 'image-search-load-path)
-                     (image-search-load-path icon)))))
-    (and (display-images-p)
+  (let* ((file (if (file-name-absolute-p icon)
+                   icon
+                 (and (fboundp 'image-search-load-path)
+                      (image-search-load-path icon))))
+         (file-exists (and (stringp file) (file-readable-p file))))
+    (and file-exists
+         (display-images-p)
          (fboundp 'image-supported-file-p)
          (image-supported-file-p file)
          (propertize