From: d To: bug-gnu-emacs@gnu.org Subject: 27.1; toolbar icons My Linux computers are used only for local development and don't have email access. I copied this from the Linux computer (X990) in which the problem exists. That I am sending this to you from a Windows computer is irrelevant. --text follows this line-- I have developed a library that includes a toolbar with custom icons. It works in all versions of Emacs in Windows and in Emacs version 26.3 under Ubuntu-Mate 20.54 but the toolbar doesn't work in Emacs 27.1 under Ubuntu-Mate 22.04. In my preferred configuration I put my icons under the user home directory so that this doesn't change if Emacs is updated. My library accesses this with e.g. (tool-bar-add-item "~/icons/lxa-next" to use my lxa-next.xpm icon. In Emacs 26.3 it also works to put my icon in /usr/share/emacs/26.3/etc/images and refer to it as simply "lxa-next". Emacs 27.1 shows nothing either way. My lxa-next.xpm appears similar to the native lock-broken.xpm (4.7kB vs. 4.6kB) so I experimented referring to that instead of mine and it worked. I also tested left-arrow but instead of left-arrow.xpm or pbm, it showed a very plain < image that doesn't exist in the images directory. It should be noted that there is a lock-broken.pbm but the xpm version was automatically selected. The icon selection mechanism of Emacs 26.3 is usable but could be improved by accepting an explicit icon file extension. That of 27.1 is unusable and, unless we can fix it, I will have to advise users of my library to install an older version of Emacs. In GNU Emacs 27.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.33, cairo version 1.16.0)  of 2023-08-16, modified by Debian built on lcy02-amd64-041 Windowing system distributor 'The X.Org Foundation', version 11.0.12101004 System Description: Ubuntu 22.04.4 LTS Recent messages: Invalid XPM3 file ((image :type xpm :file /usr/share/emacs/27.1/etc/images/lxa-next.xpm)) Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-fwdlink.xpm)) Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-pin.xpm)) Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-prev.xpm)) Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-next.xpm)) Invalid XPM3 file ((image :type xpm :file /usr/share/emacs/27.1/etc/images/lxa-next.xpm :mask heuristic)) Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-fwdlink.xpm :mask heuristic)) Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-pin.xpm :mask heuristic)) Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-prev.xpm :mask heuristic)) Invalid XPM3 file ((image :type xpm :file /home/d/icons/lxa-next.xpm :mask heuristic)) Configured using:  'configure --build x86_64-linux-gnu --prefix=/usr  --sharedstatedir=/var/lib --libexecdir=/usr/lib  --localstatedir=/var/lib --infodir=/usr/share/info  --mandir=/usr/share/man --enable-libsystemd --with-pop=yes  --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/27.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/27.1/site-lisp:/usr/share/emacs/site-lisp  --with-sound=alsa --without-gconf --with-mailutils --build  x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib  --libexecdir=/usr/lib --localstatedir=/var/lib  --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd  --with-pop=yes  --enable-locallisppath=/etc/emacs:/usr/local/share/emacs/27.1/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/27.1/site-lisp:/usr/share/emacs/site-lisp  --with-sound=alsa --without-gconf --with-mailutils --with-cairo  --with-x=yes --with-x-toolkit=gtk3 --with-toolkit-scroll-bars  'CFLAGS=-g -O2  -ffile-prefix-map=/build/emacs-WL9mhG/emacs-27.1+1=. -fstack-protector-strong  -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time  -D_FORTIFY_SOURCE=2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'' Configured features: XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB NOTIFY INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON PDUMPER LCMS2 GMP Important settings:   value of $LANG: en_US.UTF-8   locale-coding-system: utf-8-unix Major mode: Emacs-Lisp Minor modes in effect:   show-paren-mode: t   delete-selection-mode: t   tooltip-mode: t   global-eldoc-mode: t   eldoc-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   auto-composition-mode: t   auto-encryption-mode: t   auto-compression-mode: t   column-number-mode: t   line-number-mode: t   transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs format-spec rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs text-property-search mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date server cus-edit cus-start cus-load wid-edit linkxall edmacro kmacro pcase paren delsel bs finder-inf package easymenu browse-url url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic 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 charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 91987 8892)   (symbols 48 9691 1)   (strings 32 26045 2661)   (string-bytes 1 804745)   (vectors 16 14071)   (vector-slots 8 176572 9434)   (floats 8 34 18)   (intervals 56 1929 0)   (buffers 1000 12))