X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a6d14383a57771a334f6d0b6376dd47bf24049d..0599fe19d95bd73f11142bab6c5f90d66fc9b0b5:/include/wx/chartype.h diff --git a/include/wx/chartype.h b/include/wx/chartype.h index 73606a61e0..480d1b1e2d 100644 --- a/include/wx/chartype.h +++ b/include/wx/chartype.h @@ -1,7 +1,7 @@ /* * Name: wx/chartype.h * Purpose: Declarations of wxChar and related types - * Author: Joel Farley, Ove Kåven + * Author: Joel Farley, Ove KÃ¥ven * Modified by: Vadim Zeitlin, Robert Roebling, Ron Lee * Created: 1998/06/12 * RCS-ID: $Id$ @@ -222,7 +222,7 @@ /* ------------------------------------------------------------------------- */ -/* define _T() and related macros */ +/* define wxT() and related macros */ /* ------------------------------------------------------------------------- */ /* BSD systems define _T() to be something different in ctype.h, override it */ @@ -231,15 +231,19 @@ #undef _T #endif -/* could already be defined by tchar.h (it's quasi standard) */ -#ifndef _T +/* + wxT ("wx text") macro turns a literal string constant into a wide char + constant. It is mostly unnecessary with wx 2.9 but defined for + compatibility. + */ +#ifndef wxT #if !wxUSE_UNICODE - #define _T(x) x + #define wxT(x) x #else /* Unicode */ /* use wxCONCAT_HELPER so that x could be expanded if it's a macro */ - #define _T(x) wxCONCAT_HELPER(L, x) + #define wxT(x) wxCONCAT_HELPER(L, x) #endif /* ASCII/Unicode */ -#endif /* !defined(_T) */ +#endif /* !defined(wxT) */ /* wxS ("wx string") macro can be used to create literals using the same @@ -253,13 +257,25 @@ #define wxS(x) x #endif -/* although global macros with such names are normally bad, we want to have */ -/* another name for _T() which should be used to avoid confusion between */ -/* _T() and _() in wxWidgets sources */ -#define wxT(x) _T(x) +/* + _T() is a synonym for wxT() familiar to Windows programmers. As this macro + has even higher risk of conflicting with system headers, its use is + discouraged and you may predefine wxNO__T to disable it. Additionally, we + do it ourselves for Sun CC which is known to use it in its standard headers + (see #10660). + */ +#if defined(__SUNPRO_C) || defined(__SUNPRO_CC) + #ifndef wxNO__T + #define wxNO__T + #endif +#endif + +#if !defined(_T) && !defined(wxNO__T) + #define _T(x) wxT(x) +#endif /* a helper macro allowing to make another macro Unicode-friendly, see below */ -#define wxAPPLY_T(x) _T(x) +#define wxAPPLY_T(x) wxT(x) /* Unicode-friendly __FILE__, __DATE__ and __TIME__ analogs */ #ifndef __TFILE__