Hi all, I am facing the problem related to locale, when the host locale doesn't match with the server locale.
The reason is that I have an uncommon setting of the environment variable LC_TIME, which is set to en_DK.utf8 [1]. To avoid this problem I have to call mosh as below LC_TIME= mosh <server> and everything work properly. Looking at the code, I noticed that in set_native_locale(), it is called setlocale( LC_ALL, "" ). Unfortunately this function fails even if *one* setting of the LC_* doesn't match. This is what I saw. However I suppose that mosh should care only about the LC_CTYPE setting. If so, the following patch should narrow the cases where mosh fails when the environments differ. diff --git a/src/util/locale_utils.cc b/src/util/locale_utils.cc index 11923ff..9e9eb0c 100644 --- a/src/util/locale_utils.cc +++ b/src/util/locale_utils.cc @@ -95,7 +95,7 @@ bool is_utf8_locale( void ) { void set_native_locale( void ) { /* Adopt native locale */ - if ( NULL == setlocale( LC_ALL, "" ) ) { + if ( NULL == setlocale( LC_CTYPE, "" ) ) { int saved_errno = errno; if ( saved_errno == ENOENT ) { LocaleVar ctype( get_ctype() ); In my case it works, but I don't know very well how mosh interact with locale. Comments ? BR G.Baroncelli [1] For the record, I have this setting to see in thunderbird a "date which is readable.... but this is another story. -- gpg @keyserver.linux.it: Goffredo Baroncelli (kreijackATinwind.it> Key fingerprint BBF5 1610 0B64 DAC6 5F7D 17B2 0EDA 9B37 8B82 E0B5 _______________________________________________ mosh-devel mailing list mosh-devel@mit.edu http://mailman.mit.edu/mailman/listinfo/mosh-devel