|
From: | Maxim Nikulin |
Subject: | Re: bug#47885: [PATCH] org-table-import: Make it more smarter for interactive use |
Date: | Tue, 18 May 2021 19:31:16 +0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 |
The question may be risen in emacs-devel but I am unsure if I will participate in discussion.
On 18/05/2021 17:24, Utkarsh Singh wrote:
On 2021-05-16, 23:24 +0700, Maxim Nikulin wrote:On 14/05/2021 21:54, Utkarsh Singh wrote:On 2021-05-13, 00:08 +0700, Maxim Nikulin wrote:Comma is decimal separator for es_ES, de_DE, ru_RU, etc. The point is that order in which separator candidates are tried should depend on active locale.I am willing to work on this problem but before this can you identify any other locale with similar problem or a resource from where I can information's about locale.I do not think list of locales should be hard coded. I am not familiar with elisp enough to tell you if locale properties such as decimal separator are exposed through some function. I expect, it is quite probable. As a last measure, some number, e.g. 0.5 or 1.5 could be formatted using a locale-aware function and result string could be checked if it contains ",".Can you test this function: (defun org-table--comma-as-decimal-sep () "Return nil or 2 if separator is dot or comma respectively." (string-search "," (format "%f" 10)))
No, it does not work. `format' always uses dot. It is reasonable when e.g. during writing a config file or during data exchange when locales must be ignored.
I was too optimistic. I did not expect that support of locales are so poor in Emcacs. I do not see any traces of localeconv(3) in sources that would allow to get value of decimal_point directly.
Numbers are forced to use "C" locale and I have not noticed any way to override it. Initial settings:
http://git.savannah.gnu.org/cgit/emacs.git/tree/src/emacs.c#n1490 http://git.savannah.gnu.org/cgit/emacs.git/tree/src/emacs.c#n2861 setlocale (LC_NUMERIC, "C");
To test I am using: $ LANG=de_DE.UTF-8 emacs -Q But I am getting this as warning: (process:1787): Gtk-WARNING **: 15:40:49.375: Locale not supported by C library. Using the fallback 'C' locale.
You get this error due to you have not generated this locale. On debian & ubuntu
dpkg-reconfigure locales allows to select desired locales and performs all necessary actions.
[Prev in Thread] | Current Thread | [Next in Thread] |