Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by h1439878.stratoserver.net (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id t7P4l2EV002560 for ; Tue, 25 Aug 2015 06:47:03 +0200 Received: from relay2.uni-heidelberg.de ([129.206.210.211]) by mx-ha.gmx.net (mxgmx109) with ESMTPS (Nemesis) id 0LhlFN-1Yyprl1Rx3-00mpRM for ; Tue, 25 Aug 2015 06:46:56 +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 t7P4j8PM012010 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 25 Aug 2015 06:45:09 +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 t7OM19dw015549; Tue, 25 Aug 2015 06:45:08 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 12512795 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 25 Aug 2015 06:45:07 +0200 Received: from relay2.uni-heidelberg.de (relay2.uni-heidelberg.de [129.206.210.211]) by listserv.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id t7P4j7BB009988 for ; Tue, 25 Aug 2015 06:45:07 +0200 Received: from smtp4.clear.net.nz (smtp4.clear.net.nz [203.97.37.64]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id t7P4j4AQ011963 for ; Tue, 25 Aug 2015 06:45:07 +0200 Received: from mxin3-orange.clear.net.nz (lb1-srcnat.clear.net.nz [203.97.32.236]) by smtp4.clear.net.nz (CLEAR Net Mail) with ESMTP id <0NTM00CZ8FPJ3130@smtp4.clear.net.nz> for LATEX-L@listserv.uni-heidelberg.de; Tue, 25 Aug 2015 16:45:03 +1200 (NZST) Received: from 118-92-84-74.dsl.dyn.ihug.co.nz (HELO [127.0.0.1]) ([118.92.84.74]) by smtpin3.clear.net.nz with ESMTP; Tue, 25 Aug 2015 16:44:52 +1200 MIME-version: 1.0 Content-type: text/plain; charset=utf-8; format=flowed Content-transfer-encoding: 7bit X-Antivirus: avast! (VPS 150824-4, 24/08/2015), Outbound message X-Antivirus-Status: Clean References: <55DBB7F6.1070307@clear.net.nz> <55DABA1D.3050706@morningstar2.co.uk> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.0.1 Message-ID: <55DCFDF7.7080305@clear.net.nz> Date: Tue, 25 Aug 2015 16:44:55 -0700 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: aparsloe Subject: Re: Catcode changes To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <55DABA1D.3050706@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:skBdW/MuHwk=:F3RMb0/uUrnBnGmLTDdaePg8P8 rigavTg39YtDmSiX+hzhCkkPh00nxzk8P+YFSzOjoL+TZakW3xWzMtAxbDu02qWjWD5bMiIUf aQQqXCRogFZIJFFPu1WeGAaz+azN/VagMvNwfV00PfA+VWZGiVldAXofeDGVAvvKP5+QCebUy 9DZ4xPi1aWoVLsU/GPJK8eW+YTqHkiIJXfKSU98fQPJVYPPWMp27WKS0Mxz5JTYaQw2eB1438 6y6TW8Xb4ysARctlW66V/3B3AQzGrTK0IhAx6U/uyRK4nsrEOGl9IQp58ReJ/cQl8hpaIThsa bzFBttcX48PGHe1yZBujajjXOMTxl5EnYBQzzrXXgFPBeWgneVUv3q33E57btP6ggikDcwpFY hNLJZK9ekNe4+dSSMFDpL0bNeekNEu3NiVmMKtsuZ2fzruXzuXvs7O1FqI8OTKSPS3vEo80pR BjFMCp9fOot+dd4wdWWXLoLkwgPcYEBMqqtaqMm+1eWE9ggT91HKNbB/WXrtaYLGhrM/p/67Q okWWhFJrPKqMyu7wFvlRIBsDCBTvSbsmGIJBUFHt2Qwt3E2dTNsNl6jVVWmVElC5VM6jG74K0 LWc9pgG6SfbuRI4I8QSVjEGYD7xjxAm0HqG3Oxa4UUmmAOJHWYxoFyQlmJCbvn2A3RiivVu0t 8Vp1eZOOS0iOu/+lvajJC4YyGGwkJffx3aGVxUMS27Ijvwn1MkJfwORImz10Soa9zKFHkS6PG gVaBs9oVlIOGCUd9LOSiav+Vq7ph9jenx2fNvwaXSOBxCO2uyfY5LYzNaBKR/4kvfiMk++OKA XTnWOzV78pSkPcoAq6jGEa6OS9r3Ie1r25RkYibcYxsqksD/JsBqdyU4FU3dghsVeaV6/FbR0 JiQooKostJXjnAD/o5UA+hxgEOBjxj7qhRhQPY4hgWKOdnm5IsivBW4B6mV2jLpljSVPyEhuP rOywGpGRU9lvead3aVPEyZHgeqR89H9DuBqfCKjrAsXjaUzScVzlSUJGjCsvw+MjA9IFOaHIZ E2Y1tihb0uwZDK9xFCImslizZV41AibUiQVT4addUKDE3DvZ1Gf6MNMp29dYUVTchX+iI8uR4 Z9B/SDJpjiiRLUIe1jeQUVHicJglv2LzKhWx3a6BXqydAZpIuXFsEltsTuX5Bmq0SdC5qqFdG t72M6h5sEp822bx8CzmSyuKwSMit//Zmsg+JhxmVbDnSo+DcDOfIqnW4+5ABuL4Cm5TMcQmEz 7roGK6hSXiIi03jasyxrh9KvCitG2AfFiH3r4Gtxswf1wCtHNx69qS4NsQh6w15G5vrN+ePU2 wHpYfcpUJrIDj2ZcqhlQ2Owz4cQcm28eLfNj5BlcO/WSjL+3sG+JYq1HbziGNCg7xP1Uv7iT/ mcu6xd1X+hEAWuT5b6qALLwZFbLppS81/HsoDaXuLPcbLR9t4HzIiWMEt4h8/Og+fdWGiCxOr cd+aewRBNorHLFeAYTxGmD7iO0/ujjKKky31lWRwAz/OX2jdGF X-UI-Loop:V01:u0RdFILJ1z0=:Ban7INRw4xc+d35tlbtAHXgirwUOGPLEeVkbxkUivME= X-UI-Out-Filterresults: notjunk:1;V01:K0:JWmaHOifyvQ=:2tZpLghKYNtUbxO/OcN6Ld ayWQ2tDNHjSGJ49S5768it73HOoxi8cgG2hpiyCo9x82XT1aYWVW2M7icFwAeXc8BEWbc9FuJ BnFNC/jwDk4CpRenn7la1KOA4onZLqkn+JIN3oKMFXs4usyrOZ/2RExRZZuWeO5rIexm0W8ds CcYtxie3dck/78nnwcOcsskbKcsB78212bMdtJuYuxSwg3Fpwu+/57q9A/KyS6dDFfZPYIkb6 UdWWz2n9g82VEQB0mZno1YXLBfcMN0ff/e5Ia4Qp0wgeYhMY1+gh9raThJ2jeWPe5h8FAentw sqtIFx5x2EsPsatcnLkA4LRuDaa2veRek/YsYg2tTGfLwxmOYz0y0+wQUL4B8SroD9svAnwrf 4HKVOgqz4EVe4MlFN8rI3vRx/UMR5M/EwS6cvGvJH5RwSM3w8kPHH+7MaDl9Y5QEBI2fog3X6 lqDVomQixsmAbEtgbQcSckpIDiWSZtf51seb4A9LPKkPM5hTcawe X-Scanned-By: MIMEDefang 2.71 on 85.214.41.38 Status: R X-Status: X-Keywords: X-UID: 7839 On 23/08/2015 11:30 p.m., Joseph Wright wrote: > On 25/08/2015 01:33, aparsloe wrote: >> It has taken me a while to get to grips with \tl_set_rescan:Nnn >> {setup} {tokens}, not least the fact that *omission* from the setup >> means "revert to usual catcode". I think this is worth documenting in >> interface3.pdf, since it seems not unreasonable (at least it did to me) >> to suppose that if one has explicitly changed a catcode using >> \tl_set_rescan:Nnn, only a similarly explicit change would revert the >> catcode to its usual value. In particular it would be helpful to >> document the fact that using an empty setup { } reverts everything to >> usual values. >> >> Andrew > I see what you mean: I'll add a note that any chars not set up > explicitly will have the *current* catcode applied. (That's not quite > the same as saying the 'usual' value.) > > Worth noting perhaps that rescanning tokens is in general a bit tricky > to use safely. (Certainly if possible I find other ways of solving > problems.) > -- > Joseph Wright (1) I wanted to use \tl_replace_all:Nnn on a token list that might contain braced groups. Using \tl_set_rescan:Nnn to change the category codes of { and } seemed the most direct way of proceeding. (Then resetting the category codes after replacement with an empty setup.) (2) Using \fp_to_scientific:n on the result of an l3fp calculation produces, say, 6.023e23. I want to write this as 6.023 \times 10^{23}, but the "e" of 6.023e23 doesn't have its "usual" catcode so \tl_replace_once:Nnn doesn't find the "e". (I presume "e" has catcode "other" -- I haven't checked.) Hence I rescan 6.023e23 with an empty setup and then use \tl_replace_once:Nnn (which now does find the "e"). Are there simple workarounds? Andrew --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus