The Emacs Elisp reader only works with locales that have "." as their
decimal separator, but Prolog initialization sets up the locale
according to the environment variables. Therefore we need to reset
the locale after initializing Prolog in case the environment
prescribes a locale with a different decimal separator, such as fr_FR.
See also https://github.com/SWI-Prolog/packages-sweep/issues/1
"--no-signals"
"-g"
"create_prolog_flag(sweep,true,[access(read_only),type(boolean)])"
+ ;; SWI-Prolog does its own locale initialization, but Emacs's
+ ;; Elisp reader only works with certain values of LC_NUMERIC,
+ ;; so we need to reset it after loading Prolog. This is
+ ;; basically emulating fixup_locale from src/emacs.c:
+ "-g" "setlocale(numeric, _, 'C')"
"-O"
"-l"
(expand-file-name