On Thu, Jul 12, 2007 at 10:05:09AM +0100, José Matos wrote: > On Wednesday 11 July 2007 20:36:25 Enrico Forestieri wrote: > > > > Yes, this is r18988 striking again :( > > > > I don't think that this is related to the platform but rather to the > > compiler version. I think that gcc 3.x is missing some locale facets. > > > > Jean-Pierre, does the attached patch solve the bug for you? > > > > Anyway, after r18988 LyX is not so much forgiving about wrong locales. > > On Linux, try for example: > > > > $ env LC_ALL=foo ./src/lyx-qt4 > > > > and you will get that exception, too. > > Is this "(!defined(USE_WCHAR_T)" still required?
I think so, see below. > As far as I understood you argument this would be enough: > #if defined(__GNUC__) && __GNUC__ < 4) No, because it doesn't catch systems where sizeof(wchar_t) == 2 and gcc >= 4.0. > Or at least the other way around: > #if defined(__GNUC__) && __GNUC__ < 4) || (!defined(USE_WCHAR_T) This one would also catch MSVC, which AFAIK has no problem with the locale sorting. -- Enrico