Has bash ever had a change before that would break valid scripts? Could the printf format change be settable by a variable or by an option like the -e/-E in echo?
Is it necessary for bash printf to match C printf? I suppose that it is already decided. Could the bash printf implementation warn if the new %b is passed something that doesn't look like a numeric string? Does shellcheck track variables well enough to warn if the new %b is passed something that doesn't look like a numeric string? Regards, William ________________________________ From: coreutils-bounces+williambader=hotmail....@gnu.org <coreutils-bounces+williambader=hotmail....@gnu.org> on behalf of Chet Ramey <chet.ra...@case.edu> Sent: Tuesday, September 5, 2023 4:44 PM To: Dragan Simic <dsi...@manjaro.org> Cc: chet.ra...@case.edu <chet.ra...@case.edu>; enh <e...@google.com>; Eric Blake <ebl...@redhat.com>; Rob Landley <r...@landley.net>; coreutils@gnu.org <coreutils@gnu.org>; bug-b...@gnu.org <bug-b...@gnu.org> Subject: Re: [PATCH] printf: add %#s alias to %b On 9/5/23 4:32 PM, Dragan Simic wrote: > On 2023-09-05 22:25, Chet Ramey wrote: >> On 9/5/23 3:58 PM, enh wrote: >>> On Fri, Sep 1, 2023 at 6:59 AM Chet Ramey <chet.ra...@case.edu> wrote: >> >>>> I think you'll find that, regardless of its origins, there are more >>>> scripts >>>> using the %b specifier than you think. >>> >>> i'd personally never heard of printf(1) %b before this thread, but >>> debian code search agrees with you: >> >> It's a POSIX invention dating from at least 1991 (P1003.2-D11). >> >> The POSIX guidance to use it as a portable way to replace SysV echo has >> dated from the same time. It's a pretty big lift to suddenly invalidate >> all that prior art. ("POSIX giveth, and POSIX taketh away."). > > Are there any official explanations why is the invalidation actually > happening now? https://lists.gnu.org/archive/html/bug-bash/2023-08/msg00112.html C23 is going to use %b to print binary literals. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, UTech, CWRU c...@case.edu http://tiswww.cwru.edu/~chet/