New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Provide dummy defs for \conditionally@traceon/off in the kernel #164
Comments
Better in |
I'm ok with the l3kernel offering an l3 interface to the concept, but I I think the function should be provided in in 2e kernel with its 2e name so that trace.sty can interact with other 2e package that may want to reduce the trace footprint. |
Couldn't we just add all of |
@josephwright we could but then that could would be always executing and it is done in places that are fairly often called, which is why I'm not sure we should. I tend to think that just adding the dummy ones is better. |
@FrankMittelbach I don't follow: without |
I think Frank’s point is that trace.sty is like the expl3 debug code — even if the tracing is off it requires no-ops to be included in macro definitions that operate at a very low level (recall that NFSS is quite optimised).
|
@josephwright if the code from trace is in the kernel, then yes, the conditionals are noops but they are nevertheless executed so you have possibly several thousands of macros executed as "do nothing" but still expanded. But it might be preferable over having certain commands change their definition depending on whether or not the package is loaded. I guess I'm still somewhat tied into believing execution cycles needed to be saved when possible, but in this case it is probably a bad idea and better to fold the whole of trace.sty into the kernel directly. |
Basically any font change would trigger the no-ops but that probably amounts to less than 100 per page typically so it is indeed not really worth preserving these days. |
I decided to go for providing just the two function needed in external packages for now. At a later stage we might consider moving the whole of |
At the moment these are defined only by trace.sty. Better have an empty definition already in the kernel so that packages can use them without having to worry whether or not the trace package is loaded. (Currently an issue for xparse)
The text was updated successfully, but these errors were encountered: