mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-12 06:41:13 +02:00
Install the current locale when Guile is invoked directly.
* libguile/guile.c (main): Add `setlocale' call.
This commit is contained in:
parent
fcd68d8e88
commit
bb9b357e2b
1 changed files with 12 additions and 2 deletions
|
@ -1,5 +1,6 @@
|
||||||
/* Copyright (C) 1996,1997,2000,2001, 2006, 2008 Free Software Foundation, Inc.
|
/* Copyright (C) 1996, 1997, 2000, 2001, 2006, 2008,
|
||||||
*
|
* 2011 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public License
|
* modify it under the terms of the GNU Lesser General Public License
|
||||||
* as published by the Free Software Foundation; either version 3 of
|
* as published by the Free Software Foundation; either version 3 of
|
||||||
|
@ -36,6 +37,7 @@
|
||||||
#include <libguile/scmconfig.h>
|
#include <libguile/scmconfig.h>
|
||||||
#endif
|
#endif
|
||||||
#include <ltdl.h>
|
#include <ltdl.h>
|
||||||
|
#include <locale.h>
|
||||||
|
|
||||||
#ifdef HAVE_WINSOCK2_H
|
#ifdef HAVE_WINSOCK2_H
|
||||||
#include <winsock2.h>
|
#include <winsock2.h>
|
||||||
|
@ -67,6 +69,14 @@ inner_main (void *closure SCM_UNUSED, int argc, char **argv)
|
||||||
int
|
int
|
||||||
main (int argc, char **argv)
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
/* Install the locale right at the beginning so that string conversion
|
||||||
|
for command-line arguments, along with possible error messages, use
|
||||||
|
the right locale. See
|
||||||
|
<https://lists.gnu.org/archive/html/guile-devel/2011-11/msg00041.html>
|
||||||
|
for the rationale. */
|
||||||
|
if (setlocale (LC_ALL, "") == NULL)
|
||||||
|
fprintf (stderr, "guile: warning: failed to install locale\n");
|
||||||
|
|
||||||
scm_boot_guile (argc, argv, inner_main, 0);
|
scm_boot_guile (argc, argv, inner_main, 0);
|
||||||
return 0; /* never reached */
|
return 0; /* never reached */
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue