Bug 33473

Summary: В локали ru_RU.UTF-8 контринтуитинвый порядок латинских букв
Product: Sisyphus Reporter: Anton V. Boyarshinov <boyarsh>
Component: glibc-localesAssignee: placeholder <placeholder>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: major    
Priority: P3 CC: evg, glebfm, ldv, mike, placeholder, rider, vseleznv
Version: unstable   
Hardware: all   
OS: Linux   

Description Anton V. Boyarshinov 2017-05-12 17:17:06 MSK
В локали ru_RU.UTF-8 в shell под шаблон [A-k] попадают все большие буквы и маленькие буквы от 'b' до 'k', но не 'a'!
Это ужасно!
И это приводит к совершенно неожиданным ошибкам, особенно если учесть, что выставление LC_* влияет на запускаемые программы, но не на сам shell, обрабатывающий шаблоны.
Comment 1 Dmitry V. Levin 2017-05-13 01:32:54 MSK
Контринтуитивный? Я думал, это уже все давно знают.

$ bzcat /usr/share/doc/bash-3.2.57/FAQ.bz2 | sed -n '/^E9/,/^E10/{/^E10/!p}'
E9) Why does the pattern matching expression [A-Z]* match files beginning
    with every letter except `z'?
...
Comment 2 Anton V. Boyarshinov 2017-05-15 13:11:00 MSK
(В ответ на комментарий №1)
> Контринтуитивный? Я думал, это уже все давно знают.
В офисе все присутствующие были потрясены...

> $ bzcat /usr/share/doc/bash-3.2.57/FAQ.bz2 | sed -n '/^E9/,/^E10/{/^E10/!p}'
> E9) Why does the pattern matching expression [A-Z]* match files beginning
>     with every letter except `z'?
> ...

Да я на своих машинах zsh пользуюсь, там этого безобразия нет...
Comment 3 Michael Shigorin 2017-05-16 13:47:20 MSK
(В ответ на комментарий №2)
> > Контринтуитивный? Я думал, это уже все давно знают.
> В офисе все присутствующие были потрясены...
(вдогонку) Потрясся и я.

> Да я на своих машинах zsh пользуюсь, там этого безобразия нет...
#!/bin/zsh
или там
#!/bin/bash4
?