From 7ec2c0effc0ad7ed27ed9b040e75bd953d65fedc Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Wed, 16 Jul 2014 13:31:31 +0900 Subject: [PATCH] Move back the XChar2b definition to w32gui.h and nsgui.h Fix the last change. XChar2b still needs to be defined platform dependently, to match with the argument types of drawing functions. --- src/ChangeLog | 8 ++++---- src/dispextern.h | 2 -- src/nsgui.h | 8 ++++++++ src/w32gui.h | 2 ++ 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 70c76e34c8c..2d81cf2f465 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -3,10 +3,10 @@ Consolidate XChar2b macros for the X, W32, and NS Suggested by Jan Djärv in: https://lists.gnu.org/archive/html/emacs-devel/2014-07/msg00203.html - * w32gui.h (XChar2b, STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): - Move the fallback definitions to dispextern.h. - * nsgui.h (XChar2b, STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): - Likewise. Share the same definition with W32. + * w32gui.h (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): Move the + fallback definitions to dispextern.h. + * nsgui.h (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): Likewise. + Share the same definition with W32. * xterm.h (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): Move to ... * dispextern.h (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): ... here for the consistency with W32 and NS. diff --git a/src/dispextern.h b/src/dispextern.h index 615d41d5a7f..6e8758218b4 100644 --- a/src/dispextern.h +++ b/src/dispextern.h @@ -51,8 +51,6 @@ typedef struct { char pad; } XColor; -typedef unsigned short XChar2b; - #define STORE_XCHAR2B(chp, b1, b2) \ (*(chp) = ((XChar2b)((((b1) & 0x00ff) << 8) | ((b2) & 0x00ff)))) diff --git a/src/nsgui.h b/src/nsgui.h index b38b4482b87..3cc011f6646 100644 --- a/src/nsgui.h +++ b/src/nsgui.h @@ -58,6 +58,14 @@ typedef struct _XCharStruct int descent; } XCharStruct; +/* Fake structure from Xlib.h to represent two-byte characters. */ +#ifdef HAVE_NS +#ifndef __OBJC__ +typedef unsigned short unichar; +#endif +typedef unichar XChar2b; +#endif + /* XXX: xfaces requires these structures, but the question is are we forced to use them? */ diff --git a/src/w32gui.h b/src/w32gui.h index 8642c479be8..40a8a00346d 100644 --- a/src/w32gui.h +++ b/src/w32gui.h @@ -52,6 +52,8 @@ typedef HCURSOR Cursor; #define No_Cursor (0) +#define XChar2b wchar_t + /* Windows equivalent of XImage. */ typedef struct _XImage -- 2.39.5