Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #149728

Re: Unicode in C Sources

From Manfred <noname@add.invalid>
Newsgroups comp.lang.c
Subject Re: Unicode in C Sources
Date 2020-02-04 16:51 +0100
Organization Aioe.org NNTP Server
Message-ID <r1c3t4$174b$1@gioia.aioe.org> (permalink)
References (9 earlier) <r17gn4$447$1@dont-email.me> <r19avh$7l4$1@gioia.aioe.org> <r19e0i$5nv$1@dont-email.me> <r19nnk$86a$1@gioia.aioe.org> <r1a1kg$54v$1@dont-email.me>

Show all headers | View raw


On 2/3/2020 9:59 PM, James Kuyper wrote:
> On 2/3/20 1:11 PM, Manfred wrote:
>> On 2/3/2020 4:25 PM, James Kuyper wrote:
>>> On 2/3/20 9:33 AM, Manfred wrote:
> ...
>>>> The first sentence in that clause is "Each universal character name in
>>>> an identifier shall designate a character whose encoding in ISO/IEC
>>>> 10646 falls into one of the ranges specified in D.1." which suggests
>>>> that D.1 is the set of allowed characters in identifiers.
>>>
>>> No, it only means that the UCNs described in D.1 are in the set, not
>>> that they constitute the entire set. Which is good, because D.1
>>> deliberately excludes the UCNs that corresponding the basic source
>>> character set. It would be pretty odd if you weren't allowed to use
>>> "identifier" as an identifier - it consists entirely of basic source
>>> characters.
>> I meant "the set of allowed /extended/ characters in identifiers", I
>> thought this was obvious since we are only talking about extended chars
>> here.
> 
> No, that doesn't fit either. Code containing a UCN not on that list has
> undefined behavior, 

I'm sorry, just for the sake of sanity I will repeat my sentence from above:
"... which suggests that D.1 is the set of allowed (implied: extended) 
characters in identifiers".
I have no idea why you brought up the basic character set first, and now 
UCNs /not/ in D.1.

since it violates the "shall" in 6.4.2.1p3, the
> clause cited above. However, an implementation is allowed to define the
> behavior that the standard itself leaves undefined, by allowing a UCN
> that is not in that list.
> A fully conforming implementation is also allowed to support extended
> characters whose Unicode encoding is not on that list (whether or not it
> allows the corresponding UCN). It's also allowed to support extended
> characters that have no Unicode encoding (though such characters would
> be hard to find). Both of those have implementation-defined behavior
> rather than undefined behavior.
> 
[...]

>>
>> I know they are different things. Nevertheless I think it is pretty
>> ambiguous that 'π' and '\u03C0' behave differently.
> 
> For #error directives and stringizing, I think it's quite clear that
> they behave differently.

For the record (I know this one implementation and not the standard, 
just saying):
$ cat u.c
#include <stdio.h>

#define STR(x) #x

int main()
{
   printf("π: %s\n\\u03C0: %s\n",
       STR(π),
       STR(\u03C0));
}
$ cc -std=c11 -Wall -pedantic u.c && ./a.out
π: π
\u03C0: π

> 
> However, after translation phase 4, I have to agree with you in the case
> of identifiers. I was positive that the standard contained text
> somewhere requiring implementations to treat an identifier that contains
> an extended character to be treated as equivalent to an identifier that
> replaced that character with the (implementation-defined) corresponding
> UCN - but I've been unable to locate such a clause. I also believe that
> the case of the characters used in a UCN don't affect how identifiers
> match. Neither does using \U000003C0 rather than \U03C0 - but I can't
> locate corresponding text in the standard.

At least we agree on something ;)

