From 889fe2c2b9ba5c92b7e862a4aafbd863585fd633 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar <Bram@vim.org> Date: Sun, 13 May 2018 16:23:40 +0200 Subject: [PATCH] patch 8.0.1833: X11: ":echo 3.14" gives E806 Problem: X11: ":echo 3.14" gives E806. Solution: set LC_NUMERIC to "C". (Dominique Pelle, closes #2368) --- src/gui_x11.c | 11 +++++++++++ src/version.c | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/gui_x11.c b/src/gui_x11.c index 490844969..7a5cae03e 100644 --- a/src/gui_x11.c +++ b/src/gui_x11.c @@ -1282,6 +1282,17 @@ gui_mch_init_check(void) cmdline_options, XtNumber(cmdline_options), CARDINAL &gui_argc, gui_argv); +# if defined(FEAT_FLOAT) && defined(LC_NUMERIC) + { + /* The call to XtOpenDisplay() may have set the locale from the + * environment. Set LC_NUMERIC to "C" to make sure that strtod() uses a + * decimal point, not a comma. */ + char *p = setlocale(LC_NUMERIC, NULL); + + if (p == NULL || strcmp(p, "C") != 0) + setlocale(LC_NUMERIC, "C"); + } +# endif if (app_context == NULL || gui.dpy == NULL) { gui.dying = TRUE; diff --git a/src/version.c b/src/version.c index 080ba72e3..e19b180ac 100644 --- a/src/version.c +++ b/src/version.c @@ -761,6 +761,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1833, /**/ 1832, /**/ -- 2.40.0