diff options
Diffstat (limited to 'src/pl/plperl/plperl.h')
-rw-r--r-- | src/pl/plperl/plperl.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/pl/plperl/plperl.h b/src/pl/plperl/plperl.h index 09a77dc0b7b..e94a4c345bd 100644 --- a/src/pl/plperl/plperl.h +++ b/src/pl/plperl/plperl.h @@ -39,6 +39,11 @@ #undef printf /* + * Perl scribbles on the "_" macro too. + */ +#undef _ + +/* * ActivePerl 5.18 and later are MinGW-built, and their headers use GCC's * __inline__. Translate to something MSVC recognizes. Also, perl.h sometimes * defines isnan, so undefine it here and put back the definition later if @@ -140,6 +145,16 @@ #define vprintf pg_vprintf #define printf(...) pg_printf(__VA_ARGS__) +/* + * Put back "_" too; but rather than making it just gettext() as the core + * code does, make it dgettext() so that the right things will happen in + * loadable modules (if they've set up TEXTDOMAIN correctly). Note that + * we can't just set TEXTDOMAIN here, because this file is used by more + * extensions than just PL/Perl itself. + */ +#undef _ +#define _(x) dgettext(TEXTDOMAIN, x) + /* put back the definition of isnan if needed */ #ifdef _MSC_VER #ifndef isnan |