Hi,
David Fang <[email protected]> writes:
With guile-2.0.0, I see some i18n test failures on i686- and x86_64
-pc-linux-gnu:
Which glibc version? (See ÿÿldd --versionÿÿ.)
%ldd `which guile-2.0`
libguile-2.0.so.22 => /home/davidfang/local/lib/libguile-2.0.so.22
(0x00167000)
libgc.so.1 => /home/davidfang/local/lib/libgc.so.1 (0x008bf000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x005c8000)
libdl.so.2 => /lib/libdl.so.2 (0x004bf000)
libffi.so.5 => /home/davidfang/local/lib/libffi.so.5 (0x0057c000)
libunistring.so.0 => /home/davidfang/local/lib/libunistring.so.0
(0x00366000)
libgmp.so.3 => /usr/lib/sse2/libgmp.so.3 (0x00989000)
libltdl.so.3 => /usr/lib/libltdl.so.3 (0x00ee7000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x0755a000)
libm.so.6 => /lib/tls/libm.so.6 (0x0049a000)
libc.so.6 => /lib/tls/libc.so.6 (0x005da000)
/lib/ld-linux.so.2 (0x0034f000)
and
% ldd --version `which guile-2.0`
ldd (GNU libc) 2.3.4
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
ERROR: i18n.test: number->locale-string: French: integer - arguments:
((out-of-range #f "Value out of range ~S to ~S: ~S" (0 6 7) (7)))
ERROR: i18n.test: number->locale-string: French: fraction - arguments:
((out-of-range #f "Value out of range ~S to ~S: ~S" (0 4 5) (5)))
ERROR: i18n.test: number->locale-string: French: fraction, 1 digit -
arguments: ((out-of-range #f "Value out of range ~S to ~S: ~S" (0 4 5)
(5)))
What does ÿÿlocale -a | grep FRÿÿ say on your system?
% locale -a | grep FR
br_FR
br_FR@euro
br_FR.iso88591
br_FR.iso885915@euro
br_FR.utf8
fr_FR
fr_FR@euro
fr_FR.iso88591
fr_FR.iso885915@euro
fr_FR.utf8
oc_FR
oc_FR.iso88591
oc_FR.utf8
Can you try this and report the backtrace?
(let ((fr (make-locale LC_ALL "fr_FR.utf8")))
(number->locale-string 123456 #t fr))
(If necessary, replace ÿÿfr_FR.utf8ÿÿ with the locale name you found
above.)
scheme@(guile-user)> (use-modules (ice-9 i18n))
scheme@(guile-user)> (let ((fr (make-locale LC_ALL "fr_FR.utf8")))
(number->locale-string 123456 #t fr))
ERROR: In procedure substring:
ERROR: Value out of range 0 to 6: 7
Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,bt
In ice-9/i18n.scm:
403:21 2 (number->locale-string 123456 #t #<locale 9e21960>)
263:19 1 (%number-integer-part "123456" (-1 -1 -1 -1 -1 -1 . #) "")
In unknown file:
0 (substring "123456" 0 7)
scheme@(guile-user) [1]> ,q
scheme@(guile-user)> (let ((fr (make-locale LC_ALL "fr_FR.iso88591")))
(number->locale-string 123456 #t fr))
ERROR: In procedure substring:
ERROR: Value out of range 0 to 6: 7
Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue.
scheme@(guile-user) [1]> ,q
Does this help?
Thanks for the report,
Ludoÿÿ.
David Fang
http://www.csl.cornell.edu/~fang/
http://www.achronix.com/