Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by h1439878.stratoserver.net (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id t8HB2i3L012512 for ; Thu, 17 Sep 2015 13:02:45 +0200 Received: from relay2.uni-heidelberg.de ([129.206.119.212]) by mx-ha.gmx.net (mxgmx108) with ESMTPS (Nemesis) id 0MWgyN-1Z5Kti3PPX-00XpQX for ; Thu, 17 Sep 2015 13:02:38 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id t8HB0jt9028091 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 17 Sep 2015 13:00:45 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id t8H66POF022907; Thu, 17 Sep 2015 13:00:44 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 12534597 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Thu, 17 Sep 2015 13:00:44 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id t8HB0iPn026876 for ; Thu, 17 Sep 2015 13:00:44 +0200 Received: from mxout.hzdr.de (mxout.hzdr.de [149.220.4.85]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id t8HB0Ylu010479 for ; Thu, 17 Sep 2015 13:00:38 +0200 Received: from fz-rossendorf.de (cg.hzdr.de [149.220.4.66]) by mxout.hzdr.de (Postfix) with ESMTP id 684F1BC64 for ; Thu, 17 Sep 2015 13:00:34 +0200 (CEST) Received: from [149.220.65.84] (HELO fwo045.hzdr.de) by hzdr.de (CommuniGate Pro SMTP 6.1.5) with ESMTP id 12030580 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Thu, 17 Sep 2015 13:00:34 +0200 Received: by fwo045.hzdr.de (Postfix, from userid 1530) id 05F8EE80E5; Thu, 17 Sep 2015 13:00:19 +0200 (CEST) References: <55FA92C9.7020604@morningstar2.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) Message-ID: <20150917110019.GA30131@hzdr.de> Date: Thu, 17 Sep 2015 13:00:19 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Alexander Grahn Subject: Re: \tl_to_(lower|upper)case:n - Generating char tokens To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <55FA92C9.7020604@morningstar2.co.uk> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: Envelope-To: X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=V3; X-GMX-Antivirus: 0 (no virus found) X-UI-Filterresults: notjunk:1;V01:K0:u6SCXcGjI0w=:0ey2yytVsSWZeyRRRuzMBpYz7Y xA+USLAxL4RQSJEGEpaook92SOMqeqWGl6e+C6YdcScViGCsvgqCdWrqtGkkfgiw46hBhXjgV 9YVHGaNp4xIquTDhXnbEmH+jzBYan/TIdP7tZlJsYcZZQyatKHtYmbhxfY+rsfiz4y5iDLef+ 6eKBBzS7qUMmHk+v9LpYu1Hphur9sBqR2BCFwLIXa1TV7MrHYgSASk00sFhfmeg0DYhq/iqJB e+agUgKLWVYLqtLSb+kvqsAt7NsGEsvN9Obyrnt8EiHKcBVPM+efoyDZWE93I7QVEI2607RV2 N5VsqQpMz0cWDVz+e7m1Vk2x7ihyp7B/RoTRwb9vdGzncuwNofFjDPxNM+Rq3gaIiL+gE2PVm diD3i+ZUdDdllJ4YqU6etcDHC8jFlMNilbWVmf5ncjbeeFlroOPgwyAdOSE74z9uYAO/czGXs r9CS+Y0vBJsGDX9dW/TEF5JKwdwARrdEcA7RuOXw0c8CG8gtRdrYhcpqFsGLSiAh5vRaV4yn8 u9apuGXY5CTwmn7uWAb/q03262Qpyfa8HLLCOomdb6++KYK1RkjWaU7uDJAbr7Rrrlmr6IR2B Y1AXkNFRRsRmc+wtJivvreqPHEYtgTk5sWB+yb9pB27yvk+s1FiEmlSxxdphZuqWNlHWUFtMU zEUz7Nqs623XDZQts2Fw4Rw/EWJjck3AYZOO7f9qeVrDoJsAhSbLY3SRpb5h5i6g5c8AKgQHj Py3HeVC3WChyE4oIlsBwAvGZ7Fwt7nG/UtpDPxxttbgZMXX8cJpgWpArFFjQmp7CIcVMmKdE3 kWdClnoFewkazKom8Aa5myilFWFoEEGyaGIPsB+3YDC93bdjWo1b08dGwYOP64IfLzHT0tz+P Cxiv7nEuP2sTN5/4iktSeIy30PUaGaPQHUOuyq97w/GGLb+l+1cYXJzv76NZya8pavzh06nJp 5NqFWf4rwmDSX01AJhjO8vrlKPGnvUEMCWLYNGSrd4Sk90waVEgTjWX5PJlh1FlYqgXflsiA+ I9yz2jTtxL0smJA/TEZ5SWwBXL3Me+ryfuQI/GsyTd8ZMgcv0VCoW220Jo+XRLenrgHESeonF YjjYJgOUtmw/WSGK1Yj7OT+9yRNYl+Ztaafi2zIFCTieyU+dfczZkNHup4wpKIULUaK9d5omx V2shUTVTxRxugQIZ9x/wNlD/8FOSttJ8561WSIeG8gSn9E1KytlfSZy7DIz1v+V32sSSL+ywF niN57NYdHMFFzL4ptjSw7/3xmAUO7O7lUJ1aEY7PvNpUW65EV8RCf4ze1WvnBe0cj56gC+4mb gib80vpEgqPtIQFJW7m6Y+ry1wtzZsNSbLWDv+GuDxBAxvONTl9/MnLE4Z9p/p61H+kuL/KJQ UX5yU1n4vmy52uCgPsN/MtSpbjxg4Ewn6PixLLU85PbfPuvTAt8lq5r9+up/yESjOYgMH0/By VQsUwonA+a+V3OOJwzyyT9aXfi1LE= X-UI-Loop:V01:O8jqDUxMkE8=:P833KxIrrWxbCTmmMMRZtLRdrbwpLdiYLWJiMCDRhz0= X-UI-Out-Filterresults: notjunk:1;V01:K0:8vyMO1QVja4=:ns+5bvlv2olPKZsl+1vWQ0 6C2RCFUBcyG3zdau+GWUEZ+xEBhROP4sW8//JC4ufMNpDUzqGhzH7/z3SM3Gg7A2ezKwD/npm iJdrCy+FFTRDneetHy0YIMdnySGdjy6iQbzSuUWRtZ/Ha0xuwlq78j5+N7d/7D1GZw23GV7hA RBmEl610pcvZ9ALA0GMP4+mH+U4XsY9J+uUn/R9iXuNGMJ2F6b6RRSRBvzDpxzeoA8XuKiWGO SfQDmSMN09/RTFkPsbYLZqYvYxrsVs0GCQxzMsiaP1059OHTbQVJuARDY74BXpYvXC+aXcthx jIRc+4nksq/K+/ByrYoB2ofhi3bk9J/wmJgPDYp7ZBZnntoxLSBcK4p+EIRKVSrQJIRT2Mm0q CcEzyDIoCeQb+cieSS7+4BLgNQRaLlfJrKxBtwQ73HYRFhEJzcRcugu8TnA7xaf0vePGz1CJ1 WlwpbuN8oga6zXVRAIPk5JFfjz5fgT0RFZBRtMRGbXgdLNglZ2/d X-Scanned-By: MIMEDefang 2.71 on 85.214.41.38 Status: R X-Status: X-Keywords: X-UID: 7881 On Thu, Sep 17, 2015 at 11:15:37AM +0100, Joseph Wright wrote: >Hello all, > >Some of you may have noticed that the team have not been happy for a >while with \tl_to_(lower|upper)case:n. There are a few issues: > > - The names are wrong as "_to_" is in all other cases used > for expandable 1-to-1 type conversions > - Using the \lowercase/\uppercase primitives means > these functions fail for Unicode case mapping > - Using a case changing function for generating > odd catcodes is not ideal > >We've been working on alternative interfaces that allow the required >outcomes, and now are just about there. Over the past few weeks, we've added > > - \char_(g)set_active_eq:NN > - \char_(g)set_active_eq:nN > >for active characters and > > - \char_generate:nn > >for creating arbitrary character tokens. The latter covers (almost) all >sensible use cases: catcodes 1, 2, 3, 4, 6, 7, 8, 11 and 12. Currently >catcode 10 and 13 are not available, but we expect to address at least >the catcode 10 case shortly. > >We have done a sweep over current uses in TeX Live of >\tl_to_(lower|upper)case:n and \tex_(lower|upper)case:D and believe we >now can deprecate use of \tl_to_(lower|upper)case:n in favour of the >above (for odd chars), using x-type expansion and \tl_to_str:n (for >catcode 12 chars) or the expandable case changing functions. I've >contacted various package authors to ask for adjustments in this regard >and will shortly contact the remaining people. We'll also adjust the >expl3 internals themselves to use the higher-level functions as far as >possible (internally we do need the primitives to set up the interfaces). > >There is one proviso in the above. On XeTeX, \char_generate:nn uses >\Ucharcat if available, and is otherwise limited to the 8-bit range. >This means that at present there are a small number of use cases that >would break with older XeTeX's if modified to use \char_generate:nn. The >team will in time alter the minimum XeTeX version to reflect that but at >present the small number of people generating Unicode chars on XeTeX >will need to continue to use \tex_lowercase:D. > >Assuming the above transition can be carried out smoothly, we will >formally deprecate \tl_to_(lower|upper)case:n shortly for removal after >the end of next year. > >Regards, > >Joseph I am puzzled. What exactly do I have to do in order to adjust existing code which uses the lowercase trick \group_begin: \char_set_lccode:nn{...}{...} \tl_to_lowercase:n{ \group_end: ... } ? Alexander