From: Holger Arnold <holgerar@gmail.com>
To: 12392@debbugs.gnu.org
Subject: bug#12392: emacs-gtk misinterprets floating-point numbers under certain locales on openSUSE 12.2
Date: Fri, 21 Sep 2012 11:59:55 +0200 [thread overview]
Message-ID: <CA+yMSAdt_15X-4romapozctJqiWiFQYyBHR0WMr9Co2xDb8oCw@mail.gmail.com> (raw)
In-Reply-To: <5051974D.2020106@cs.ucla.edu>
2012/9/13 Paul Eggert <eggert@cs.ucla.edu>:
> This particular problem looks like it's probably an OpenSUSE bug, but
> in general one cannot combine LC_NUMERIC=C with random encodings in
> LC_CTYPE. It's safer if Emacs uses the C locale when parsing floating
> point numbers.
No, it's an Emacs bug, actually two of them:
1. Emacs changes the locale _after_ GTK has been initialized, which,
according to the GTK docs, "may produce inconsistent results and is
not really supported" (see
http://developer.gnome.org/gtk/stable/gtk-General.html#gtk-set-locale).
2. To make the parsing (and printing?) of number literals in Emacs
Lisp locale-dependent is the wrong approach.
What is happening here is that, after Emacs's second call to
fixup_locale() (after initializing GTK), a module implicitly loaded by
GTK (GStreamer in this case, accessed by GTK via libcanberra) calls
setlocale(LC_ALL, "") again. The GTK docs explicitly say that such
things may happen.
Note that inserting gtk_disable_setlocale() before gtk_init() does not
help because this setting does not transcend to the loaded module.
A quick work-around is to start Emacs with LC_NUMERIC set to "C".
The long-term solution would be to fix Emacs's Lisp parser so that it
does not depend on the current locale. Hard-setting the locale to "C"
is bad style because it ignores the user's interface preferences.
next prev parent reply other threads:[~2012-09-21 9:59 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-09 7:37 bug#12392: 24.2; emacs-gtk misinterprets floating-point numbers under certain locales on openSUSE 12.2 Achim Gratz
2012-09-09 7:43 ` Achim Gratz
2012-09-09 8:09 ` Achim Gratz
2012-09-09 8:30 ` Achim Gratz
2012-09-10 17:37 ` Jan Djärv
2012-09-10 19:00 ` Achim Gratz
2012-09-13 8:20 ` bug#12392: " Paul Eggert
2012-09-13 17:59 ` Achim Gratz
2012-09-14 15:58 ` Achim Gratz
2012-09-21 9:59 ` Holger Arnold [this message]
2012-09-22 6:19 ` Achim Gratz
2012-09-22 14:38 ` Holger Arnold
2012-09-22 15:08 ` Andreas Schwab
2012-09-22 15:49 ` Holger Arnold
2012-09-22 16:07 ` Eli Zaretskii
2012-09-22 17:04 ` Holger Arnold
2012-09-22 17:19 ` Jan Djärv
2012-09-22 17:22 ` Jan Djärv
2012-09-22 16:54 ` Jan Djärv
2012-09-22 16:55 ` Jan Djärv
2012-09-22 17:00 ` Holger Arnold
2012-09-23 10:04 ` Jan Djärv
2012-09-23 17:27 ` Achim Gratz
2012-09-23 19:58 ` Holger Arnold
2012-09-22 16:56 ` Holger Arnold
2012-09-22 16:02 ` Eli Zaretskii
2012-09-22 16:38 ` Holger Arnold
2012-09-22 16:41 ` Eli Zaretskii
2012-09-22 16:54 ` Holger Arnold
2012-09-22 17:10 ` Eli Zaretskii
2012-09-22 17:18 ` Holger Arnold
2012-09-22 19:02 ` Eli Zaretskii
2012-09-22 19:44 ` Holger Arnold
2012-09-22 16:36 ` Achim Gratz
2012-10-07 10:57 ` Holger Arnold
2012-09-21 20:08 ` Holger Arnold
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CA+yMSAdt_15X-4romapozctJqiWiFQYyBHR0WMr9Co2xDb8oCw@mail.gmail.com \
--to=holgerar@gmail.com \
--cc=12392@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.