Comparing changes
Open a pull request
The reason this shows oddly in the 2e test suite is that we deliberately disable \AtBeginDvi there. We therefore should also clear the shipout/firstpage hook to allow other code (like here) to use it without disturbing the test suite.
The code in this commit uses non-standard category codes and as a result will not work correctly if group_align_safe_begin: is expanded once and after that tokens with category code 2 get normalized. This should be rarely the case, but in \unravel this would break for instance. As a result this code might be considered unstable.
We already had \clist_use:Nnnn and \clist_use:Nn. This simply provides feature parity for n-type comma lists.
As we need to get this to pass at the moment.
This also removes a string comparison \str_if_eq:eeTF which is slow in LuaTeX, cf #174.
I dare not do the same for l3backend files (see #717) but it seems like one just needs to change how \__kernel_sys_configuration_load:n is defined: use \cctab_begin:N \c_document_cctab ... \cctab_end: instead of \ExplSyntaxOff ... \ExplSyntaxOn. Alternatively we could try basing \ExplSyntaxOn/Off on cctab, with extra handling of the @ character.
This speed up is not uniform, and depends on the length of the seq. - empty seq: 1.5x slower. - one item: 1.25x slower. - 2 or 4 items: 1.1x slower. - less than 10: same speed. - 10-100: 1.1x to 1.2x faster. - longer: 1.2x faster So it is not a clear win. However, I think speeding up the case of long seq is still worth the moderate slow-down of mapping through very short seq.
When these were written \prop_map_tokens:Nn did not exist. Now that \prop_map_tokens:Nn is reasonably fast, it is reasonable to have simpler code there.
The speed up is around 2-8 times (largest for larger comma lists)
This means that \tl_set_eq:NN can be used to set a token list equal to a comma list. Strings also are token lists, but this was already documented.
This file is not mentioned anywhere in the repository, and it doesn't fullfil anymore the purpose described by its name (listing all expl3 functions) now that expl3 is built into the format.
Add silent benchmark variants; make results public
It was applied to a token list ending with a comma, which led to an extra iteration. The extra iteration turned out to fill data beyond what was later read, but it is a bug waiting to happen.
This is actually just commented out, but it is sometimes helpful to me when thinking about possible TeX-specific syntax extensions.
I'm not adding to this commit a couple of LuaTeX-specific l3kernel tests, because they are due to line length and I plan to shorten a few of the error messages to avoid that in more cases.
register pgfmxfp prefix
Many places had (explicit number) followed by \exp_stop_f: from the time we had removed all integer constants \c_zero, \c_one, ..., \c_sixteen etc. Since we kept constants for zero and one (under new names) we can replace 0 \exp_stop_f: and 1 \exp_stop_f: by the faster constants.
The problem here is tricky. The older set-up had the value of "numerator-top-sep" as part of the restricted template, so it was always set. However, one of the top or bottom sep values have to be maxdimen to avoid an error. With restrictions actually working, we couldn't undo the global setting of the top-sep, so we were stuck. Thus here I've made that a setting which is applied to an instance, not a restriction.
\int_const:Nn is used before some of the e-type emulation dependencies are defined (namely \token_if_protected_macro:NT), thus it does not work if the engine doesn't have \expanded yet. This breaks building the LaTeX format when using new expl3 with old engines.
Fix local assignment to a global variable '\g__sys_backend_tl'
We may need to move the GhostScript test to the header if it's needed more widely.
[ci skip]
As it always produces a dim tuple, we will want it for implementing higher-level material. This is easiest to explain with a public name.
Fix small typo
Slightly incorrect until the core functionality is in the kernel
Automatically create releases from Tags with GH Actions
Register etl
Since the new version of expandable errors gives us fewer characters to work with, the previous message was trimmed before the end in all cases.
Those retained are: - Explicitly defined in l3kernel-extras - Linked to l3kernel (l3fp errors)
Sufficient material is retained to support xparse/ltcmd.
As we clean out the build dir for each bundle, we need to get the top-level versions. Might need to adjust a bit to have the TDS-style ones available too.
Latex2e/gh569 [xparse] Add support for \NewCommandCopy
These are strings but token lists
Make \coffin_gattach: really global
[ci skip]
So that they actually issue the messages.
Showing you all comments on commits in this comparison.
This comment has been minimized.
This comment has been minimized.
|
It should be |
This comment has been minimized.
This comment has been minimized.
|
I'm not sure how often the \if_meaning:w \scan_stop: #1
\exp_after:wN \use_ii:nnn
\fi:
\use_ii:nn
;
{ <stuff> }same goes for the code of |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
Thank you @stone-zeng |
This comment has been minimized.
This comment has been minimized.
|
I think this is missing some documentation on how to redirect |
This comment has been minimized.
This comment has been minimized.
|
looks good I think, but in the documentation I would be a little more verbose because people new to it might think that info does more than note (which is not the way it is for historical reasons). So perhaps
or something like that |
This comment has been minimized.
This comment has been minimized.
|
|
This comment has been minimized.
This comment has been minimized.
|
@dbitouze it is now it seems |
There are no files selected for viewing