On Thu, 2013-08-22 at 12:14 -0700, Mike Gran wrote: > >> 2. In the inner_main of your scm_with_guile call, > > >> try calling scm_setlocale. Maybe something like this? > >> (This shouldn't make a difference, I think. > >> But, if it does, it says something interesting.) > >> > >> scm_setlocale( scm_variable_ref(scm_c_lookup("LC_ALL")), > > scm_from_locale_string("") ); > > > >> If that actually works, lemme know. > > > > I just pasted the above into the start of inner_main() and like magic, > > it has fixed the problem. Is this call ok for guile-1.8 linking too? > > I'm not 100% sure, but, I think so.
I have located a problem which arises I think when LC_ALL is not set (the actual circumstance I triggered by setting LANG to a language not installed): 8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8>< Backtrace: In ice-9/boot-9.scm: 149: 2 [catch #t #<catch-closure 19194e0> ...] 157: 1 [#<procedure 18b80f0 ()>] In unknown file: ?: 0 [catch-closure] ERROR: In procedure catch-closure: ERROR: In procedure setlocale: Invalid argument 8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8><8>< This is a pretty obscure case, but I guess some small tweak could fix it? I have installed en_US now, but I can test as follows. rshann@DebianBox:~/local/bin$ export LANG=pt_BR.utf8 rshann@DebianBox:~/local/bin$ ./denemo (process:7073): Gtk-WARNING **: Locale not supported by C library. Using the fallback 'C' locale. Backtrace: In ice-9/boot-9.scm: 149: 2 [catch #t #<catch-closure 216f4e0> ...] 157: 1 [#<procedure 210e0f0 ()>] In unknown file: ?: 0 [catch-closure] ERROR: In procedure catch-closure: ERROR: In procedure setlocale: Invalid argument Richard