[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bash removes unrequested characters in bracket expressions (not a ra
From: |
Chet Ramey |
Subject: |
Re: Bash removes unrequested characters in bracket expressions (not a range). |
Date: |
Sat, 24 Nov 2018 17:32:11 -0500 |
On 11/24/18 4:32 PM, Bize Ma wrote:
> > Bash is removing characters not explicitly listed in a bracket
> > expression (character range).
> > In this example, it is removing digits from other languages.
>
> What is your locale?
>
>
> The locale used was en_US.utf-8 but also happens with 459
> locales out of 868 available under Debian (not in C, for example).
>
> Also in all locales affected (except one), setting either
> LC_ALL=$loc or LC_COLLATE=$loc did the same.
> Except in zh_CN.gb18030
>
> But IMO locale collation should not be used for an explicit list.
Collation order is used for each individual character in a bracket
expression when compared against the string, as posix specifies.
> I have been made aware that there is a
> cstart = cend = FOLD (cstart);
> inside the `sm_loop.c` file that will convert into a range many
> individual character. If that understanding is correct that is the
> source of the difference with other shells.
I'm not sure what you mean by "convert into a range." If cstart and cend
were treated as a range, the start end and end characters would be the
same. If cstart == cend, a character that collates >= cstart and <= cend
would have to collate equal to cstart and cend.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU chet@case.edu http://tiswww.cwru.edu/~chet/
- Re: Bash removes unrequested characters in bracket expressions (not a range)., Bize Ma, 2018/12/01
- Re: Bash removes unrequested characters in bracket expressions (not a range).,
Chet Ramey <=
- Re: Bash removes unrequested characters in bracket expressions (not a range)., Chet Ramey, 2018/12/03
- Re: Bash removes unrequested characters in bracket expressions (not a range)., Bize Ma, 2018/12/03
- Re: Bash removes unrequested characters in bracket expressions (not a range)., Bize Ma, 2018/12/03
- Re: Bash removes unrequested characters in bracket expressions (not a range)., Bize Ma, 2018/12/03
- Re: Bash removes unrequested characters in bracket expressions (not a range)., Chet Ramey, 2018/12/03
- Re: Bash removes unrequested characters in bracket expressions (not a range)., Chet Ramey, 2018/12/03
- Re: Bash removes unrequested characters in bracket expressions (not a range)., Chet Ramey, 2018/12/03