From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17630 invoked by alias); 13 May 2015 21:31:22 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 20209 Received: (qmail 2815 invoked from network); 13 May 2015 21:31:07 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS autolearn=ham version=3.3.2 Message-ID: <5553C125.5090602@case.edu> Date: Wed, 13 May 2015 17:24:53 -0400 From: Chet Ramey Reply-To: chet.ramey@case.edu User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 MIME-Version: 1.0 To: Bart Schaefer , zsh-users@zsh.org CC: chet.ramey@case.edu Subject: Re: zsh doesn't understand some multibyte characters References: <20150513161411.GA4834@lorien.comfychair.org> <150513104350.ZM28203@torch.brasslantern.com> <20150513182942.GB4834@lorien.comfychair.org> <150513132007.ZM28402@torch.brasslantern.com> In-Reply-To: <150513132007.ZM28402@torch.brasslantern.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Junkmail-Status: score=10/50, host=mpv5.cwru.edu X-Junkmail-Whitelist: YES (by domain whitelist at mpv1.tis.cwru.edu) On 5/13/15 4:20 PM, Bart Schaefer wrote: > On May 13, 11:29am, Danek Duvall wrote: > } > } I'm less sure what to do about __STDC_ISO_10646__. I see that most of the > } places it's checked you're also checking for __APPLE__, but not all of them > } (and I'm not sure why that would be). > } > } I can talk to our globalization folks who might know why this isn't > } defined, or what it should be set to, or whatever, and file a bug if > } necessary. > > You've hit the limit of my knowledge on this point, I'm afraid. Someone > else will have to chime in about __STDC_ISO_10646__. That constant has to be defined by the implementation (compiler+libraries). If it's defined -- and it's defined to a date -- it means that wchar_t values are unicode values, as ISO/IEC 10646 defines them on that date, regardless of the locale. Practically, this means that you can convert a 32-bit character value to a multibyte character just by calling, for example, wctomb, and not have to use something like iconv to convert between locales. No application should be defining that macro itself. -- ``The lyf so short, the craft so long to lerne.'' - Chaucer ``Ars longa, vita brevis'' - Hippocrates Chet Ramey, ITS, CWRU chet@case.edu http://cnswww.cns.cwru.edu/~chet/