From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: joakim@verona.se Newsgroups: gmane.emacs.devel Subject: Re: imagemagick support on W32 Date: Fri, 01 Oct 2010 13:36:32 +0200 Message-ID: References: <4CA53CE5.1020702@gmail.com> <4CA54727.6010900@gmail.com> <4CA54834.4020106@gmail.com> <4CA54E67.5040703@gmail.com> <4CA560A0.50901@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1285933021 2883 80.91.229.12 (1 Oct 2010 11:37:01 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 1 Oct 2010 11:37:01 +0000 (UTC) Cc: Christoph , emacs-devel@gnu.org To: Juanma Barranquero Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Oct 01 13:37:00 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1P1dv6-00066G-1v for ged-emacs-devel@m.gmane.org; Fri, 01 Oct 2010 13:36:59 +0200 Original-Received: from localhost ([127.0.0.1]:38005 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P1dv0-0007Xf-1Q for ged-emacs-devel@m.gmane.org; Fri, 01 Oct 2010 07:36:50 -0400 Original-Received: from [140.186.70.92] (port=36531 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P1duq-0007Vq-JN for emacs-devel@gnu.org; Fri, 01 Oct 2010 07:36:42 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P1dun-0002Sn-LY for emacs-devel@gnu.org; Fri, 01 Oct 2010 07:36:38 -0400 Original-Received: from iwfs.imcode.com ([82.115.149.64]:60296 helo=gate.verona.se) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P1dun-0002SI-8P for emacs-devel@gnu.org; Fri, 01 Oct 2010 07:36:37 -0400 Original-Received: from localhost.localdomain (IDENT:1005@localhost [127.0.0.1]) by gate.verona.se (8.13.4/8.11.4) with ESMTP id o91BaWsZ029248; Fri, 1 Oct 2010 13:36:33 +0200 In-Reply-To: (Juanma Barranquero's message of "Fri, 1 Oct 2010 12:37:32 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4-2.6 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:131145 Archived-At: Juanma Barranquero writes: > On Fri, Oct 1, 2010 at 06:16, Christoph wrote: > >> For now, I will go on with the dlls. On a side note: would Emacs require= to >> use the .dlls or could the library also be statically linked in? > > In theory, you could statically link any library to Emacs, but IMO in > this case is much better to stick to using the DLLs. The library is > big, unneeded when you start with -nw or in -batch mode, and it's > easier to update as DLLs than recompiling/relinking Emacs (which the > common, non-developer user cannot do). > >> I assumed that that was the intention of the inclusion of the ImageMagick >> branch in the first place. > > OK. I'm not sure what the original question was, but I intended for ImageMagick support to live alongside the other image loaders. >> Thanks for the image-library-alist hint. > > It shouldn't be difficult, but there are a few tricky details, I > think. If ImageMagick is loaded, > image-library-alist/init-image-library will have to act as if every > image type supported by ImageMagick is loaded (or there is a way to > ask ImageMagick for a list of the formats it support?) But even if There is, (imagemagick-types). You dont know for certain at compile time which formats are available, because imagemagick supports a plugin mechanism for new formats. > Emacs is compiled with ImageMagick support, a given instance could be > unable to load the libraries (not found in the path, or whatever), and > in this case, the other libraries could be loaded. Assuming, of > course, that compiling with ImageMagick support does not deactivate > (at compile time) the other image libraries' stuff. Does it? ImageMagick support does not deactivate the other loaders. They all live together. Of course there will then be situations when its not clear which loader should be used, because there are several candidates available. The ImageMagick loader can be configured so it does not try to load particular image formats, with imagemagick-types-inhibit. Which particular loader gets used in a particular case is not completely obvious however. I've made no attempt to change loader priorities, and Imagemagick usualy gets last shot at loading a format, so when jpeg support is compiled in, and imagemagick support is compiled in, the jpeg loader wins by default. >> Right now, everything compiles fine (with the addition of my own >> init_imagemagick_functions function, but when I run >> (imagemagick-register-types) Emacs crashes. > > Eli's question is very relevant. I had trouble in the past mixing > MSVC-compiled Emacs and MinGW-compiled image libraries; perhaps you're > seeing just the opposite. Both runtimes are not compatible; in fact, > if the library uses stdio facilities to access files you'll get all > kind of havoc. It'd be easier if you can compile ImageMagick with > MinGW. > > =A0 =A0 Juanma > --=20 Joakim Verona