unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* valid_image_p doesn't load image libraries
@ 2005-05-26 11:22 Juanma Barranquero
  0 siblings, 0 replies; only message in thread
From: Juanma Barranquero @ 2005-05-26 11:22 UTC (permalink / raw)


On image dynamic-loading environments (AKA Windows), when the first
function to try to use an image type is a C primitive and not Lisp
code (for example, image-size), the corresponding image library is not
loaded.

The reason is that these functions call valid_image_p(), which in turn
calls lookup_image_type(), which does:

  if (NILP (Finit_image_library (symbol, Qnil)))
     return 0;

Now, init-image-library's second argument nil does not mean "use the
default library alist" (the variable `image-library-alist'), but "use
a null library alist", so the above call will always return nil unless
the library corresponding to the given image type is already loaded.

Now, assuming that lookup_image_type is the right place to load the
library, there's two possible answers:

  - passing `image-library-alist' to the call in lookup_image_type()
  - changing the spec of init-image-library so second arg nil means
"load from the default library alist".

Both of them require `image-library-alist', which is currently defined
on image.el, to be moved to C code.

Objections? Suggestions? Comments?

-- 
                    /L/e/k/t/u

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2005-05-26 11:22 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-26 11:22 valid_image_p doesn't load image libraries Juanma Barranquero

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).