LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Content-Type: text/plain; format=flowed; delsp=yes; charset=iso-8859-1
Date: Fri, 12 Sep 2008 14:26:45 +0200
Reply-To: Mailing list for the LaTeX3 project <[log in to unmask]>
From: Morten Høgholm <[log in to unmask]>
Content-Transfer-Encoding: 7bit
In-Reply-To: <[log in to unmask]>
MIME-Version: 1.0
Sender: Mailing list for the LaTeX3 project <[log in to unmask]>
Parts/Attachments: text/plain (56 lines)
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  

> 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.