Received: from mail.proteosys.com ([213.139.130.197]) by nummer-3.proteosys with Microsoft SMTPSVC(6.0.3790.3959); Fri, 12 Sep 2008 14:31:47 +0200 Received: by mail.proteosys.com (8.13.8/8.13.8) with ESMTP id m8CCVgTA029212 for ; Fri, 12 Sep 2008 14:31:42 +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 m8CCQrXQ003199 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 12 Sep 2008 14:26:54 +0200 Received: from listserv.uni-heidelberg.de (localhost.localdomain [127.0.0.1]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id m8BM16iF032237; Fri, 12 Sep 2008 14:26:51 +0200 Received: by LISTSERV.UNI-HEIDELBERG.DE (LISTSERV-TCP/IP release 15.5) with spool id 31163 for LATEX-L@LISTSERV.UNI-HEIDELBERG.DE; Fri, 12 Sep 2008 14:26:51 +0200 Received: from relay.uni-heidelberg.de (relay.uni-heidelberg.de [129.206.100.212]) by listserv.uni-heidelberg.de (8.13.1/8.13.1) with ESMTP id m8CCQpFn031415 for ; Fri, 12 Sep 2008 14:26:51 +0200 Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.174]) by relay.uni-heidelberg.de (8.14.1/8.14.1) with ESMTP id m8CCQlNe002967 for ; Fri, 12 Sep 2008 14:26:50 +0200 Received: by ug-out-1314.google.com with SMTP id k40so1275883ugc.38 for ; Fri, 12 Sep 2008 05:26:47 -0700 (PDT) Received: by 10.67.115.8 with SMTP id s8mr9297943ugm.50.1221222407124; Fri, 12 Sep 2008 05:26:47 -0700 (PDT) Received: from macintosh.local ( [89.150.182.226]) by mx.google.com with ESMTPS id l20sm6246329uga.16.2008.09.12.05.26.46 (version=SSLv3 cipher=RC4-MD5); Fri, 12 Sep 2008 05:26:46 -0700 (PDT) Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-1 MIME-Version: 1.0 References: <48CA1F27.2040902@morningstar2.co.uk> <5957A3EB-39BD-4A98-99D7-70129F99CDC0@gmail.com> <48CA438F.5070708@morningstar2.co.uk> <18634.19200.409372.731167@morse.mittelbach-online.de> Content-Transfer-Encoding: 7bit User-Agent: Opera Mail/9.52 (MacPPC) X-Spam-Whitelist: Message-ID: Date: Fri, 12 Sep 2008 14:26:45 +0200 Reply-To: Mailing list for the LaTeX3 project Sender: Mailing list for the LaTeX3 project From: =?iso-8859-1?Q?Morten_H=F8gholm?= Subject: Re: \tlp_put ... To: LATEX-L@LISTSERV.UNI-HEIDELBERG.DE In-Reply-To: <18634.19200.409372.731167@morse.mittelbach-online.de> Precedence: list List-Help: , List-Unsubscribe: List-Subscribe: List-Owner: List-Archive: X-ProteoSys-SPAM-Score: -2.599 () BAYES_00 X-Scanned-By: MIMEDefang 2.64 on 213.139.130.197 Return-Path: owner-latex-l@LISTSERV.UNI-HEIDELBERG.DE X-OriginalArrivalTime: 12 Sep 2008 12:31:47.0586 (UTC) FILETIME=[86046620:01C914D3] Status: R X-Status: X-Keywords: X-UID: 5301 On Fri, 12 Sep 2008 12:57:04 +0200, Frank Mittelbach wrote: > some history, perhaps Morten can say more because I think he did some of > the updates ... Yes, I changed this part of the code. > very early definition: > > \def_long_new:Npn \tlp_put_right:Nn #1#2{\tlp_set:No #1{#1#2}} > > current documentation says > > % A word of warning is appropriate here: Token list pointers are > % implemented as macros and as such currently inherit some of the > % peculiarities of how \TeX\ handles "#"s in the argument of > % macros. In particular, the following actions are legal > % \begin{verbatim} > % \tlp_set:Nn \l_tmpa_tlp{##1} > % \tlp_put_right:Nn \l_tmpa_tlp{##2} > % \tlp_set:No \l_tmpb_tlp{\l_tmpa_tlp ##3} > % \end{verbatim} > % |x| type expansions where macros being expanded contain |#|s do not > % work and will not work until there is an |\expanded| primitive in > % the engine. If you want them to work you must double |#|s another > % level. > % > > > from which I infer that the > > \tlp_set:Nn \l_exp_tlp{#2} > > was actually added to raise the error when setting / adding to the tlp > and not > during some later expansion deep down. Yes, that was why. This was the only way I could find where I'd at least get uniform behavior from the functions doing the same kind of expansions. As I recall it, that was not the case in the earlier versions. I am pretty sure the example from the documentation would not work with the original definitions. > However, we could do better now I guess given that we assume for expl3 > that eTeX is the underlying engine nowadays Even with that, I at least could not get it to work better than that. In desparation I cried out for an \expanded primitive on this list in December last year. But if someone can fix it all nicely with current tools, then I am happy to fold it in. -- Morten