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 t7PMtDEF023138 for ; Wed, 26 Aug 2015 00:55:14 +0200 Received: from relay.uni-heidelberg.de ([129.206.100.212]) by mx-ha.gmx.net (mxgmx112) with ESMTPS (Nemesis) id 0MLitb-1ZVCCO1MiB-000v0g for ; Wed, 26 Aug 2015 00:55:07 +0200 Received: from listserv.uni-heidelberg.de (listserv.uni-heidelberg.de [129.206.100.94]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id t7PMrQIV007787 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 26 Aug 2015 00:53:26 +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 t7PM15gd029229; Wed, 26 Aug 2015 00:53:25 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 12511301 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Wed, 26 Aug 2015 00:53:25 +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 t7PMrPAj032542 for ; Wed, 26 Aug 2015 00:53:25 +0200 Received: from smtp3.clear.net.nz (smtp3.clear.net.nz [203.97.33.64]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id t7PMrMjM026058 for ; Wed, 26 Aug 2015 00:53:25 +0200 Received: from mxin2-orange.clear.net.nz (lb1-srcnat.clear.net.nz [203.97.32.236]) by smtp3.clear.net.nz (CLEAR Net Mail) with ESMTP id <0NTN00J3HU6YLY30@smtp3.clear.net.nz> for LATEX-L@listserv.uni-heidelberg.de; Wed, 26 Aug 2015 10:53:21 +1200 (NZST) Received: from 118-92-80-74.dsl.dyn.ihug.co.nz (HELO [127.0.0.1]) ([118.92.80.74]) by smtpin2.clear.net.nz with ESMTP; Wed, 26 Aug 2015 10:53:14 +1200 MIME-version: 1.0 Content-type: text/plain; charset=windows-1252; 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> <55DCFDF7.7080305@clear.net.nz> <55DC05BF.1040505@morningstar2.co.uk> <55DC28E8.9090405@morningstar2.co.uk> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.0.1 Message-ID: <55DDFD0A.4000901@clear.net.nz> Date: Wed, 26 Aug 2015 10:53:14 -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: <55DC28E8.9090405@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:r+O3aEMhV1o=:tTKIAyYVH7Jy77Y9ozn+PFUstn I++7Hc7TzkrxCzR/SgPB2Mdt8vnvXP6oT7DqDLEh/WL2MIL9S1mVE+VzteJ0XEGNyNRPAnFYr 1CVPJLK0M1b4f8RP85OP7067N6O2FHFWuAH9c1stlJpjQ2ouljyPAM73RKWq9kbYdpxdSUrE7 rI4WqvUNmNO+eTs1AIh1DKO3rRJori/hRUZTVegtaYicvEyo+pNfXNXQw3vTOuPyUH3fzOazi QREbszM9UoTLgfTFfnDViMAg0GalZcf4rJGfUNOqCxOrkpd6OCBD8RIqBaAMf2ka60Ilo1R+q 4ihG90WBLWF3KSrPjGCiRp5A0YnaVU8KzHoLYw6KV2mDX8KLd/FfmeHB1GZod9ve+nghwi4EJ kRO5tXsFd6Dkqwqvjma1V9YgUIVrlmGoacY+SPVgi9fKpdDu69o5LE2sZvC/yCwqWffXoOfCL jMsSCPWVi+AZX/L/J7jpi3m3OXeL/0x8TjLKQAKG7wX3jTVvzm3z7T52Pl1Cr2SpW92WHKwU7 S4iDenstsQqqixTt5bttY2bM90K1MdSRTKj1te2/Sun1DHbgrT0s67ZFtPQBAKV99w3pfS2Hs mEHB3q5QEKXelzZevUyKsdfU5lVoVjxgj/nDp/Abfge9howPy3/XxwnaSFMaHybGzB34EULs1 P/IljwszYFmF8SS9ClLv5fjuq8X6KwO9upyP2tDvbWmoMhJAtIs+jMbkTTEL/kLcOur7qsH4y 6x/XqhDqOh2Kd5qLw/zrqEt+jKmRN9UVmajwYIJCA8Lt/xWFe7nr9DqDXO2lqWuOLLmoNdgdL znbIK/vZSZhLxc7w/JqkiODckEqSjII/ynUkcHHOGTvmF7pJ7ZsZmBOlFPIvYtRrzwyZzaTsS 5rgMHo+hgBmxTF0jbqY02/IsTDUPQ/ZQwdqfDlsd0cpzBY5geFPXnURPqhHrlBj3l/Rt9szYm P5kgwjZrf/wBVfwUhRvwMDKg76NTXBeujYdkJgntDA4BbP4JIly/riODG6mRZKL5LGhp3kBa/ e+PTJ+EUN+2za7v/KdEhG3ANV4iyoMW4NdsNNDqhfJi09uvXNkVuRzpKpj6FF1ZJPloq6v+nW RC7/70zgJIEnqRG+myDPSQru/E5iJdIkheD8QOBzGWSFQYa/a3jon8PyijvYceb9M0wK2olOS zap47zTJotmyFNAMXK+98XGfbQzzDBP4DGNyLQw9OGSeKPPwLbyamDtQvcwtWlB3oSvYVNEQK 6qtf+viBbmMKR5f1v/fufczEgFt7REj7gksF3Ipi9hhw1OyFc3lpjxa5HgqmjIWijqkqhjql1 BXXGbE8gZR5GgxOxx9MrEhgVzrjI876MgtK8eBsa6KJtzxtW/kOx1jdWTvS2zV1ZgHgo/PnCB Fve1K3nAth5YMrW1uc86PpjLEgZPa38RfuKx+WQrzLHaF+96MaKLyTLEyffp41UVxLbhUJotL 7ORzojDZc0Qn2qnECOAr+ghBYbpMB9b6IlGHSzd2ylGGqDGoPC X-UI-Loop:V01:QhCXdN2Xf/s=:bgzPzfMs0oCCWdaVC4zFqQq+SgXkul5lCvm21vetMb4= X-UI-Out-Filterresults: notjunk:1;V01:K0:fo8rZk0DIyQ=:4DzJJeDZno3BZAV0TUdsjt WT7cV9KDfL+87F+/3NhEDA4rImCnJbiNg6Rzx/RfYHw3WyaB0jsQstZKx+fDOmK034l5hcKPc 3/dkzyP/Y03B71dDineK1eWEHWyIhHuxzCFBAm7idLz6VRpcMG5QbgPiXRDQPalaGRi87kR0a 853HWJuYJx84J1ibXKk2CbBWuEdzdkHEVQIw7GGRyW0jZ1N4Tlpp61/UImjC3OH5/zzhhe59W HoubrVzmp9CZf5h74tyYSzMMRH5QMYzXYOVYVCk4iCpSXf377X9elp3gshtdXp3tKkjMu5KgM 79kBKqoB2FHfBvaSPzyAhwySKIbrR9XNuphDxUryACGYSz8Kvp+u+dgvx/y6j1ulH5rcMSs3f DW4B5unaJplEXDJ21lnpvGQNObODZd/g+OTd7u0RRoH2ZdKmx8WXUPpLo5VWz9hO1moCqbnts oeMTuKRvCKxtmOGTlcGdbvjodCcRGaz8rp4w9Gq6kzlH725kfy7o X-Scanned-By: MIMEDefang 2.71 on 85.214.41.38 Status: R X-Status: X-Keywords: X-UID: 7843 On 25/08/2015 1:35 a.m., Joseph Wright wrote: > On 25/08/2015 07:05, Joseph Wright wrote: >> On 26/08/2015 00:44, aparsloe wrote: >>> (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.) >> I see what you mean (I have a similar case in siunitx, for historical >> reasons). We'll explore what we can do with this: there are >> mapping-based approaches one can imagine that will enter brace groups. >> (We do that for \tl_lower_case:n, for example). However, for a general >> 'search and replace' I'd be slightly wary as the TeX convention that >> stuff in brace groups is 'special' is quite prevalent. (Depending on >> performance requirements, you might also look at l3regex if you are >> doing the replacement only very rarely.) > It would be useful here to see what your real use case is, as that's > often illustrative. > -- > Joseph Wright Thank you for the responses. I was remiss. I didn't make it clear that looking inside braced groups was not the concern, rather to replace (or remove) a list of tokens that might include braced groups. I've been reworking the code of a package that turns latex expressions into expressions that can be digested by l3fp. In fact, this particular issue has now been reworked away, but the problem had been to remove a varying expression, e.g. \sqrt{123} or \frac{1-x}{1+x}, from the initial segment of a formula. Rescanning { and } to "other" allowed me to use \tl_remove:Nn successfully. Although I can think of other means of doing this, they seem cumbersome by comparison. Andrew --- This email has been checked for viruses by Avast antivirus software. https://www.avast.com/antivirus