From: Daiki Ueno Date: Wed, 16 Jul 2014 04:31:31 +0000 (+0900) Subject: Move back the XChar2b definition to w32gui.h and nsgui.h X-Git-Tag: emacs-25.0.90~2636^2~13 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=7ec2c0effc0ad7ed27ed9b040e75bd953d65fedc;p=emacs.git 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. --- 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