diff --git a/libguile/i18n.c b/libguile/i18n.c index 6f75966a1..47179d178 100644 --- a/libguile/i18n.c +++ b/libguile/i18n.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2006-2014 Free Software Foundation, Inc. +/* Copyright (C) 2006-2014, 2017 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 @@ -1567,7 +1567,8 @@ SCM_DEFINE (scm_nl_langinfo, "nl-langinfo", 1, 1, 0, #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 + defined P_SEP_BY_SPACE || defined N_SEP_BY_SPACE || \ + defined INT_P_SEP_BY_SPACE || defined INT_N_SEP_BY_SPACE #ifdef P_CS_PRECEDES case P_CS_PRECEDES: case N_CS_PRECEDES: @@ -1580,8 +1581,12 @@ SCM_DEFINE (scm_nl_langinfo, "nl-langinfo", 1, 1, 0, case P_SEP_BY_SPACE: case N_SEP_BY_SPACE: #endif - /* This is to be interpreted as a boolean. */ - result = scm_from_bool (*c_result); +#ifdef INT_P_SEP_BY_SPACE + case INT_P_SEP_BY_SPACE: + case INT_N_SEP_BY_SPACE: +#endif + /* This is to be interpreted as a boolean. */ + result = scm_from_bool (*c_result); free (c_result); break; diff --git a/test-suite/tests/i18n.test b/test-suite/tests/i18n.test index 478a0c3c7..a20651120 100644 --- a/test-suite/tests/i18n.test +++ b/test-suite/tests/i18n.test @@ -524,6 +524,18 @@ (else #f)))))) + (pass-if "locale-positive-separated-by-space?" + ;; In any locale, this must be a boolean. + (let ((result (locale-positive-separated-by-space? #f))) + (or (eqv? #t result) + (eqv? #f result)))) + + (pass-if "locale-positive-separated-by-space? (international)" + ;; In any locale, this must be a boolean. + (let ((result (locale-positive-separated-by-space? #t))) + (or (eqv? #t result) + (eqv? #f result)))) + (pass-if "locale-monetary-grouping" ;; In the C locale, there is no rule for grouping of digits ;; of monetary values.