Your message dated Thu, 21 Mar 2024 02:25:36 +0100
with message-id <[email protected]>
and subject line Re: Bug#741699: bash: internal function "time" doesn't use
locale's decimal separator
has caused the Debian Bug report #741699,
regarding bash: internal function "time" doesn't use locale's decimal separator
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
741699: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=741699
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: bash
Version: 4.3-2
Severity: normal
Tags: patch
Built-in function time doesn't use locale's decimal separator
$ time sleep 1s
real 0m1.001s
user 0m0.000s
sys 0m0.000s
But for the Russian locale (ru_RU.UTF-8) it should use ',' as decimal separator
instead of '.'
$ LC_ALL=ru_RU.UTF-8 locale decimal_point
,
So output should be
real 0m1,001s
user 0m0,000s
sys 0m0,000s
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 3.12-1-686-pae (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash
Versions of packages bash depends on:
ii base-files 7.2
ii dash 0.5.7-4
ii debianutils 4.4
ii libc6 2.18-1
ii libtinfo5 5.9+20140118-1
Versions of packages bash recommends:
pn bash-completion <none>
Versions of packages bash suggests:
pn bash-doc <none>
-- no debconf information
Index: bash-4.3/execute_cmd.c
===================================================================
--- bash-4.3.orig/execute_cmd.c 2014-03-15 22:21:13.586568694 +0300
+++ bash-4.3/execute_cmd.c 2014-03-15 23:12:55.354513579 +0300
@@ -98,6 +98,10 @@
# include "bashhist.h"
#endif
+#if defined (HAVE_LANGINFO_RADIXCHAR)
+# include <langinfo.h>
+#endif
+
extern int dollar_dollar_pid;
extern int posixly_correct;
extern int expand_aliases;
@@ -1125,7 +1129,11 @@
and 999. */
if (prec != 0)
{
+#if defined (HAVE_LANGINFO_RADIXCHAR)
+ buf[ind++] = *nl_langinfo(RADIXCHAR);
+#else
buf[ind++] = '.';
+#endif
for (aind = 1; aind <= prec; aind++)
{
buf[ind++] = (sec_fraction / precs[aind]) + '0';
Index: bash-4.3/aclocal.m4
===================================================================
--- bash-4.3.orig/aclocal.m4 2013-10-21 01:37:50.000000000 +0300
+++ bash-4.3/aclocal.m4 2014-03-15 23:12:24.978514119 +0300
@@ -1725,6 +1725,15 @@
AC_DEFINE(HAVE_LANGINFO_CODESET)
fi
+AC_CACHE_CHECK([for nl_langinfo and RADIXCHAR], bash_cv_langinfo_radixchar,
+[AC_TRY_LINK(
+[#include <langinfo.h>],
+[char* rc = nl_langinfo(RADIXCHAR);],
+bash_cv_langinfo_radixchar=yes, bash_cv_langinfo_radixchar=no)])
+if test $bash_cv_langinfo_radixchar = yes; then
+ AC_DEFINE(HAVE_LANGINFO_RADIXCHAR)
+fi
+
dnl check for wchar_t in <wchar.h>
AC_CACHE_CHECK([for wchar_t in wchar.h], bash_cv_type_wchar_t,
[AC_TRY_COMPILE(
Index: bash-4.3/config.h.in
===================================================================
--- bash-4.3.orig/config.h.in 2013-06-30 00:35:33.000000000 +0300
+++ bash-4.3/config.h.in 2014-03-15 23:12:21.902514173 +0300
@@ -508,6 +508,9 @@
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
#undef HAVE_LANGINFO_CODESET
+/* Define if you have <langinfo.h> and nl_langinfo(RADIXCHAR). */
+#undef HAVE_LANGINFO_RADIXCHAR
+
/* Characteristics of properties exported by the kernel. */
/* Define if the kernel can exec files beginning with #! */
--- End Message ---
--- Begin Message ---
Version: 5.0-6
On Sat, 15 Mar 2014 20:44:47 +0000 Andrey Tataranovich
<[email protected]> wrote:
Package: bash
Version: 4.3-2
Severity: normal
Tags: patch
Built-in function time doesn't use locale's decimal separator
$ time sleep 1s
real 0m1.001s
user 0m0.000s
sys 0m0.000s
But for the Russian locale (ru_RU.UTF-8) it should use ',' as decimal separator
instead of '.'
$ LC_ALL=ru_RU.UTF-8 locale decimal_point
,
So output should be
real 0m1,001s
user 0m0,000s
sys 0m0,000s
Hi,
this issue seems fixed in bash 5.0-6:
$ export LC_ALL=it_IT.UTF-8
$ time sleep 1s
real 0m1,001s
user 0m0,001s
sys 0m0,000s
$ export LC_ALL=C
$ time sleep 1s
real 0m1.001s
user 0m0.001s
sys 0m0.000s
Please reopen this bug if you can still replicate this issue.
Regards,
--
Gioele Barabucci
--- End Message ---