unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#33126: 26.1; xpm2 broken in MacOSX
@ 2018-10-23 14:02 Devon Sean McCullough
  2018-10-24 11:17 ` Alan Third
  0 siblings, 1 reply; 6+ messages in thread
From: Devon Sean McCullough @ 2018-10-23 14:02 UTC (permalink / raw)
  To: 33126

; This code inserts four images
; 1 - a correct checkerboard
; 2 - an incorrect blank image of the wrong size
; 3 - a correct "blarg"
; 4 - a correct checkerboard
; but the middle two images should look identical.

(defvar chex (create-image "/* XPM */
static char * chex_xpm[] = {
\"32 32 2 1\",
\"* c #ffff00\",
\". c #00ff00\",
\"****....****....****....****....\",
\"****....****....****....****....\",
\"****....****....****....****....\",
\"****....****....****....****....\",
\"....****....****....****....****\",
\"....****....****....****....****\",
\"....****....****....****....****\",
\"....****....****....****....****\",
\"****....****....****....****....\",
\"****....****....****....****....\",
\"****....****....****....****....\",
\"****....****....****....****....\",
\"....****....****....****....****\",
\"....****....****....****....****\",
\"....****....****....****....****\",
\"....****....****....****....****\",
\"****....****....****....****....\",
\"****....****....****....****....\",
\"****....****....****....****....\",
\"****....****....****....****....\",
\"....****....****....****....****\",
\"....****....****....****....****\",
\"....****....****....****....****\",
\"....****....****....****....****\",
\"****....****....****....****....\",
\"****....****....****....****....\",
\"****....****....****....****....\",
\"****....****....****....****....\",
\"....****....****....****....****\",
\"....****....****....****....****\",
\"....****....****....****....****\",
\"....****....****....****....****\",
};" 'xpm t)
  "32x32 pixel yellow and green checker board.")

(defvar xpm2 (create-image "! XPM2
16 7 2 1
* c #000000
. c #ffffff
**..*...........
*.*.*...........
**..*..**.**..**
*.*.*.*.*.*..*.*
**..*..**.*...**
...............*
.............**." 'xpm t)
  "The xpm2 example at https://en.wikipedia.org/wiki/X_PixMap#Comparison_with_other_formats")

(defvar xpm3 (create-image "/* XPM */
static char * blarg_xpm[] = {
\"16 7 2 1\",
\"* c #000000\",
\". c #ffffff\",
\"**..*...........\",
\"*.*.*...........\",
\"**..*..**.**..**\",
\"*.*.*.*.*.*..*.*\",
\"**..*..**.*...**\",
\"...............*\",
\".............**.\"
};" 'xpm t)
  "The xpm3 example at https://en.wikipedia.org/wiki/X_PixMap#Comparison_with_other_formats")

(progn
  (insert "\n") (insert-image chex)
  (insert "\n") (insert-image xpm2)
  (insert "\n") (insert-image xpm3)
  (insert "\n") (insert-image chex))

In GNU Emacs 26.1 (build 1, x86_64-apple-darwin14.5.0, NS appkit-1348.17 Version 10.10.5 (Build 14F2511))
 of 2018-05-31 built on builder10-10.porkrind.org
Windowing system distributor 'Apple', version 10.3.1404
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.

Configured using:
 'configure --with-ns '--enable-locallisppath=/Library/Application
 Support/Emacs/${version}/site-lisp:/Library/Application
 Support/Emacs/site-lisp' --with-modules'

Configured features:
NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS MODULES THREADS

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv
bytecomp byte-compile cconv cl-loaddefs cl-lib dired dired-loaddefs
format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg
epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils elec-pair time-date
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/ns-win ns-win ucs-normalize mule-util term/common-win
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core term/tty-colors frame cl-generic
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote kqueue cocoa ns
multi-tty make-network-process emacs)

Memory information:
((conses 16 204288 9229)
 (symbols 48 20206 1)
 (miscs 40 70 171)
 (strings 32 28845 1721)
 (string-bytes 1 764502)
 (vectors 16 35070)
 (vector-slots 8 718022 13590)
 (floats 8 48 72)
 (intervals 56 205 0)
 (buffers 992 12))






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#33126: 26.1; xpm2 broken in MacOSX
  2018-10-23 14:02 bug#33126: 26.1; xpm2 broken in MacOSX Devon Sean McCullough
@ 2018-10-24 11:17 ` Alan Third
  2018-10-24 15:06   ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Alan Third @ 2018-10-24 11:17 UTC (permalink / raw)
  To: Devon Sean McCullough; +Cc: 33126

