LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show HTML Part by Default
Show All Mail Headers

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

Print Reply
Morten Høgholm <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Tue, 1 Jan 2008 18:46:16 +0100
text/plain (30 lines)
On Fri, 28 Dec 2007 14:31:52 +0100, Andreas Matthias wrote:

> Well, I am still pondering on this. How does \def:Npx fit into this
> scheme? The x argument is not expanded before being passed to \edef.

The x argument is expanded before being passed on the \def:Npn. Which is  
more or less true except currently it is implemented as a straight \edef  
because it would otherwise suffer from the same problems as other  
functions needing to go through a temporary variable in the \::x function.  
With the \expanded primitive in pdfTeX 1.50 we should have uniform  
behavior at last.

> Here are some other functions I just ran across, where the x might not
> be appropriate: \io_put_deferred:Nx, \io_put_term:x, \io_put_log:x,
> \err_message:x, \err_latex_bug:x. These names have the same problem
> as the proposed \int_set:Nx, haven't they?

Most of those functions are from before eTeX was required and so now one  
could say the base form of many such messages was, say, \err_latex_bug:n  
which just outputs a message (making it literal with \unexpanded) and then  
there are x variants in case one wants to use the value of some variable  
in the output. You are pointing to an area of the code which hasn't  
received much attention after we started extending expl3 and it could use  
some cleaning up (so could our 4-day old daughter so I better look at that  
first! :-).