This function can be called to set the C locale; if you set the locale in any other way, then Lisp might not do the right thing when passing strings and characters to C. It calls
setlocale
to tell the C library to switch and then calls
set-locale-encodings to tell the FLI what conversions to do when passing strings and characters to C. The
locale
argument should be a locale name; if not passed, it defaults according to the OS conventions.
If
set-locale
fails to set the C locale, a warning is signaled,
nil
is returned and the FLI conversion defaults are not modified.
convert-from-foreign-string
convert-to-foreign-string
:ef-mb-string
:ef-wc-string
*locale-external-formats*
set-locale-encodings
with-foreign-string