Subject: bug#21203: 24.5; about-emacs makes emacs freeze on windows 8.1

From: Eli Zaretskii <[email-masked]>
Date: Fri, 07 Aug 2015 17:09:19 +0300

> Date: Fri, 7 Aug 2015 09:24:19 -0400
> From: Pablo Mercader Alcántara <[email-masked]>
> 
> >
> > What image support libraries do you have installed, and where did you
> > get them?
> 
> I didn't install any image libraries myself (that I'm aware of) but I
> use a lot of FLOSS on this Windows PC so I wouldn't be surprised that
> some other program installed some image library.
> 
> Some programs that I think that could install image libraries:
>  - Gtk # and Monodevelop (xamarin studio)
>  - Cygwin with the X server
>  - Gimp
>  - Inkscape
>  - vlc
> 
> What image libraries should I look for?

You can see what the startup screen does in startup.el, by looking at
the function fancy-splash-image-file:

  (defun fancy-splash-image-file ()
    (cond ((stringp fancy-splash-image) fancy-splash-image)
	  ((display-color-p)
	   (cond ((<= (display-planes) 8)
		  (if (image-type-available-p 'xpm)
		      "splash.xpm"
		    "splash.pbm"))
		 ((or (image-type-available-p 'svg)
		      (image-type-available-p 'imagemagick))
		  "splash.svg")
		 ((image-type-available-p 'png)
		  "splash.png")
		 ((image-type-available-p 'xpm)
		  "splash.xpm")
		 (t "splash.pbm")))
	  (t "splash.pbm")))

As you see, it tries the SVG images first, then PNG, then XPM.  So
this is the order you should look at your image libraries.

But first, I suggest to try invoking Emacs like this:

  emacs -q --eval "(setq fancy-splash-image \"splash.xpm\")"

and then try invoking 'about-emacs'.  If Emacs still hangs, my guess
was wrong, and the image libraries are probably not your problem.

> I thought that emacs windows binary came with all it's libraries

No, it comes only with libXpm.  The other image support libraries you
need to install yourself.  See the file README.W32 in the distribution
for the recommended sites from which to download them.

> but if the problem is some kind of shared image library shouldn't
> emacs 24.3 freeze as well?

It could very well be that Emacs 24.3 you installed was built without
support for the library that gives you trouble, in which case Emacs
won't try using it.

You can see which libraries are available by evaluating the
following expressions:

  M-: (image-type-available-p 'svg)
  M-: (image-type-available-p 'png)
  M-: (image-type-available-p 'xpm)

This should yield t if the support was compiled into Emacs _and_ the
corresponding libraries are found, else it will yield nil.