From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4432 invoked by alias); 4 Dec 2009 04:30:16 -0000 Received: (qmail 4420 invoked by uid 22791); 4 Dec 2009 04:30:14 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00,DATE_IN_PAST_06_12,SARE_SUB_ENC_UTF8,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: sourceware.org Received: from lo.gmane.org (HELO lo.gmane.org) (80.91.229.12) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 04 Dec 2009 04:30:10 +0000 Received: from list by lo.gmane.org with local (Exim 4.50) id 1NGPnx-0006w5-JJ for cygwin-xfree@cygwin.com; Fri, 04 Dec 2009 05:30:05 +0100 Received: from l3-128-170-36-102.l-3com.com ([128.170.36.102]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 04 Dec 2009 05:30:05 +0100 Received: from ebb9 by l3-128-170-36-102.l-3com.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 04 Dec 2009 05:30:05 +0100 To: cygwin-xfree@cygwin.com From: Eric Blake Subject: Re: X11R7.5 and C.UTF-8 Date: Fri, 04 Dec 2009 04:30:00 -0000 Message-ID: References: <4AE8539E.9080004@cornell.edu> <20091028172216.P60895@mail101.his.com> <4AE8BC12.1060109@cornell.edu> <416096c60910281507n4774534dode1d24ac47d5b0a2@mail.gmail.com> <4B1115EC.7010308@cornell.edu> <4B174C20.1040900@tlinx.org> <416096c60912022348i36504e14l726efc9fc9c360e6@mail.gmail.com> <20091203045401.L85368@mail101.his.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit User-Agent: Loom/3.14 (http://gmane.org/) X-IsSubscribed: yes Mailing-List: contact cygwin-xfree-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-xfree-owner@cygwin.com Reply-To: cygwin-xfree@cygwin.com Mail-Followup-To: cygwin-xfree@cygwin.com X-SW-Source: 2009-12/txt/msg00034.txt.bz2 Thomas Dickey his.com> writes: > > This means that characters 0..127 have to be treated as ASCII, but No, it means that portable characters and control characters must be < 128. ASCII meets this characteristic, but so does EBCDIC, as well as UTF-8. The C locale also implies that you can manipulate bytes >= 128 in the naive manner, so long as you don't care about characters embedded in those bytes. And what do you know - ASCII, EBCDIC, and UTF-8 all meet this property, too. > > beyond that an implementation can do what it wants. And on Cygwin 1.7, > > plain "C" actually does imply UTF-8, which happily is > > backward-compatible with ASCII. > > That's an interpretation that so far hasn't been blessed by the standards > people. Any discussion of this topic should mention that, as a caveat. Actually, the standards people HAVE spoken - and they agreed with our interpretation. POSIX was INTENTIONALLY written with the intent that a UTF-8 encoding is valid for the C locale, for the same reason that it was written that an EBCDIC encoding is valid for the C locale. These emails from the Austin Group (the folks that write POSIX) are telling: https://www.opengroup.org/sophocles/show_mail.tpl? CALLER=show_archive.tpl&source=L&listname=austin-group-l&id=12982 https://www.opengroup.org/sophocles/show_mail.tpl? CALLER=show_archive.tpl&source=L&listname=austin-group-l&id=13012 But they also admitted that there is still more work needed in POSIX to make this intent clearly codified (for example, that control characters must be single bytes < 128). -- Eric Blake -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://x.cygwin.com/docs/ FAQ: http://x.cygwin.com/docs/faq/