• Stephan Bergmann's avatar
    Don't set locale env vars on macOS · 56bc0b1a
    Stephan Bergmann yazdı
    macosx_getLocale (via getProcessLocale, both sal/osl/unx/osxlocale.cxx) obtains
    from the system a locale string like "en-DE".  (Whether that is even a sane and
    recommended way to obtain the system locale on macOS I don't know; but lets
    leave it at that for now.)
    
    However, setting a locale env var (LANG, LC_ALL) to such a value causes a
    constructor call std::locale("") to throw a std::runtime_error
    "collate_byname<char>::collate_byname failed to construct for ", at least on
    macOS 10.14.4.  And libdivvun (which might be bundled with a LO extension) is
    known to be hit by that, see <https://github.com/divvun/libdivvun/issues/28>
    "locale("") gives 'collate_byname<char>::collate_byname failed to construct
    for ' on LO on mac".
    
    The code setting LC_ALL/LC_CTYPE/LANG was there ever since
    8737d183 "INTEGRATION:
    CWS geordi2q14: #111934#: merge CWS ooo111fix2", but for unclear reasons.  Lets
    assume that it had no purpose (any longer).
    
    Change-Id: I0b519ad567a713d61f662aa984791db1a91c708c
    Reviewed-on: https://gerrit.libreoffice.org/70918
    Tested-by: Jenkins
    Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
    56bc0b1a
nlsupport.cxx 40.4 KB