On Tue, 2009-08-11 at 17:54 +0200, Ludovic Courtès wrote: > I also noticed another problem (x86_64-unknown-linux-gnu): > > --8<---------------cut here---------------start------------->8--- > scheme@(guile-user)> (string=? "\u0100\u0101\x0102" "\u0100\u0101\x0102") > > Backtrace: > In unknown file: > ?: 0* [#<vm 7fc03c042ff0> #<program 7fc0349061c0 at <unknown port>:4:0 ()>] > 5: 1* [#<program 7fc0349061c0 at <unknown port>:4:0 ()>] > ?: 2* [string=? "\u0100\u0101\x0102" "\u0100\u0101\x0102"] > > ERROR: In procedure string=?: > ERROR: Invalid read access of chars of wide string: "\u0100\u0101\x0102" > --8<---------------cut here---------------end--------------->8--- > > It's not a regression strictly speaking, but still. Mike? :-)
All of srfi-13.c isn't ready to operate on non-8-bit strings. string=? calls MY_VALIDATE_SUBSTRING_SPEC_COPY, which calls scm_i_string_chars. scm_i_string_chars either returns a pointer to the Latin-1 strings or errors with the error you saw. -Mike