From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: rzl24ozi@gmail.com Newsgroups: gmane.emacs.devel Subject: Re: [Emacs-diffs] ImageMagick Support on Windows Date: Wed, 15 Oct 2014 18:38:30 +0900 Message-ID: <868ukhn04p.fsf@gmail.com> References: <83siis71xq.fsf@gnu.org> <83siiq6e3v.fsf@gnu.org> <83r3ya65t0.fsf@gnu.org> <83h9z56fwy.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1413365961 8210 80.91.229.3 (15 Oct 2014 09:39:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 15 Oct 2014 09:39:21 +0000 (UTC) Cc: emacs-devel@gnu.org To: Alexander Shukaev , Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 15 11:39:14 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XeL34-0001BH-Ay for ged-emacs-devel@m.gmane.org; Wed, 15 Oct 2014 11:39:14 +0200 Original-Received: from localhost ([::1]:43279 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XeL33-0001Y9-Tb for ged-emacs-devel@m.gmane.org; Wed, 15 Oct 2014 05:39:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35762) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XeL2j-000158-8M for emacs-devel@gnu.org; Wed, 15 Oct 2014 05:38:57 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XeL2e-0002fG-NP for emacs-devel@gnu.org; Wed, 15 Oct 2014 05:38:53 -0400 Original-Received: from mail-pd0-x229.google.com ([2607:f8b0:400e:c02::229]:54573) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XeL2e-0002f0-Fs; Wed, 15 Oct 2014 05:38:48 -0400 Original-Received: by mail-pd0-f169.google.com with SMTP id w10so956243pde.28 for ; Wed, 15 Oct 2014 02:38:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=3iCO+lxvGoqapOYz+IJg6gR71N8vhFJ1h8Yon3ErFp0=; b=0wBwbIhAh/P11G93xM04+CLXt3v8jE2sg9BgCQvannyVngS3pEaGs9fJ6Fj2dPL++V +uNCV+kbmkDa2VHjOMbo4ZxhWgBdkybtoWVBFy2aVcJmNXzRXsnV7+Vu4sK+qb75w6yF GFch4Dr2nau6kSCjmwOkHLTovpMMrnpk4W2Etckbre2YFOHXk8yb9nBh4oXJxggvfp64 snN4TlQRpONUweKTNPJ4t/zVi/1bLwFtWDH5C4dFxtZe1/FI0pzh6WsFEfI3+w7J3IG1 FfEyZ8RBY3fOFdAGSfcfQxBISVVwkOxc+8eSbuLW6xWwX7WLyjlf/mcaq0r6U5KnB6oW fhvQ== X-Received: by 10.70.128.40 with SMTP id nl8mr11218896pdb.131.1413365926600; Wed, 15 Oct 2014 02:38:46 -0700 (PDT) Original-Received: from 192.168.1.3 (183.25.30.125.dy.iij4u.or.jp. [125.30.25.183]) by mx.google.com with ESMTPSA id g2sm16560521pdk.46.2014.10.15.02.38.44 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Oct 2014 02:38:45 -0700 (PDT) X-Face: "H?LV"a8\1VWezDOnSjX91LT6`eni:O>k/*C7;gNa'|$f In-Reply-To: (Alexander Shukaev's message of "Wed, 15 Oct 2014 11:27:36 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.94 (windows-nt) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400e:c02::229 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:175395 Archived-At: I have created imagemagick support patch on Windows for pretest 24.3.94, and using it. I'm testing it by viewing BMP and other supported image by imagemagick, and it seems to work well. My patch is here. https://gist.github.com/rzl24ozi/d588b40217b80e3dae65 I hope this patch help you. Eli Zaretskii writes: > But these are still speculations. Let's first determine (1) where and > why does temacs crash, and (2) could only one of these DLLs be > loaded, and cause an automatic loading of the other. (1) In my case, crashed at imagemagick-types in image.c. imagemagick-register-types is called in image.el and finally imagemagick-types in image.c is called, but at this time, imagemagick functions are not initialized yet. then temacs crash. I add init_imagemagick_functons to imagemagick-types. And, for imagemagick-register-types to work well, there was a need to load image.el after w32-win.el in loadup.el because dynamic-library-alist is set in w32-win.el. (2) Yes, libMagickWand-XXX.dll depend on libMagickCore-XXX.dll and libMagickCore-XXX.dll is automatically loaded when load libMagickWand-XXX.dll. But some functions used in image.c is in libMagickCore-XXX.dll. To get these functions by GetProcAddress, need to load libMagickCore-XXX.dll separately. Although is not a smart way, I add two DLLs as below to dynamic-library-alist and load each library separately. (My imagemagick is built without --enable-hdri.) '(magickwand "libMagickWand-6.Q16-2.dll") '(magickcore "libMagickCore-6.Q16-2.dll")