\U expansion in single-byte locale

2023-05-26 Thread Grisha Levit
If expanding a \u (or \U) escape sequence fails, Bash replaces the input escape sequence with a newly generated one: $ LC_ALL=C printf %b \\U80 \u0080 Since this new sequence may by longer than the input, it can cause an overflow in printf: $ bash-asan -c 'LC_ALL=C printf %b \\U80' ERROR: Addres

ctype.h functions on bytes 0x80..0xFF

2023-05-26 Thread Grisha Levit
On Mon, May 1, 2023 at 11:48 AM Chet Ramey wrote: > > (And once we get these issues straightened out, if you look back to your > original example, 0x240 is a blank in my locale, en_US.UTF-8, and will be > removed from the input stream by the parser unless it's quoted.) On at least recent macos ve

Re: EOF at PS2

2023-05-26 Thread Chet Ramey
On 4/26/23 5:38 PM, Grisha Levit wrote: A few issues with EOF being received at PS2: I finally had a chance to check out the ksh88 behavior on a Solaris 10 VM. It's pretty bizarre, but it does point to some improvements when ignoreeof is enabled. It seems like the POSIX committee wanted the ksh