> 
> In character constants and string literals, however, UCNs disappear
> during translation phase 5. If a source extended character and a UCN
> both get mapped to the same execution character during that phase, they
> must behave equivalently from that point onward.
> 

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Unicode in C Sources F Russell <fr@random.info> - 2020-02-01 17:12 +0000
  Re: Unicode in C Sources Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-01 17:37 +0000
    Re: Unicode in C Sources Anton Shepelev <anton.txt@gmail.com> - 2020-02-01 20:43 +0300
      Re: Unicode in C Sources Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-02-01 10:57 -0800
        Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-02 16:58 +0100
          Re: Unicode in C Sources F Russell <fr@random.info> - 2020-02-02 17:05 +0000
            Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-02 19:52 +0100
              Re: Unicode in C Sources Bart <bc@freeuk.com> - 2020-02-02 19:20 +0000
            Re: Unicode in C Sources Jorgen Grahn <grahn+nntp@snipabacken.se> - 2020-02-03 12:38 +0000
              Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-03 09:16 -0500
                Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-03 15:32 +0100
                Re: Unicode in C Sources Öö Tiib <ootiib@hot.ee> - 2020-02-03 09:01 -0800
                Re: Unicode in C Sources Jorgen Grahn <grahn+nntp@snipabacken.se> - 2020-02-03 21:15 +0000
              Re: Unicode in C Sources F Russell <fr@random.info> - 2020-02-04 02:06 +0000
              Re: Unicode in C Sources F Russell <fr@random.info> - 2020-02-04 02:19 +0000
                Re: Unicode in C Sources Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-04 02:50 +0000
                Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-04 08:16 +0100
    Re: Unicode in C Sources Bart <bc@freeuk.com> - 2020-02-01 18:10 +0000
      Re: Unicode in C Sources Richard Damon <Richard@Damon-Family.org> - 2020-02-01 15:19 -0500
        Re: Unicode in C Sources Manfred <invalid@add.invalid> - 2020-02-02 00:13 +0100
          Re: Unicode in C Sources Manfred <invalid@add.invalid> - 2020-02-02 00:46 +0100
            Re: Unicode in C Sources Bart <bc@freeuk.com> - 2020-02-02 00:24 +0000
          Re: Unicode in C Sources Richard Damon <Richard@Damon-Family.org> - 2020-02-02 08:14 -0500
            Re: Unicode in C Sources Manfred <noname@add.invalid> - 2020-02-02 17:59 +0100
              Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-02 14:44 -0500
                Re: Unicode in C Sources Manfred <noname@add.invalid> - 2020-02-02 21:49 +0100
                Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-02 16:58 -0500
                Re: Unicode in C Sources Manfred <noname@add.invalid> - 2020-02-03 15:33 +0100
                Re: Unicode in C Sources Manfred <noname@add.invalid> - 2020-02-03 15:38 +0100
                Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-03 10:25 -0500
                Re: Unicode in C Sources Manfred <noname@add.invalid> - 2020-02-03 19:11 +0100
                Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-03 15:59 -0500
                Re: Unicode in C Sources Manfred <noname@add.invalid> - 2020-02-04 16:51 +0100
                Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-04 16:05 -0500
                Re: Unicode in C Sources Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-19 12:17 -0800
      Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-02 17:09 +0100
        Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-02 14:46 -0500
          Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-02 21:39 +0100
            Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-02 17:07 -0500
              Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-03 13:12 +0100
                Re: Unicode in C Sources jacobnavia <jacob@jacob.remcomp.fr> - 2020-02-03 16:46 +0100
                Re: Unicode in C Sources Bart <bc@freeuk.com> - 2020-02-03 16:47 +0000
                Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-03 13:36 -0800
                Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-03 23:56 +0100
                Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-03 13:06 -0500
                Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-03 22:25 +0100
                Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-03 13:29 -0800
                Re: Unicode in C Sources Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-19 12:30 -0800
                Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-19 14:19 -0800
                Re: Unicode in C Sources Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-04-02 07:50 -0700
                Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-04-02 08:16 -0700
                Re: Unicode in C Sources Bart <bc@freeuk.com> - 2020-02-03 22:33 +0000
                Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-03 23:05 -0500
                Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-03 23:10 -0500
                Re: Unicode in C Sources Manfred <noname@add.invalid> - 2020-02-04 18:05 +0100
                Re: Unicode in C Sources already5chosen@yahoo.com - 2020-02-04 09:38 -0800
                Re: Unicode in C Sources Manfred <noname@add.invalid> - 2020-02-04 18:46 +0100
                Re: Unicode in C Sources James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-02-04 16:07 -0500
            Re: Unicode in C Sources Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2020-02-02 14:54 -0800
      Re: Unicode in C Sources Siri Cruise <chine.bleu@yahoo.com> - 2020-02-03 15:10 -0800
  Re: Unicode in C Sources jacobnavia <jacob@jacob.remcomp.fr> - 2020-02-03 07:47 +0100
    Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-03 14:00 +0100
      Re: Unicode in C Sources jacobnavia <jacob@jacob.remcomp.fr> - 2020-02-03 16:45 +0100
        Re: Unicode in C Sources Guillaume <message@bottle.org> - 2020-02-03 17:54 +0100
        Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-03 22:36 +0100
          Re: Unicode in C Sources jacobnavia <jacob@jacob.remcomp.fr> - 2020-02-04 16:33 +0100
            Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-04 16:45 +0100
              Re: Unicode in C Sources Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2020-02-04 13:02 -0800
                Re: Unicode in C Sources jacobnavia <jacob@jacob.remcomp.fr> - 2020-02-04 23:18 +0100
                Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-05 11:07 +0100
                Re: Unicode in C Sources Manfred <noname@add.invalid> - 2020-02-05 14:49 +0100
                Re: Unicode in C Sources Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-02-16 06:23 -0800
                Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-05 10:54 +0100
              Re: Unicode in C Sources Manfred <noname@add.invalid> - 2020-02-05 14:51 +0100
                Re: Unicode in C Sources Bart <bc@freeuk.com> - 2020-02-05 14:03 +0000
                Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-05 16:31 +0100
                Re: Unicode in C Sources Bart <bc@freeuk.com> - 2020-02-05 15:59 +0000
                Re: Unicode in C Sources scott@slp53.sl.home (Scott Lurndal) - 2020-02-05 16:02 +0000
                Re: Unicode in C Sources Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-05 16:59 +0000
                Re: Unicode in C Sources Bart <bc@freeuk.com> - 2020-02-05 18:02 +0000
                Re: Unicode in C Sources jacobnavia <jacob@jacob.remcomp.fr> - 2020-02-05 19:37 +0100
                Re: Unicode in C Sources Manfred <noname@add.invalid> - 2020-02-05 19:37 +0100
                Re: Unicode in C Sources jacobnavia <jacob@jacob.remcomp.fr> - 2020-02-05 21:02 +0100
                Re: Unicode in C Sources Ian Collins <ian-news@hotmail.com> - 2020-02-06 10:34 +1300
                Re: Unicode in C Sources Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-05 23:10 +0000
                Re: Unicode in C Sources Manfred <noname@add.invalid> - 2020-02-06 13:53 +0100
                Re: Unicode in C Sources Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-06 13:26 +0000
                Re: Unicode in C Sources Richard Damon <Richard@Damon-Family.org> - 2020-02-06 07:27 -0500
                Re: Unicode in C Sources Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-05 23:03 +0000
                Re: Unicode in C Sources Mikko Rauhala <mjr@iki.fi> - 2020-02-06 10:46 +0000
                Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-05 21:47 +0100
                Re: Unicode in C Sources Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-05 22:50 +0000
                Re: Unicode in C Sources scott@slp53.sl.home (Scott Lurndal) - 2020-02-07 00:25 +0000
                Re: Unicode in C Sources Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-02-07 02:07 +0000
                Re: Unicode in C Sources David Brown <david.brown@hesbynett.no> - 2020-02-05 16:26 +0100
      Re: Unicode in C Sources antispam@math.uni.wroc.pl - 2020-04-18 03:58 +0000

csiph-web