Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #14873 > unrolled thread
| Started by | Chet Ramey <chet.ramey@case.edu> |
|---|---|
| First post | 2018-11-24 17:32 -0500 |
| Last post | 2018-11-24 17:32 -0500 |
| Articles | 1 — 1 participant |
Back to article view | Back to gnu.bash.bug
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: Bash removes unrequested characters in bracket expressions (not a range). Chet Ramey <chet.ramey@case.edu> - 2018-11-24 17:32 -0500
| From | Chet Ramey <chet.ramey@case.edu> |
|---|---|
| Date | 2018-11-24 17:32 -0500 |
| Subject | Re: Bash removes unrequested characters in bracket expressions (not a range). |
| Message-ID | <mailman.5069.1543846704.1284.bug-bash@gnu.org> |
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/
Back to top | Article view | gnu.bash.bug
csiph-web