[-- Attachment #1: Type: text/plain, Size: 658 bytes --]

On Tue, Oct 23, 2018 at 10:02:06PM +0800, Devon Sean McCullough wrote:
> ; This code inserts four images
> ; 1 - a correct checkerboard
> ; 2 - an incorrect blank image of the wrong size
> ; 3 - a correct "blarg"
> ; 4 - a correct checkerboard
> ; but the middle two images should look identical.

Confirmed. I found this in image.c:

/* XPM support functions for NS where libxpm is not available.
   Only XPM version 3 (without any extensions) is supported.  */

I suppose to get xpm2 support you’ll have to find a version of libxpm
somewhere.

There is an error logged in *Messages*, perhaps it should specify XPM3
per the attached patch.
-- 
Alan Third

[-- Attachment #2: 0001-Improve-XPM-load-failure-message-bug-33126.patch --]
[-- Type: text/plain, Size: 758 bytes --]

From 9d9b85529bbd560305e4bcc3823aad23e393ee74 Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Wed, 24 Oct 2018 12:15:16 +0100
Subject: [PATCH] Improve XPM load failure message (bug#33126)

* src/image.c (xpm_load_image): Only XPM3 is supported, so make that
explicit.
---
 src/image.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/image.c b/src/image.c
index 767979e63b..a6b2d9060b 100644
--- a/src/image.c
+++ b/src/image.c
@@ -4308,7 +4308,7 @@ xpm_load_image (struct frame *f,
   return 1;
 
  failure:
-  image_error ("Invalid XPM file (%s)", img->spec);
+  image_error ("Invalid XPM3 file (%s)", img->spec);
   x_destroy_x_image (ximg);
   x_destroy_x_image (mask_img);
   x_clear_image (f, img);
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#33126: 26.1; xpm2 broken in MacOSX
  2018-10-24 11:17 ` Alan Third
@ 2018-10-24 15:06   ` Eli Zaretskii
  2018-10-25 10:04     ` Alan Third
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2018-10-24 15:06 UTC (permalink / raw)
  To: Alan Third; +Cc: Emacs-Hacker2018, 33126

> Date: Wed, 24 Oct 2018 12:17:36 +0100
> From: Alan Third <alan@idiocy.org>
> Cc: 33126@debbugs.gnu.org
> 
> Confirmed. I found this in image.c:
> 
> /* XPM support functions for NS where libxpm is not available.
>    Only XPM version 3 (without any extensions) is supported.  */
> 
> I suppose to get xpm2 support you’ll have to find a version of libxpm
> somewhere.
> 
> There is an error logged in *Messages*, perhaps it should specify XPM3
> per the attached patch.

Yes.  In addition, I'd add an entry about this in PROBLEMS.

Thanks.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#33126: 26.1; xpm2 broken in MacOSX
  2018-10-24 15:06   ` Eli Zaretskii
@ 2018-10-25 10:04     ` Alan Third
  2018-10-25 13:20       ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Alan Third @ 2018-10-25 10:04 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs-Hacker2018, 33126

[-- Attachment #1: Type: text/plain, Size: 812 bytes --]

On Wed, Oct 24, 2018 at 06:06:13PM +0300, Eli Zaretskii wrote:
> > Date: Wed, 24 Oct 2018 12:17:36 +0100
> > From: Alan Third <alan@idiocy.org>
> > Cc: 33126@debbugs.gnu.org
> > 
> > Confirmed. I found this in image.c:
> > 
> > /* XPM support functions for NS where libxpm is not available.
> >    Only XPM version 3 (without any extensions) is supported.  */
> > 
> > I suppose to get xpm2 support you’ll have to find a version of libxpm
> > somewhere.
> > 
> > There is an error logged in *Messages*, perhaps it should specify XPM3
> > per the attached patch.
> 
> Yes.  In addition, I'd add an entry about this in PROBLEMS.

Done. I created a subsection for macOS, although I’m not sure if this
is actually a macOS specific issue, or general to systems lacking X11
libraries (MS Windows?).
-- 
Alan Third

[-- Attachment #2: 0001-Improve-XPM-load-failure-message-bug-33126.patch --]
[-- Type: text/plain, Size: 1288 bytes --]

From d0ecdda6b173d125547bd2efca347279c70f6eda Mon Sep 17 00:00:00 2001
From: Alan Third <alan@idiocy.org>
Date: Wed, 24 Oct 2018 12:15:16 +0100
Subject: [PATCH] Improve XPM load failure message (bug#33126)

* src/image.c (xpm_load_image): Only XPM3 is supported, so make that
explicit.
---
 etc/PROBLEMS | 7 +++++++
 src/image.c  | 2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 7dfafe04de..45370512ca 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -2616,6 +2616,13 @@ please call support for your X-server and see if you can get a fix.
 If you do, please send it to bug-gnu-emacs@gnu.org so we can list it here.
 
 
+* Runtime problems specific to macOS
+
+** macOS doesn't come with libxmp, so only XPM3 is supported.
+
+Libxpm is available for macOS as part of the XQuartz project.
+
+
 * Build-time problems
 
 ** Configuration
diff --git a/src/image.c b/src/image.c
index 767979e63b..a6b2d9060b 100644
--- a/src/image.c
+++ b/src/image.c
@@ -4308,7 +4308,7 @@ xpm_load_image (struct frame *f,
   return 1;
 
  failure:
-  image_error ("Invalid XPM file (%s)", img->spec);
+  image_error ("Invalid XPM3 file (%s)", img->spec);
   x_destroy_x_image (ximg);
   x_destroy_x_image (mask_img);
   x_clear_image (f, img);
-- 
2.18.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#33126: 26.1; xpm2 broken in MacOSX
  2018-10-25 10:04     ` Alan Third
@ 2018-10-25 13:20       ` Eli Zaretskii
  2018-10-25 15:15         ` Alan Third
  0 siblings, 1 reply; 6+ messages in thread
From: Eli Zaretskii @ 2018-10-25 13:20 UTC (permalink / raw)
  To: Alan Third; +Cc: Emacs-Hacker2018, 33126

> Date: Thu, 25 Oct 2018 11:04:52 +0100
> From: Alan Third <alan@idiocy.org>
> Cc: Emacs-Hacker2018@jovi.net, 33126@debbugs.gnu.org
> 
> Done. I created a subsection for macOS, although I’m not sure if this
> is actually a macOS specific issue, or general to systems lacking X11
> libraries (MS Windows?).

The MS Windows build of Emacs uses a hacked version of the X11 libxpm
library, so this problem doesn't exist there.

> +* Runtime problems specific to macOS
> +
> +** macOS doesn't come with libxmp, so only XPM3 is supported.
                              ^^^^^^
A typo.





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#33126: 26.1; xpm2 broken in MacOSX
  2018-10-25 13:20       ` Eli Zaretskii
@ 2018-10-25 15:15         ` Alan Third
  0 siblings, 0 replies; 6+ messages in thread
From: Alan Third @ 2018-10-25 15:15 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs-Hacker2018, 33126-done

On Thu, Oct 25, 2018 at 04:20:23PM +0300, Eli Zaretskii wrote:
> > Date: Thu, 25 Oct 2018 11:04:52 +0100
> > From: Alan Third <alan@idiocy.org>
> > Cc: Emacs-Hacker2018@jovi.net, 33126@debbugs.gnu.org
> > 
> > Done. I created a subsection for macOS, although I’m not sure if this
> > is actually a macOS specific issue, or general to systems lacking X11
> > libraries (MS Windows?).
> 
> The MS Windows build of Emacs uses a hacked version of the X11 libxpm
> library, so this problem doesn't exist there.
> 
> > +* Runtime problems specific to macOS
> > +
> > +** macOS doesn't come with libxmp, so only XPM3 is supported.
>                               ^^^^^^
> A typo.

Sorted and pushed, thanks.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-10-25 15:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-10-23 14:02 bug#33126: 26.1; xpm2 broken in MacOSX Devon Sean McCullough
2018-10-24 11:17 ` Alan Third
2018-10-24 15:06   ` Eli Zaretskii
2018-10-25 10:04     ` Alan Third
2018-10-25 13:20       ` Eli Zaretskii
2018-10-25 15:15         ` Alan Third

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).