bug-coreutils
[Top][All Lists]
Advanced

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

Re: /usr/bin/printf: invalid universal character name


From: Jim Meyering
Subject: Re: /usr/bin/printf: invalid universal character name
Date: Thu, 15 May 2008 08:47:33 +0200

"Hermann Peifer" <address@hidden> wrote:

> Jim Meyering <address@hidden> wrote:
>> Bruno Haible <address@hidden> wrote:
>> > Jim Meyering wrote:
>> >> Paul Eggert added this feature 8 years ago
>> >
>> > Well, all honours to Paul, but this feature I did submit to you on
>> 2000-02-02.
>>
>> Oh!  Sorry to misattribute that.
>> I looked at the wrong ChangeLog entry.
>>
>> >> I don't know the motivation for those exceptions.
>> >
>> > The motivation is that the ISO C 99 standard has these exceptions:
>> >
>> >   ISO C 99, 6.4.3(2):
>> >   "Constraints
>> >    A universal character name shall not specify a character whose short
>> >    identifier is less than 00A0 other than 0024 ($), 0040 (@), or 0060
>> (`),
>> >    nor one in the range D800 through DFFF inclusive."
>> >
>> > and I find it undesirable to have different variants of the same concept
>> in
>> ...
>> Thanks for explaining.
>>
>> > You are entitled to your opinion. So that you cannot call it "bugs" any
>> more,
>> > I propose to make the restriction explicit in the coreutils manual:
>> >
>
> OK. Fine. I am ready to change my opinion and regard the issue as a feature, 
> rather than a bug.
>
> I only have a simple user perspective and don't know much about C 99. I was 
> only wondering:
>
> Why does /usr/bin/printf "\x41\n" print 'A' and  /usr/bin/printf "\u0041\n" 
> reports: 'invalid universal character name \u0041'

The former is simply printing an 8-bit hexadecimal
value and has nothing to do with Unicode.  The latter
is requesting a locale-dependent transformation.




reply via email to

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