summaryrefslogtreecommitdiff
path: root/libguile
diff options
context:
space:
mode:
authorMichael Gran <spk121@yahoo.com>2019-02-23 16:33:50 -0800
committerMichael Gran <spk121@yahoo.com>2019-02-23 16:33:50 -0800
commit92105d13ad1363b511214589b7d62d95304beb17 (patch)
treedce678d260679afdd928d40fc86a8fd98211f893 /libguile
parent9ba449643d4c2ac1d2174befca7d765af222bcc0 (diff)
Handle newlib C library's langinfo constant names
The newlib C library (used in Cygwin) has alternative names for nl_langinfo GNU extensions * configure.ac (_NL_NUMERIC_GROUPING): new test * libguile/i18n.c (INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP) (MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, GROUPING, INT_FRAC_DIGITS) (FRAC_DIGITS, P_CS_PRECEDES, P_SEP_BY_SPACE, N_CS_PRECEDES, N_SEP_BY_SPACE) (P_SIGN_POSN, N_SIGN_POSN, INT_P_CS_PRECEDES, INT_P_SEP_BY_SPACE) (INT_N_CS_PRECEDES, INT_N_SEP_BY_SPACE, INT_P_SIGN_POSN, INT_N_SIGN_POSN) [HAVE_DECL__NL_NUMERIC_GROUPING]: map to newlib C constants, when present
Diffstat (limited to 'libguile')
-rw-r--r--libguile/i18n.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/libguile/i18n.c b/libguile/i18n.c
index 47179d178..6c87fdaae 100644
--- a/libguile/i18n.c
+++ b/libguile/i18n.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006-2014, 2017 Free Software Foundation, Inc.
+/* Copyright (C) 2006-2014, 2017, 2019 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -71,6 +71,31 @@ setlocale (int category, const char *name)
}
#endif
+/* The newlib C library has alternative names for locale constants. */
+#if HAVE_DECL__NL_NUMERIC_GROUPING
+#define INT_CURR_SYMBOL _NL_MONETARY_INT_CURR_SYMBOL
+#define MON_DECIMAL_POINT _NL_MONETARY_MON_DECIMAL_POINT
+#define MON_THOUSANDS_SEP _NL_MONETARY_MON_THOUSANDS_SEP
+#define MON_GROUPING _NL_MONETARY_MON_GROUPING
+#define POSITIVE_SIGN _NL_MONETARY_POSITIVE_SIGN
+#define NEGATIVE_SIGN _NL_MONETARY_NEGATIVE_SIGN
+#define GROUPING _NL_NUMERIC_GROUPING
+#define INT_FRAC_DIGITS _NL_MONETARY_INT_FRAC_DIGITS
+#define FRAC_DIGITS _NL_MONETARY_FRAC_DIGITS
+#define P_CS_PRECEDES _NL_MONETARY_P_CS_PRECEDES
+#define P_SEP_BY_SPACE _NL_MONETARY_P_SEP_BY_SPACE
+#define N_CS_PRECEDES _NL_MONETARY_N_CS_PRECEDES
+#define N_SEP_BY_SPACE _NL_MONETARY_N_SEP_BY_SPACE
+#define P_SIGN_POSN _NL_MONETARY_P_SIGN_POSN
+#define N_SIGN_POSN _NL_MONETARY_N_SIGN_POSN
+#define INT_P_CS_PRECEDES _NL_MONETARY_INT_P_CS_PRECEDES
+#define INT_P_SEP_BY_SPACE _NL_MONETARY_INT_P_SEP_BY_SPACE
+#define INT_N_CS_PRECEDES _NL_MONETARY_INT_N_CS_PRECEDES
+#define INT_N_SEP_BY_SPACE _NL_MONETARY_INT_N_SEP_BY_SPACE
+#define INT_P_SIGN_POSN _NL_MONETARY_INT_P_SIGN_POSN
+#define INT_N_SIGN_POSN _NL_MONETARY_INT_N_SIGN_POSN
+#endif
+
/* Helper stringification macro. */
#define SCM_I18N_STRINGIFY(_name) # _name