coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] printf: add %#s alias to %b


From: William Bader
Subject: Re: [PATCH] printf: add %#s alias to %b
Date: Wed, 6 Sep 2023 02:13:44 +0000

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.com@gnu.org 
<coreutils-bounces+williambader=hotmail.com@gnu.org> on behalf of Chet Ramey 
<chet.ramey@case.edu>
Sent: Tuesday, September 5, 2023 4:44 PM
To: Dragan Simic <dsimic@manjaro.org>
Cc: chet.ramey@case.edu <chet.ramey@case.edu>; enh <enh@google.com>; Eric Blake 
<eblake@redhat.com>; Rob Landley <rob@landley.net>; coreutils@gnu.org 
<coreutils@gnu.org>; bug-bash@gnu.org <bug-bash@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.ramey@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    chet@case.edu    http://tiswww.cwru.edu/~chet/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]