[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
str1 < str2 does not respect locale
From: |
wooledg |
Subject: |
str1 < str2 does not respect locale |
Date: |
8 Apr 2009 12:33:21 -0000 |
Configuration Information [Automatically generated, do not change]:
Machine: hppa2.0
OS: hpux10.20
Compiler: /net/appl/gcc-3.3/bin/gcc
Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='hppa2.0'
-DCONF_OSTYPE='hpux10.20' -DCONF_MACHTYPE='hppa2.0-hp-hpux10.20'
-DCONF_VENDOR='hp' -DLOCALEDIR='/usr/local/share/locale' -DPACKAGE='bash'
-DSHELL -DHAVE_CONFIG_H -DHPUX -I. -I. -I./include -I./lib -I./lib/intl
-I/var/tmp/bash-4.0/lib/intl -g -O2
uname output: HP-UX imadev B.10.20 A 9000/785 2008897791 two-user license
Machine Type: hppa2.0-hp-hpux10.20
Bash Version: 4.0
Patch Level: 10
Release Status: release
Description:
Strings compared with [[ string1 < string2 ]] are supposed to use
the current locale, but they don't.
Repeat-By:
imadev:/tmp/greg$ ls
ab Ac
imadev:/tmp/greg$ [[ ab < Ac ]]; echo $?
1
imadev:/tmp/greg$ locale
LANG=en_US.iso88591
LC_CTYPE="en_US.iso88591"
LC_COLLATE="en_US.iso88591"
LC_MONETARY="en_US.iso88591"
LC_NUMERIC="en_US.iso88591"
LC_TIME=POSIX
LC_MESSAGES="en_US.iso88591"
LC_ALL=
Bash appears to be using "C" sorting (ASCII) here. The current locale
sorts ab before Ac, as ls shows, but bash reverses this. The exit
status from the [[ command should have been 0 (true).
This error also occurs in 2.05b and 3.2.48 (the only other versions of
bash I tested).
- str1 < str2 does not respect locale,
wooledg <=