From unknown Sun Jun 22 07:55:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66846: 30.0.50; unexpected behavior of icon with non-existing image file? Resent-From: David Ponce Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 31 Oct 2023 12:31:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 66846 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 66846@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.16987554369812 (code B ref -1); Tue, 31 Oct 2023 12:31:01 +0000 Received: (at submit) by debbugs.gnu.org; 31 Oct 2023 12:30:36 +0000 Received: from localhost ([127.0.0.1]:47688 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qxntE-0002YB-51 for submit@debbugs.gnu.org; Tue, 31 Oct 2023 08:30:36 -0400 Received: from lists.gnu.org ([2001:470:142::17]:56160) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qxntB-0002Xt-0T for submit@debbugs.gnu.org; Tue, 31 Oct 2023 08:30:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qxnsV-0007wo-KW for bug-gnu-emacs@gnu.org; Tue, 31 Oct 2023 08:29:51 -0400 Received: from smtp-27.smtpout.orange.fr ([80.12.242.27] helo=smtp.smtpout.orange.fr) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qxnsT-0007AL-4Q for bug-gnu-emacs@gnu.org; Tue, 31 Oct 2023 08:29:51 -0400 Received: from [192.168.1.15] ([2.7.71.181]) by smtp.orange.fr with ESMTPA id xnsNqdsNh4FJ9xnsNquQMf; Tue, 31 Oct 2023 13:29:44 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.fr; s=t20230301; t=1698755384; bh=1jTLg2IBQ8NGR1q1zOIJBPMtEkePyLfLWlbO8Hf2h+E=; h=Date:To:From:Subject; b=lQfXUka0sidS89rAg9/a6es/+V5KCL0gl4SQ5c5WIFtYlpcAqlAK5p9QQYqdLBFvk iP9aErpd6jXvpr33ooVHbhX+DRjWES6Qb6CBmUuNmPscuvInjfzwVhVBll/7VOzwvr MbMhwfc6I3vjKoc91omqZmcw7zueHcRmNIZ3C7JXMuLbtLT2fwQeG9KYghu1MS87ZM pyGac62guWnUHBZ0eT1nRH3JHi/klPzwiSxS9vUNpAA9pOeaH0WOMXTGL5lwgRS7Ls MHp/fm80OLtXF8fUW2ZgPmz9Lc222/Egi54TC6x3USG6+tXmVAiimtPi+hwU6cNfmh Gi1a8J4ePGBgQ== X-ME-Helo: [192.168.1.15] X-ME-Auth: ZGFfdmlkQHdhbmFkb28uZnI= X-ME-Date: Tue, 31 Oct 2023 13:29:44 +0100 X-ME-IP: 2.7.71.181 Message-ID: <6a6a88f4-dc7c-44a4-9f09-5b3f184df971@orange.fr> Date: Tue, 31 Oct 2023 13:29:43 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: fr, en-US From: David Ponce Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=80.12.242.27; envelope-from=da_vid@orange.fr; helo=smtp.smtpout.orange.fr X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hello, I found a possible unexpected behavior with image in icon spec. Here are 2 small recipes that illustrate this. In both cases the image doesn't exist and maybe `icon-string' should return the text value of the icon, instead of failing like illustrated below (emacs -Q): ;; TEST 1 with relative file name. ;; Raise a wrong-type-argument error instead of inserting the text ;; "test". (define-icon test nil '((image "does-not-exist.svg") (text "test")) "Test icon." :version "30") (insert (icon-string 'test)) Debugger entered--Lisp error: (wrong-type-argument stringp nil) string-match("\\.png\\'" nil nil t) image-supported-file-p(nil) ... ;; TEST 2 with absolute file name. ;; Insert an invalid image instead of the text "test". (define-icon test1 nil '((image "/does-not-exist.svg") (text "test")) "Test1 icon." :version "30") ((button custom-icon) (test1 custom-icon)) (insert (icon-string 'test1)) nil Please find a possible fix in the below patch to icons.el: diff --git a/lisp/emacs-lisp/icons.el b/lisp/emacs-lisp/icons.el index 9a6d26243c7..dec8eaa9fac 100644 --- a/lisp/emacs-lisp/icons.el +++ b/lisp/emacs-lisp/icons.el @@ -188,10 +188,11 @@ icons--merge-spec (cl-defmethod icons--create ((_type (eql 'image)) icon keywords) (let ((file (if (file-name-absolute-p icon) - icon + (and (file-readable-p icon) icon) (and (fboundp 'image-search-load-path) (image-search-load-path icon))))) - (and (display-images-p) + (and file + (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8) Repository revision: ecc8870981ef1a802f9504b1d0f261d19ab372b1 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12014000 System Description: Fedora Linux 38 (KDE Plasma) Configured using: 'configure PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LC_TIME: fr_FR.utf8 value of $LANG: fr_FR.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process emacs) Memory information: ((conses 16 37932 10514) (symbols 48 5212 0) (strings 32 13264 1275) (string-bytes 1 378221) (vectors 16 10360) (vector-slots 8 157502 10085) (floats 8 38 21) (intervals 56 220 0) (buffers 992 10)) From unknown Sun Jun 22 07:55:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66846: 30.0.50; unexpected behavior of icon with non-existing image file? Resent-From: David Ponce Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 31 Oct 2023 15:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66846 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 66846@debbugs.gnu.org Received: via spool by 66846-submit@debbugs.gnu.org id=B66846.169876614029838 (code B ref 66846); Tue, 31 Oct 2023 15:29:02 +0000 Received: (at 66846) by debbugs.gnu.org; 31 Oct 2023 15:29:00 +0000 Received: from localhost ([127.0.0.1]:48997 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qxqfr-0007lC-K5 for submit@debbugs.gnu.org; Tue, 31 Oct 2023 11:28:59 -0400 Received: from smtp-27.smtpout.orange.fr ([80.12.242.27]:52429 helo=smtp.smtpout.orange.fr) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qxqfp-0007l1-Kg for 66846@debbugs.gnu.org; Tue, 31 Oct 2023 11:28:58 -0400 Received: from [192.168.1.15] ([2.7.71.181]) by smtp.orange.fr with ESMTPA id xqfFqZInSaLS1xqfGqUHRh; Tue, 31 Oct 2023 16:28:22 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.fr; s=t20230301; t=1698766102; bh=dxi0vCFJp487BnGx9rXsf0bmKQ/1xgyCEcShYF1KwxM=; h=Date:Subject:From:To:References:In-Reply-To; b=Y/swVYI0BbLC2omZDqi+d/WoPBTtPIlFDRHlJNg9+3Z0hwcojUeA6b2CXeJUISOat 0InDBEHqHHlpzW7YdBe+j8ia6FrpZvK5dt9z4jZ/YKf7Sfg27Un90lFV7aI3/OvjKd QlHOqt6gtF0Rh5s5hM3UgJLrj752/YofPuf8bL0t2Ql1avJg1B7FPMbMyFiPa74Xi5 CnRO6QgkrGIsrpW0jyTI1F7U7QXjrg8dARjE7E8ywDnI0cbvzmEl/7qFtvngzPrpV3 3YPwa+CwXzmchAtAOM19wkhJiNG26tFG4LW74BK7aTBEDFU3tRQ4OWX772x19dyWdX ELh5iGFepNing== X-ME-Helo: [192.168.1.15] X-ME-Auth: ZGFfdmlkQHdhbmFkb28uZnI= X-ME-Date: Tue, 31 Oct 2023 16:28:22 +0100 X-ME-IP: 2.7.71.181 Message-ID: <89c6f6a5-d35e-4363-a04a-995dab69a361@orange.fr> Date: Tue, 31 Oct 2023 16:28:21 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: fr, en-US From: David Ponce References: <6a6a88f4-dc7c-44a4-9f09-5b3f184df971@orange.fr> In-Reply-To: <6a6a88f4-dc7c-44a4-9f09-5b3f184df971@orange.fr> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) In fact, I wonder if a better implementation of the `icons--create' method could be to delegate image creation to `find-image'? Something like this: (cl-defmethod icons--create ((_type (eql 'image)) icon keywords) (when-let ((image (find-image `(( :file ,icon ,@(append (if-let ((val (plist-get keywords :height))) (list :height (if (eq val 'line) (window-default-line-height) val))) (if-let ((val (plist-get keywords :width))) (list :width (if (eq val 'font) (default-font-width) val))) '(:scale 1) (if-let ((val (plist-get keywords :rotation))) (list :rotation val)) (if-let ((val (plist-get keywords :margin))) (list :margin val)) (list :ascent (or (plist-get keywords :ascent) 'center)))))))) (propertize " " 'display image))) From unknown Sun Jun 22 07:55:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66846: 30.0.50; unexpected behavior of icon with non-existing image file? Resent-From: David Ponce Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 03 Nov 2023 09:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66846 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 66846@debbugs.gnu.org Received: via spool by 66846-submit@debbugs.gnu.org id=B66846.16990050147894 (code B ref 66846); Fri, 03 Nov 2023 09:51:01 +0000 Received: (at 66846) by debbugs.gnu.org; 3 Nov 2023 09:50:14 +0000 Received: from localhost ([127.0.0.1]:56829 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qyqod-00023C-25 for submit@debbugs.gnu.org; Fri, 03 Nov 2023 05:50:14 -0400 Received: from smtp-30.smtpout.orange.fr ([80.12.242.30]:52270 helo=smtp.smtpout.orange.fr) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qyqoX-00022z-FG for 66846@debbugs.gnu.org; Fri, 03 Nov 2023 05:50:09 -0400 Received: from [192.168.1.15] ([2.7.71.181]) by smtp.orange.fr with ESMTPA id yqnwqFfMB1jHcyqnwqhAwh; Fri, 03 Nov 2023 10:49:28 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.fr; s=t20230301; t=1699004968; bh=DsWrE5odq1m/BO9iBsm2dk0PT9ZLtBbp8Ca9jjs/eNo=; h=Date:Subject:From:To:References:In-Reply-To; b=cWod3xYmitPyQ9PploHMtmig75htK1+k/nW2TZh6LyA2CE3XbZrMsSObBD4vsJOjk PWNmeVYpyaYUsuL/WzO20POi36RNsHyKooHqmUDYslu/08sCXJh6wN5406moUGeU7m c2aXnW9JZbP4s/oorFQxKLHxn5f8Orpm/gCnrMoRQCTTJHOkBrY4HdRAYDoDoQfBPP YIRc9xRFBDkrJGAt/+K/sXLOvu3uYqyp2Wq5yMWDUA/4F5bjm+1nfbcFL2q4ATiCmE CACASIT4t7mvvG+FZp3WTXn/l6uuahlar+N8NY2S3UmoM/vv8sg2iYKKX5h3+/fqRz jT8IU61c2ewkQ== X-ME-Helo: [192.168.1.15] X-ME-Auth: ZGFfdmlkQHdhbmFkb28uZnI= X-ME-Date: Fri, 03 Nov 2023 10:49:28 +0100 X-ME-IP: 2.7.71.181 Message-ID: <05823d42-f045-4712-bb2d-97ed84303566@orange.fr> Date: Fri, 3 Nov 2023 10:49:27 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: David Ponce References: <6a6a88f4-dc7c-44a4-9f09-5b3f184df971@orange.fr> <89c6f6a5-d35e-4363-a04a-995dab69a361@orange.fr> Content-Language: fr, en-US In-Reply-To: <89c6f6a5-d35e-4363-a04a-995dab69a361@orange.fr> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, Any thoughts on this? I think there is a problem with the current implementation of the `icon--create' method for the `image' type. It fails when the specified icon image is not found instead of returning nil, which prevents trying the next type (emoji, symbol, or text) defined in `icon-preference', as logically expected. Otherwise, please feel free to close this bug. Thanks! From unknown Sun Jun 22 07:55:55 2025 X-Loop: help-debbugs@gnu.org Subject: bug#66846: 30.0.50; unexpected behavior of icon with non-existing image file? Resent-From: David Ponce Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 05 Jan 2024 17:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 66846 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 66846@debbugs.gnu.org Cc: Eli Zaretskii , Stefan Kangas Received: via spool by 66846-submit@debbugs.gnu.org id=B66846.170447671932471 (code B ref 66846); Fri, 05 Jan 2024 17:46:02 +0000 Received: (at 66846) by debbugs.gnu.org; 5 Jan 2024 17:45:19 +0000 Received: from localhost ([127.0.0.1]:57772 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rLoFz-0008R3-E5 for submit@debbugs.gnu.org; Fri, 05 Jan 2024 12:45:19 -0500 Received: from smtp-30.smtpout.orange.fr ([80.12.242.30]:57461 helo=smtp.smtpout.orange.fr) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rLoFu-00088H-Cg for 66846@debbugs.gnu.org; Fri, 05 Jan 2024 12:45:18 -0500 Received: from [192.168.1.15] ([2.7.71.181]) by smtp.orange.fr with ESMTPA id LoFnrFVW69WXyLoFnrURbg; Fri, 05 Jan 2024 18:45:08 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.fr; s=t20230301; t=1704476708; bh=oeHdQgnFccxibATAEJx9d5ka1wbjTe4QxNHnjt2EJJw=; h=Date:Subject:From:To:References:Cc:In-Reply-To; b=F5f/7ufvoeQWoSONhP5JPw05ZeFlurWXIy1fXTwQ3ZGdvy7qUcQ5094+SddrdzH4e BIAFfsvC5jcLl/apVVU6XiVWRt66kGpwTTph5gdZO7YigmvuLnpBiJS6Lefx4wwrzD LOAYS4hgnfWCwj2s8FrxhaMXfL2DkAZVtVis5roWEaDv5EsnlHir8TuWIa99OYVHEm keGwTDeKgqRgN/HScVK4bYpsNx3JSe68IPUa7vk0d6MWuzY+jV5/9juDx5JNte8NYv ISdtU7A6ilXJz05/3x9rUqZ35sx+rHzS+qB+dYCM2bq1W1Jcg72xiZFA9Yth1Yn3TV 745TPzdX59quw== X-ME-Helo: [192.168.1.15] X-ME-Auth: ZGFfdmlkQHdhbmFkb28uZnI= X-ME-Date: Fri, 05 Jan 2024 18:45:08 +0100 X-ME-IP: 2.7.71.181 Message-ID: <71a788c3-4243-4db6-a19a-ae2cbfcdf5f2@orange.fr> Date: Fri, 5 Jan 2024 18:45:07 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: David Ponce References: <6a6a88f4-dc7c-44a4-9f09-5b3f184df971@orange.fr> Content-Language: fr, en-US In-Reply-To: <6a6a88f4-dc7c-44a4-9f09-5b3f184df971@orange.fr> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hello, I was wondering if you had a chance to view this bug report? I wish you an happy new year. Thanks! From unknown Sun Jun 22 07:55:55 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: David Ponce Subject: bug#66846: closed (Re: 30.0.50; unexpected behavior of icon with non-existing image file?) Message-ID: References: <83bk9yu2ez.fsf@gnu.org> <6a6a88f4-dc7c-44a4-9f09-5b3f184df971@orange.fr> X-Gnu-PR-Message: they-closed 66846 X-Gnu-PR-Package: emacs Reply-To: 66846@debbugs.gnu.org Date: Sat, 06 Jan 2024 11:29:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1704540542-3331-1" This is a multi-part message in MIME format... ------------=_1704540542-3331-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #66846: 30.0.50; unexpected behavior of icon with non-existing image file? which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 66846@debbugs.gnu.org. --=20 66846: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D66846 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1704540542-3331-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 66846-done) by debbugs.gnu.org; 6 Jan 2024 11:28:40 +0000 Received: from localhost ([127.0.0.1]:58691 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rM4qp-0000qs-Pz for submit@debbugs.gnu.org; Sat, 06 Jan 2024 06:28:40 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:55912) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rM4qn-0000qe-6E for 66846-done@debbugs.gnu.org; Sat, 06 Jan 2024 06:28:26 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rM4qc-0003u6-ED; Sat, 06 Jan 2024 06:28:14 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=+ipVTRGkkDJaZ23Mlq25KAnkuS6pb/bVjQ0Q882BJEM=; b=O7Dl9f8ehg8U G25o88zPtm+WtYQV3SMKjh8hzxCflfyH+QalKc+h6aFNEE95f+hNuOb/1Qy3zKS5EvVm+1CphWdYt f4PUeBivpkXM5g2tUKV4hzxUjqqPhD5okGj8ep4IHFL8UTXj0fBhVs+Fw1syInK/rtAFNy7V062Ed N2N80q7mT98LIl5vksHw+lWrB1tUwj4zR55mbrfNmyctxHrZ/G6tqJAyhW6TvUxSNX158euiaVUj+ E3AHWZ5cXwX0gI62sRsFNx3vOL32zPV8W0H+F/dVs/qg1k79bzfXKbg0/J+Ym3JGWkS/mF3x13Yku NZCmYhTrjvyzyXfIi6K16Q==; Date: Sat, 06 Jan 2024 13:28:04 +0200 Message-Id: <83bk9yu2ez.fsf@gnu.org> From: Eli Zaretskii To: David Ponce In-Reply-To: <71a788c3-4243-4db6-a19a-ae2cbfcdf5f2@orange.fr> (message from David Ponce on Fri, 5 Jan 2024 18:45:07 +0100) Subject: Re: 30.0.50; unexpected behavior of icon with non-existing image file? References: <6a6a88f4-dc7c-44a4-9f09-5b3f184df971@orange.fr> <71a788c3-4243-4db6-a19a-ae2cbfcdf5f2@orange.fr> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 66846-done Cc: 66846-done@debbugs.gnu.org, stefankangas@gmail.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) > Date: Fri, 5 Jan 2024 18:45:07 +0100 > From: David Ponce > Cc: Eli Zaretskii , Stefan Kangas > > Hello, > > I was wondering if you had a chance to view this bug report? Thanks, I fixed the bug on the emacs-29 branch in a slightly different way, and I'm therefore closing this bug. ------------=_1704540542-3331-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 31 Oct 2023 12:30:36 +0000 Received: from localhost ([127.0.0.1]:47688 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qxntE-0002YB-51 for submit@debbugs.gnu.org; Tue, 31 Oct 2023 08:30:36 -0400 Received: from lists.gnu.org ([2001:470:142::17]:56160) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qxntB-0002Xt-0T for submit@debbugs.gnu.org; Tue, 31 Oct 2023 08:30:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qxnsV-0007wo-KW for bug-gnu-emacs@gnu.org; Tue, 31 Oct 2023 08:29:51 -0400 Received: from smtp-27.smtpout.orange.fr ([80.12.242.27] helo=smtp.smtpout.orange.fr) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qxnsT-0007AL-4Q for bug-gnu-emacs@gnu.org; Tue, 31 Oct 2023 08:29:51 -0400 Received: from [192.168.1.15] ([2.7.71.181]) by smtp.orange.fr with ESMTPA id xnsNqdsNh4FJ9xnsNquQMf; Tue, 31 Oct 2023 13:29:44 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orange.fr; s=t20230301; t=1698755384; bh=1jTLg2IBQ8NGR1q1zOIJBPMtEkePyLfLWlbO8Hf2h+E=; h=Date:To:From:Subject; b=lQfXUka0sidS89rAg9/a6es/+V5KCL0gl4SQ5c5WIFtYlpcAqlAK5p9QQYqdLBFvk iP9aErpd6jXvpr33ooVHbhX+DRjWES6Qb6CBmUuNmPscuvInjfzwVhVBll/7VOzwvr MbMhwfc6I3vjKoc91omqZmcw7zueHcRmNIZ3C7JXMuLbtLT2fwQeG9KYghu1MS87ZM pyGac62guWnUHBZ0eT1nRH3JHi/klPzwiSxS9vUNpAA9pOeaH0WOMXTGL5lwgRS7Ls MHp/fm80OLtXF8fUW2ZgPmz9Lc222/Egi54TC6x3USG6+tXmVAiimtPi+hwU6cNfmh Gi1a8J4ePGBgQ== X-ME-Helo: [192.168.1.15] X-ME-Auth: ZGFfdmlkQHdhbmFkb28uZnI= X-ME-Date: Tue, 31 Oct 2023 13:29:44 +0100 X-ME-IP: 2.7.71.181 Message-ID: <6a6a88f4-dc7c-44a4-9f09-5b3f184df971@orange.fr> Date: Tue, 31 Oct 2023 13:29:43 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: fr, en-US To: bug-gnu-emacs@gnu.org From: David Ponce Subject: 30.0.50; unexpected behavior of icon with non-existing image file? Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=80.12.242.27; envelope-from=da_vid@orange.fr; helo=smtp.smtpout.orange.fr X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.3 (/) Hello, I found a possible unexpected behavior with image in icon spec. Here are 2 small recipes that illustrate this. In both cases the image doesn't exist and maybe `icon-string' should return the text value of the icon, instead of failing like illustrated below (emacs -Q): ;; TEST 1 with relative file name. ;; Raise a wrong-type-argument error instead of inserting the text ;; "test". (define-icon test nil '((image "does-not-exist.svg") (text "test")) "Test icon." :version "30") (insert (icon-string 'test)) Debugger entered--Lisp error: (wrong-type-argument stringp nil) string-match("\\.png\\'" nil nil t) image-supported-file-p(nil) ... ;; TEST 2 with absolute file name. ;; Insert an invalid image instead of the text "test". (define-icon test1 nil '((image "/does-not-exist.svg") (text "test")) "Test1 icon." :version "30") ((button custom-icon) (test1 custom-icon)) (insert (icon-string 'test1)) nil Please find a possible fix in the below patch to icons.el: diff --git a/lisp/emacs-lisp/icons.el b/lisp/emacs-lisp/icons.el index 9a6d26243c7..dec8eaa9fac 100644 --- a/lisp/emacs-lisp/icons.el +++ b/lisp/emacs-lisp/icons.el @@ -188,10 +188,11 @@ icons--merge-spec (cl-defmethod icons--create ((_type (eql 'image)) icon keywords) (let ((file (if (file-name-absolute-p icon) - icon + (and (file-readable-p icon) icon) (and (fboundp 'image-search-load-path) (image-search-load-path icon))))) - (and (display-images-p) + (and file + (display-images-p) (fboundp 'image-supported-file-p) (image-supported-file-p file) (propertize In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38, cairo version 1.17.8) Repository revision: ecc8870981ef1a802f9504b1d0f261d19ab372b1 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12014000 System Description: Fedora Linux 38 (KDE Plasma) Configured using: 'configure PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP X11 XDBE XIM XINPUT2 XPM GTK3 ZLIB Important settings: value of $LC_TIME: fr_FR.utf8 value of $LANG: fr_FR.UTF-8 locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t minibuffer-regexp-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo gtk x-toolkit xinput2 x multi-tty move-toolbar make-network-process emacs) Memory information: ((conses 16 37932 10514) (symbols 48 5212 0) (strings 32 13264 1275) (string-bytes 1 378221) (vectors 16 10360) (vector-slots 8 157502 10085) (floats 8 38 21) (intervals 56 220 0) (buffers 992 10)) ------------=_1704540542-3331-1--