Hello, I recently did lsb-test-core on ubuntu 16.04. There is a test that can be successful in bash 4.1 but fails in bash 4.3.
The test comment is : bash tp10.sh. The content of tp10.sh is : echo [[:xdigit:]] [[:hyphen:]]. And this test sets a multibyte locale that defines a charclass containing ''hyphen''. When I run the tp10.sh script with bash, I find that ''hyphen'' can be recognized in bash4.1 but not in bash4.3. By comparing the source code, I found that compared to bash4.1, there are 2 more lines of code in bash4.3, which in the xstrmatch() function in bash/lib/glob/smatch.c. The two lines of code are as follows: When I checked the change log at https://tiswww.case.edu/php/chet/bash/CHANGES, I guess this change may be for efficiency speedups. So I want to confirm with you whether my guess is correct, and whether this change ignores the fact that pattern does not have a multibyte character but is defined in the charclass in multibyte locales. Looking forward to your reply.