Ping! Can the changes below please be committed? Should I do that myself?
TIA > Date: Sun, 15 Jun 2014 20:23:17 +0300 > From: Eli Zaretskii <e...@gnu.org> > CC: guile-devel@gnu.org > > Here are the changes I needed for i18n.c to get the tests to succeed. > They have to do with non-portable assumptions about when the various > nl_langinfo constants are defined. E.g., there's no reason to assume > that if INT_FRAC_DIGITS isn't defined, neither will be FRAC_DIGITS. > As luck would have it, MinGW has some of these, but not the others, so > the conditionals failed, and Guile failed to convert P_SIGN_POSN to > one of the symbolic values, instead leaving it at its numerical value. > > --- libguile/i18n.c~2 2014-06-15 14:21:53 +0300 > +++ libguile/i18n.c 2014-06-15 14:58:09 +0300 > @@ -1583,9 +1583,13 @@ SCM_DEFINE (scm_nl_langinfo, "nl-langinf > } > #endif > > -#if (defined FRAC_DIGITS) && (defined INT_FRAC_DIGITS) > +#if defined FRAC_DIGITS || defined INT_FRAC_DIGITS > +#ifdef FRAC_DIGITS > case FRAC_DIGITS: > +#endif > +#ifdef INT_FRAC_DIGITS > case INT_FRAC_DIGITS: > +#endif > /* This is to be interpreted as a single integer. */ > if (*c_result == CHAR_MAX) > /* Unspecified. */ > @@ -1597,12 +1601,18 @@ SCM_DEFINE (scm_nl_langinfo, "nl-langinf > break; > #endif > > -#if (defined P_CS_PRECEDES) && (defined INT_N_CS_PRECEDES) > +#if defined P_CS_PRECEDES || defined N_CS_PRECEDES || \ > + defined INT_P_CS_PRECEDES || defined INT_N_CS_PRECEDES || \ > + defined P_SEP_BY_SPACE || defined N_SEP_BY_SPACE > +#ifdef P_CS_PRECEDES > case P_CS_PRECEDES: > case N_CS_PRECEDES: > +#endif > +#ifdef INT_N_CS_PRECEDES > case INT_P_CS_PRECEDES: > case INT_N_CS_PRECEDES: > -#if (defined P_SEP_BY_SPACE) && (defined N_SEP_BY_SPACE) > +#endif > +#ifdef P_SEP_BY_SPACE > case P_SEP_BY_SPACE: > case N_SEP_BY_SPACE: > #endif > @@ -1613,11 +1623,16 @@ SCM_DEFINE (scm_nl_langinfo, "nl-langinf > break; > #endif > > -#if (defined P_SIGN_POSN) && (defined INT_N_SIGN_POSN) > +#if defined P_SIGN_POSN || defined N_SIGN_POSN || \ > + defined INT_P_SIGN_POSN || defined INT_N_SIGN_POSN > +#ifdef P_SIGN_POSN > case P_SIGN_POSN: > case N_SIGN_POSN: > +#endif > +#ifdef INT_P_SIGN_POSN > case INT_P_SIGN_POSN: > case INT_N_SIGN_POSN: > +#endif > /* See `(libc) Sign of Money Amount' for the interpretation of the > return value here. */ > switch (*c_result) > >