Will Robertson writes: > On 04/01/2011, at 12:23 AM, Joseph Wright wrote: > > > The resulting documentation might read > > > > % Evaluates the \meta{integer expression}, expanding any > > % integer and token list variables within the \meta{expression} > > % to their content (without requiring \cs{int_use:N}/\cs{tl_use:N}) > > % and applying the standard mathematical rules. This process requires > > % two expansions. The result of the calculation is an > > % \meta{internal integer} which should be treated in the same way > > % as a \texttt{int} variable, \emph{i.e.}~it must be prefixed > > % by \cs{int_use:N} unless used in a context which requires an > > % \meta{integer expression}. > > > > (with similar statements for \dim_eval:n and \skip_eval:n). Is this > > sufficiently accurate and clear? Does the entire proposal make sense? > > I *think* this is sensible, but I'd be surprised if this wouldn't require > some extra changes in some of the internal expl3 functions. The fact that > \int_eval:n is expandable is probably exploited in a few places (at least > in \int_compare:n, anyway). But I'm sure this isn't an insurmountable > problem. you can bet that making this non-expandable will break the kernel in many places. I guess this is essential to a lot of code that Morten has written. Perhaps you could take \number out and put it in front in all such places, but whether that is better I wonder. Morten are you listening right now? > There's not really a sensible alternative for \glueexpr is there? It would > be fine to have \number before the \dimexpr version as well, but without > consistency between all of them we should definitely (er I think) choose > the change that you're suggesting. are we sure the \the isn't the right thing to apply before \glueexpr, ie Joesph's original thought? I rather think that would be better than taking out exansion from \int_eval:n frank