On 06/01/2011 07:45, Will Robertson wrote:
> Oh! I was confused -- for some reason it was in my head that using \the before \glueexpr would strip it of its "plus minus" components. But this is not the case, of course.
> \the\glueexpr 1pt plus 1pt minus 1pt + 2pt plus -1pt minus 1pt\relax
> So I agree with you that adding \tex_the:D before \dim_eval and \skip_eval (and \muskip_eval which doesn't yet exist I think but it probably should) is the best idea.
I've gone back and forward through this, and I think in the end this is
the best plan. In the end, expl3 should be designed 'on its own merits',
and that may mean that some mixed plain TeX\expl3 cases are a little
awkward. For what we want, an expandable \int_eval:n makes most sense,
and by logical extension \dim_eval:n and \skip_eval:n should also be
What we do need to do is to make sure that this is clear in the
documentation, as Philipp has pointed out. Something like
After two expansions, \int_eval:n yields a <integer donation> not an
<internal integer>. As a a result, it will require suitable
termination if used in a \TeX-style integer assignment.
and a similar statement for dim and skip cases.
(BTW, I have some thoughts on muskips, but I think that will keep until
we need them in LaTeX3!)