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
LispWorks Foreign Language Interface User Guide and Reference Manual - 16 Feb 2015