Subject: bug#28692: Emacs fails to display images

From: Diego Nicola Barbato <[email-masked]>
Date: Tue, 03 Oct 2017 21:44:10 +0200

Hello!

Several of emacs image related features have stopped working properly:
* Eww does not render images showing empty squares instead.
* When visiting an image in a buffer and pressing n to visit the next
  image the next image is either not displayed at all (showing an empty
  square instead) or a thumbnail sized version is displayed.
* Transformations such as "Fit to Window Width" or "Rotate Image" do not
  work at all. The following error message is displayed instead:
  ImageMagick error: no decode delegate for this image format `PBM' @
  error/constitute.c/ReadImage/504
  (This happens with all image formats not just .pbm)

This is independent of any init file as it still happens if emacs is run
with the -Q flag.
Everything works as it should if I roll back to the version from
2017-09-22.

I am running GuixSD on an x86-64 machine with the following config:

;; This is an operating system configuration file
;; for a "desktop" setup with StumpWM and EXWM where
;; the root partition is encrypted with LUKS.

(use-modules (gnu) (gnu packages) (gnu system nss))
(use-service-modules avahi dbus desktop networking xorg)
(use-package-modules certs emacs gnome lisp xdisorg)

(operating-system
  (host-name <>)
  (timezone <>)
  (locale <>)

  ;; Assuming /dev/sda is the target hard disk, and "osiris"
  ;; is the label of the target root file system.
  (bootloader (grub-configuration (target "/dev/sda")
                                  (timeout 1)))

  ;; Specify a mapped device for the encrypted root partition.
  ;; The UUID is that returned by 'cryptsetup luksUUID'.
  (mapped-devices
   (list (mapped-device
          (source (uuid <>))
          (target <>)
          (type luks-device-mapping))))

  (file-systems (cons* (file-system
                        (device <>)
                        (title 'label)
                        (mount-point "/")
                        (type "ext4"))
                      (file-system
                        (device <>)
                        (title 'label)
                        (mount-point "/home")
                        (type "ext4")
                        (dependencies mapped-devices))
                      %base-file-systems))

  (swap-devices '("/dev/sda2"))

  (users (cons (user-account
                (name <>)
                (comment <>)
                (group "users")
                (supplementary-groups '("lp"
                                        "wheel" "netdev"
                                        "audio" "video"))
                (home-directory <>))
               %base-user-accounts))

  ;; This is where we specify system-wide packages.
  (packages (cons* nss-certs         ;for HTTPS access
                   ;; gvfs              ;for user mounts
                   sbcl-stumpwm      ;StumpWM window manager
                   emacs emacs-exwm  ;emacs window manager
                   %base-packages))

  ;; Add desktop services to %base-services. This is a modified
  ;; version of %desktop-services with fewer services and wicd
  ;; instead of network-manager. Also adding tor, xscreensaver,
  ;; bluetooth and a <> console keymap.
  (services (cons* (tor-service)

                   ;; Login service
                   (slim-service)

                   ;; Screen lockers are a pretty useful thing
		   ;; and these are small.
                   (screen-locker-service xlockmore "xlock")
                   (screen-locker-service xscreensaver "xscreensaver")

                   ;; The D-Bus clique.
                   (bluetooth-service)
                   (avahi-service)
                   (wicd-service)
                   (udisks-service)
                   (upower-service)
                   (colord-service)
                   (geoclue-service)
                   (polkit-service)
                   (elogind-service)
                   (dbus-service)

                   (ntp-service)
                   
                   ;; Add swiss german keymap
                   (console-keymap-service <>)

                   %base-services))

  ;; Allow resolution of '.local' host names with mDNS.
  (name-service-switch %mdns-host-lookup-nss))