Received: from mout.gmx.net (mout.gmx.net [212.227.15.18]) by h1439878.stratoserver.net (8.14.4/8.14.4/Debian-2ubuntu2.1) with ESMTP id t7PButAa010716 for ; Tue, 25 Aug 2015 13:56:56 +0200 Received: from relay2.uni-heidelberg.de ([129.206.210.211]) by mx-ha.gmx.net (mxgmx010) with ESMTPS (Nemesis) id 0Me4NS-1Z5N0R3zdG-00PwUi for ; Tue, 25 Aug 2015 13:56:50 +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 t7PBtLbt015924 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 25 Aug 2015 13:55:22 +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 t7P9HwOY015549; Tue, 25 Aug 2015 13:55:21 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 16.0) with spool id 12533140 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 25 Aug 2015 13:55:21 +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 t7PBtLYB017977 for ; Tue, 25 Aug 2015 13:55:21 +0200 Received: from nov-007-i590.relay.mailchannels.net (nov-007-i590.relay.mailchannels.net [46.232.183.144]) by relay2.uni-heidelberg.de (8.13.8/8.13.8) with ESMTP id t7PBtG0n015868 for ; Tue, 25 Aug 2015 13:55:20 +0200 X-Sender-Id: netnames|x-authuser|joseph.wright@morningstar2.co.uk Received: from smtp3.easily.co.uk (ip-10-220-9-73.us-west-2.compute.internal [10.220.9.73]) by relay.mailchannels.net (Postfix) with ESMTPA id 469BD604FD for ; Tue, 25 Aug 2015 11:55:13 +0000 (UTC) X-Sender-Id: netnames|x-authuser|joseph.wright@morningstar2.co.uk Received: from smtp3.easily.co.uk (smtp3.easily.co.uk [10.45.8.167]) (using TLSv1 with cipher DHE-RSA-AES256-SHA) by 0.0.0.0:2500 (trex/5.5.1); Tue, 25 Aug 2015 11:55:14 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: netnames|x-authuser|joseph.wright@morningstar2.co.uk X-MailChannels-Auth-Id: netnames X-MC-Loop-Signature: 1440503713672:2794099229 X-MC-Ingress-Time: 1440503713671 Received: from [139.222.114.163] (port=51335 helo=[139.222.114.163]) by smtp3.easily.co.uk with esmtpa (Exim 4.43) id 1ZUCop-0002EL-1Y for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Tue, 25 Aug 2015 12:55:11 +0100 References: <55DBB7F6.1070307@clear.net.nz> <55DABA1D.3050706@morningstar2.co.uk> <55DCFDF7.7080305@clear.net.nz> <9F80F164-248C-4E5D-B799-B42DE56A6016@gmail.com> <55DC289F.90001@morningstar2.co.uk> User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-AuthUser: joseph.wright@morningstar2.co.uk Message-ID: <55DC579E.30808@morningstar2.co.uk> Date: Tue, 25 Aug 2015 12:55:10 +0100 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: Joseph Wright Subject: Re: Catcode changes To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: 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:KRslweXGJtI=:i/msLXe5FUntTWuMGnDKfBpWUf LzPjn4VbQdZJAKYVHVb9GF9M6zcNdC0fO4bSgItjCnSEx8lA7mqkz199NJtLKcC7KMm4DhfEA y43tsL0wojxWqLQrJnG/nuGiTV14heel7vGLwPCtIVNDbjlPrvGIBSl6kzsha8epfzErKIVCN jfCAg59iisAvi7TAW4TofqbrX9QwkjipOacdCFy6n7FDW/05Sitn6GFFoMkJ/ubvFivhkkF+q Z01vJy3gT+Tld1jHbPeQ6brI0TA/Fjd2FTDU8p2XzZ5nByD2ueIDCTczHQw2IcE0ZxxM1/kvj hl5zt5IFDKdYX4pJJ2KOSgT4ARr5xebfb/D20oECKrB7115XIOWsB11oJokcNEzqw2Gaze2KX sS+iYtUuGRMpTdxjlFsjygWvZRLg9Eqh64pTeE/MbNvyg6+pFj8fi53jXsRxNvFVbiaXeqgUD 7wLyEI4/yxinaL1FSHgKdIAhwIQPDzvdRtco6zoEQst+eDC8uTl+HDDuMjBmFcB9jcQKaLUrh 82skz77j5s6jYezTgdOReg9+cmuLevgxfbJsWa4t56DzmVHtlfngjyizjdYCHdwDa2l6M5ikJ vFx5h7L7cu2azPKNqgAN/mO8v3jLP1HLGtLslP8j3LUWRW0nD2F9Ly+B6Cxn2fRxjULQ8JTYi 6fYMmwqbKAg2OKBwZ/eL0jK5gi4NYBE1xim5rOwoqGdcEKjoGy9N8iRghfVADAFka8BhzlJAA /4AGGol2+X6pj9Zvwe5CTCbM/eKxOxVTLX4O0VWo3eJaRPlJzO3/0xUvfoxSDzMAafxZK/+/q IeMJkT+cxRJ6Mvj5jW+UVC+70FFTdrM4W75jiWGW+UCMAYNMXcuanlDgoQDrIQBDdJqCw7Aqg rdIzJRuW7YxScCytv46WtYeDKR8+qCma3XucHPg6J4ZXPRpP4fzBn5ts3j2vWTMsPMkW4Ez0u DKZj3zGlDCusEUMeG6Jm3yEsu1Y1TaEuAeD6Fzu82sWtSVXDrr7MRwpQXCYMQoX/l/GFNN9qV aysF+ScWqiVYu/D/0+LRDvQGfxw1Ipvjml1rWVaVVyfdyeeV9Ml+hoDAbkmb08UVoWSxSPvWJ HdWbOFkfdXvSndRs6YnXTtZ85qm67vKoONBolGz03q1m2ZpsrRaAc1P6pAB6Z6Y8UBH5xIdi2 dVJ8TEB8HOHszqZ7j1dfSlnRg2ckS4rsUan3V91ZbxXkXL5PoZ/MZrJWhA/+y/+bhe2tPTvKz GSOCNg2Ofh8AQimZDrq3qpGKJocOUcLCnNfgyuTMPZtfFdCxJgRTrsaxWNS8JBo9Km77DWwZ6 cqmpIodS/DNN5MvyvDQGdKELuTxOTeby2lQ5hJDqGq8QMVhZonUfgmWVYYg7RfXPTCZRxhDEk 3cW0sc+291NopSsM7+iiKqZhgtTwjAzM5QZqCw9OwNEhvtd1Cg5id8eYliHtVHRhHxdmbnqlx JMD70NPFbi1j95YbLmCUGxxsefVmnvEuSDYnpMWk135jmY8CnOqe2pLQ2cZJp4M+MgNJd0bA= = X-UI-Loop:V01:OPM/iNpAiKw=:ZzjPnqAW5hdISnVLWBgWqptsN20tzOJY69U3QL+UZrQ= X-UI-Out-Filterresults: notjunk:1;V01:K0:8Cc8ZDSRM5o=:PTwj3tc3xM236BNaYdJp7M +TGJnB2k/kVDXvwOEZtdfXocwGjmkxOKbgiXZjtqQdb0fAU1JTpo7HIEAIXLNWCEhGKVb6+l1 yblr1znyqWthJPolOyNzEhZxCTmehfRqteJ4Vm8N+3egwrNyV0KVwXOh5/n7WleVeLOh8YcHM nzONtXdRzEJTlkCZ8FAToff58QakstRmU9G06oMNYSd+Zb1kf89TcmP0pQq7XhgXn+FZKvfnW E2MpkCa/l13kT/SGpU5ga6FHWoBn/pcecoYTpdZjDI2oeIQzv3Mthq0l/6YMljhS+CXl7XmK2 s9QIXsDq3TgcXqSEiOWiRmK/4ENE4K7u4NqfzY+VI4Vlrx2JfUwynaMdtTbx3jTufWsHG49cv 6/TZQwHe4Xautsiga30eSACUlBlXTunAX28hVkDTC59aa174+6M+rvPrzfTH0dqT3X+kqOYAh lp1EE4KCf5FxRFXtJ6apJE6X8IGolBMtC+iahnwLmYJKuugIqmhr X-Scanned-By: MIMEDefang 2.71 on 85.214.41.38 Status: R X-Status: X-Keywords: X-UID: 7838 On 25/08/2015 12:49, Bruno Le Floch wrote: >> I guess I'd want to know a bit more about use cases. As I've said on >> LaTeX-L, normally brace groups are an 'escape' mechanism from the >> scanner, so I'm not sure I'd expect recursive replacement as a general >> thing. I'm wondering if this is being used for something rather 'text >> like', which might be handled by l3regex (slow but for a smaller number >> of cases reasonable). > > I'm not completely sure that l3regex will be slower in all cases than > an approach based on my nested mappings. Besides, if we find some > common use-cases of regexes that can be optimized, I can work on that. > For instance, I saw someone use \c{alpha}|\c{beta}|..., which is > currently quite slow but can be optimized. I'll take your word for it on performance! I think it's not a bad thing to say \tl_replace_all:Nnn is fast(ish) but 'simple', l3regex is slower but can 'everything' and avoid a proliferation of search-and-replace functions. Joseph