Thank you for your reply. I didn't try altering anything in the program, because this problem has arisen when changing from guile-1.8 to guile-2.0 and so I am hoping it is an understood problem. FWIW I see that the following code is executed at Denemo program startup
setlocale (LC_ALL, ""); bindtextdomain(GETTEXT_PACKAGE, get_system_locale_dir ()); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); textdomain(GETTEXT_PACKAGE); so it would seem that LC_ALL is being specifically unset. The code works both under GNU/Linux and Windows using guile-1.8. Putting setlocale (LC_ALL, "C.UTF-8") in the above initialization sequence does not affect the behavior. Richard On Thu, 2013-08-22 at 14:50 +0200, Panicz Maciej Godek wrote: > 2013/8/22 Richard Shann <richard.sh...@virgin.net> > GNU/Denemo has a number of guile scripts in which wide > characters are > embedded in strings. These used to work in guile 1.8 but with > guile 2.0 > I am seeing the following error message trying to use a string > with " > " > in it (if that string will get through the email software) > > (format #t "~%=> ~A~%"" ") > ; the throw arguments are > > (scm_to_stringn cannot convert wide string to output locale 84 > #f #f) > > what is "locale 84" and how can I return to the desired > behavior? > > > > I don't know much about the internal details, but did you try > to set the locale of the environment to e.g. C.UTF-8 like that > > > $ LC_ALL="C.UTF-8" guile # or your particular script > > > (the list of possible values can be obtained by typing "locale -a" > on modern unix systems) > >