summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-02-21 20:56:53 +0000
committerKarl Berry <karl@freefriends.org>2022-02-21 20:56:53 +0000
commit54079d2aaddf39563a50a6d397e67e7129a1dacc (patch)
treedfb50a5edf4bcb045d4a63397d78aac866de2190
parentc0c9e4a4c9ecfaba8d7e79bd7b6bbfa64e323b07 (diff)
l3kernel (21feb22)
git-svn-id: svn://tug.org/texlive/trunk@62127 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md162
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/README.md85
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/expl3.pdfbin622534 -> 622339 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.pdfbin1764443 -> 1766164 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/interface3.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3doc.pdfbin551471 -> 551269 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdfbin151570 -> 151363 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news.pdfbin395879 -> 395879 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news01.pdfbin122710 -> 122710 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news02.pdfbin150676 -> 150676 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news03.pdfbin148702 -> 148702 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news04.pdfbin114588 -> 114588 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news05.pdfbin112487 -> 112487 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news06.pdfbin151573 -> 151573 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news07.pdfbin128309 -> 128309 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news08.pdfbin163454 -> 163454 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news09.pdfbin250139 -> 250139 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news10.pdfbin150279 -> 150279 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news11.pdfbin170063 -> 170063 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3news12.pdfbin204990 -> 204990 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdfbin80970 -> 80970 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdfbin296009 -> 295820 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdfbin242685 -> 242489 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdfbin231077 -> 230882 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex2
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.pdfbin6934491 -> 6938663 bytes
-rw-r--r--Master/texmf-dist/doc/latex/l3kernel/source3.tex2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/expl3.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3basics.dtx13
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx27
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3box.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx6
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3clist.dtx16
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3color.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3debug.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3doc.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3expan.dtx4
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3file.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3flag.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fp.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3int.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3keys.dtx15
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3msg.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3names.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prg.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3prop.dtx14
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3quark.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3regex.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3seq.dtx10
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3skip.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3sort.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3str.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3sys.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx51
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3text.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3tl.dtx18
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3token.dtx2
-rw-r--r--Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex76
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/l3kernel/expl3.sty2
89 files changed, 348 insertions, 259 deletions
diff --git a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
index fe785d68863..2597f8eccf9 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
@@ -7,6 +7,11 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2022-02-21]
+
+### Fixed
+- Use of `\@uclclist` for case changing
+
## [2022-02-05]
### Added
@@ -15,7 +20,7 @@ this project uses date-based 'snapshot' version identifiers.
command in LaTeX2e
### Changed
-- Documentation for horizontal coffin poles (see issue #1041)
+- Documentation for horizontal coffin poles (see issue \#1041)
- Update primitive requirements to enable loading with Prote/HINT
## [2022-01-21]
@@ -68,12 +73,12 @@ this project uses date-based 'snapshot' version identifiers.
- DeviceN colorspace conversions with alternative model RGB
### Added
-- `.str_set:N`, etc., key properties (issue #1007)
-- `\bool_to_str:n` (issue #1010)
+- `.str_set:N`, etc., key properties (issue \#1007)
+- `\bool_to_str:n` (issue \#1010)
### Changed
- `\prop_..._from_keyval:Nn` functions now support active comma or
- equal sign (pull #1012)
+ equal sign (pull \#1012)
## [2021-10-18]
@@ -96,13 +101,13 @@ this project uses date-based 'snapshot' version identifiers.
## [2021-08-27]
### Changed
-- Formatting of expandable errors (issue #931)
+- Formatting of expandable errors (issue \#931)
- Internal code for kernel messages
## [2021-07-12]
### Fixed
-- Handling of multiple color models (issue #962)
+- Handling of multiple color models (issue \#962)
### Removed
- Functions marked for removal end-2020
@@ -111,10 +116,10 @@ this project uses date-based 'snapshot' version identifiers.
### Fixed
- Local assignment to `\g__sys_backend_tl`
-- Incorrect internal function name (issue #939)
-- Case-changing exceptions for (u)pTeX (issue #939)
+- Incorrect internal function name (issue \#939)
+- Case-changing exceptions for (u)pTeX (issue \#939)
- Low-level error if accent commands are not followed by
- letter when case changing (see #946)
+ letter when case changing (see \#946)
## [2021-06-01]
@@ -129,24 +134,24 @@ this project uses date-based 'snapshot' version identifiers.
## [2021-05-25]
### Added
-- `\msg_note:nnnnnn` (issue #911)
-- `\str_compare:nNnTF` (issue #927)
+- `\msg_note:nnnnnn` (issue \#911)
+- `\str_compare:nNnTF` (issue \#927)
- `\sys_timer:`
-- `\prop_concat:NNN`, `\prop_put_from_keyval:Nn` (issue #924)
-- Functions to show and log various datatypes (issue #241):
+- `\prop_concat:NNN`, `\prop_put_from_keyval:Nn` (issue \#924)
+- Functions to show and log various datatypes (issue \#241):
`\coffin_show:Nnn`, `\coffin_show:N`, `\coffin_log:Nnn`, `\coffin_log:N`,
`\color_log:n`, `\group_show_list:`, `\group_log_list:`,
`\ior_show:N`, `\ior_log:N`, `\iow_show:N`, `\iow_log:N`,
`\tl_log_analysis:N`, `\tl_log_analysis:n`
- `\legacy_if_set_true:n`, `\legacy_if_set_false:n`, `\legacy_if_set:nn`
-- Matching multiple regex at the same time (issue #433):
+- Matching multiple regex at the same time (issue \#433):
`\regex_case_match:nn(TF)`,
`\regex_case_replace_once:nN(TF)`,
`\regex_case_replace_all:nN(TF)`
### Fixed
-- Checking brace balance in all regex functions (issue #377)
-- Removing duplicates in clists when items contain commas (issue #917)
+- Checking brace balance in all regex functions (issue \#377)
+- Removing duplicates in clists when items contain commas (issue \#917)
### Changed
- Slight speed up in some elementary int/dim/skip/muskip operations and
@@ -156,48 +161,48 @@ this project uses date-based 'snapshot' version identifiers.
## [2021-05-11]
### Added
-- `\cctab_item:Nn` (issue #880)
-- `\clist_use:nnnn` and `\clist_use:nn` (issue #561)
+- `\cctab_item:Nn` (issue \#880)
+- `\clist_use:nnnn` and `\clist_use:nn` (issue \#561)
### Fixed
-- Loading of backend in generic DVI mode (issue #905)
-- Make `\keyval_parse:nnn` alignment-safe (issue #896)
-- Control sequences and category codes in regex replacements (issue #909)
+- Loading of backend in generic DVI mode (issue \#905)
+- Make `\keyval_parse:nnn` alignment-safe (issue \#896)
+- Control sequences and category codes in regex replacements (issue \#909)
### Changed
-- Speed up `\group_align_safe_begin:` (pull #906)
+- Speed up `\group_align_safe_begin:` (pull \#906)
## [2021-05-07]
### Added
- Color export in comma-separated format
- `\ur{...}` escape in `l3regex` to compose regexes
-- `\seq_set_split_keep_spaces:Nnn` (see #784)
+- `\seq_set_split_keep_spaces:Nnn` (see \#784)
- `\seq_set_item:Nnn(TF)` and `\seq_pop_item:NnN(TF)`
-- `\box_ht_plus_dp:N` (issue #899)
+- `\box_ht_plus_dp:N` (issue \#899)
- `\clist_map_tokens:nn`, `\clist_map_tokens:Nn`,
`\str_map_tokens:nn`, `\str_map_tokens:Nn`
### Changed
-- Use prevailing catcodes instead of string in regex replacement (issue #621)
+- Use prevailing catcodes instead of string in regex replacement (issue \#621)
(*Breaking change*)
- `\__kernel_file_name_sanitize:n` now uses a faster `\csname`-based
approach to expand the file name
- Improved performance for basic conditionals
- `\pdf_version_gset:n` support for `dvips`
-- Improve handling of `\exp_not:n` in `\text_expand:n` (issue #875)
+- Improve handling of `\exp_not:n` in `\text_expand:n` (issue \#875)
- `\file_full_name:n` now avoids calling `\pdffilesize` primitive multiple times
on the same file
- Show printable characters explicitly in `\regex_show:n`
- Regex replacement now errors when using a submatch (`\1` etc) for which
the regex has too few groups
-- Showing complex datatypes now validates their internal structure (issue #884)
+- Showing complex datatypes now validates their internal structure (issue \#884)
- Indexing in l3doc: all page references before codeline references,
improve target placement, solve pdfTeX and makeindex warnings
### Fixed
-- Evalutate integer constants only once (issue #861)
-- Detect `\ior_map_inline:Nn` calls on undefined streams (issue #194)
+- Evalutate integer constants only once (issue \#861)
+- Detect `\ior_map_inline:Nn` calls on undefined streams (issue \#194)
### Deprecated
- `l3docstrip` converted to a stub which simply loads DocStrip: use
@@ -261,12 +266,12 @@ this project uses date-based 'snapshot' version identifiers.
## [2020-10-27]
### Added
-- `\token_if_font_selection:N(TF)` (see #806)
+- `\token_if_font_selection:N(TF)` (see \#806)
### Fixed
- Avoid relying on braced `\input` primitive syntax
- Correct expansion of environments in `\text_purify:n`
-- Some aspects of `cctab` setup with 8-bit engines(issue #814)
+- Some aspects of `cctab` setup with 8-bit engines(issue \#814)
### Changed
- Improved performance for `tl` functions
@@ -277,7 +282,7 @@ this project uses date-based 'snapshot' version identifiers.
### Fixed
- Correctly detect LaTeX when pre-loading expl3 and setting up
case changer
-- Lua emulation of \strcmp (issue #813)
+- Lua emulation of \strcmp (issue \#813)
## [2020-09-24]
@@ -288,7 +293,7 @@ this project uses date-based 'snapshot' version identifiers.
## [2020-09-06]
### Fixed
-- Loading in generic mode (issue #800)
+- Loading in generic mode (issue \#800)
## [2020-09-03]
@@ -308,7 +313,7 @@ this project uses date-based 'snapshot' version identifiers.
- Backend setting `pdfmode`
### Fixed
-- `\file_compare_timestamp:nNn(TF)` in LuaTeX (issue #792)
+- `\file_compare_timestamp:nNn(TF)` in LuaTeX (issue \#792)
- Text case changing and expansion where an excluded command is equivalent
to `\use:n`
@@ -319,7 +324,7 @@ this project uses date-based 'snapshot' version identifiers.
- Performance enhancements for `\keys_set:nn`
### Fixed
-- Loading generically on ConTeXt (issue #783)
+- Loading generically on ConTeXt (issue \#783)
## [2020-07-17]
@@ -383,7 +388,7 @@ this project uses date-based 'snapshot' version identifiers.
- Recognize the exponent marker `E` (same as `e`) in floating point numbers
### Fixed
-- Leave active characters untouched when case-changing (see #715)
+- Leave active characters untouched when case-changing (see \#715)
## [2020-04-06]
@@ -391,7 +396,7 @@ this project uses date-based 'snapshot' version identifiers.
- Control for start-of-titlecasing: see `\l_text_titlecase_check_letter_bool`
### Fixed
-- Nesting of `\seq_shuffle:N` in another sequence mapping (issue #687)
+- Nesting of `\seq_shuffle:N` in another sequence mapping (issue \#687)
- `\ior_shell_open:Nn` in engines other than LuaTeX - shell commands didn't
execute, plus the command call would be left in the input stream.
@@ -427,7 +432,7 @@ this project uses date-based 'snapshot' version identifiers.
`l3backend`)
### Changed
-- Allow `dvisvgm` driver with XeTeX (issue #677)
+- Allow `dvisvgm` driver with XeTeX (issue \#677)
### Fixed
- `undo-recent-deprecations` would not reload the deprecation code
@@ -452,7 +457,7 @@ this project uses date-based 'snapshot' version identifiers.
- Support `\@uclclist` entries when case-changing
### Fixed
-- Allow for full range of encodings when expanding text (issue #671)
+- Allow for full range of encodings when expanding text (issue \#671)
- Support `\begin`/`\end` in text expansion
## [2020-02-08]
@@ -486,7 +491,7 @@ this project uses date-based 'snapshot' version identifiers.
- Support for command replacement in text expansion
### Changed
-- Require key values for numerical key types (dim, int, etc.) (see #661)
+- Require key values for numerical key types (dim, int, etc.) (see \#661)
### Fixed
- Issue with keys where some leading spaces could be left in key names
@@ -506,8 +511,8 @@ this project uses date-based 'snapshot' version identifiers.
- Documentation improvements
### Fixed
-- Inherit key required/forbidden properties (see #653)
-- Set backend at the beginning of `\document` (see #657)
+- Inherit key required/forbidden properties (see \#653)
+- Set backend at the beginning of `\document` (see \#657)
### Deprecated
- `\str_<type>_case:n` replaced by `\str_<type>case:n`
@@ -518,13 +523,13 @@ this project uses date-based 'snapshot' version identifiers.
## [2019-11-07]
### Fixed
-- Handling of repeated loading of a backend (issue #646)
+- Handling of repeated loading of a backend (issue \#646)
- Handling of repeated loading of deprecated functions
## [2019-10-28]
### Fixed
-- File searching when `\(pdf)filesize` is not available (fixes #644)
+- File searching when `\(pdf)filesize` is not available (fixes \#644)
## [2019-10-27]
@@ -539,7 +544,7 @@ this project uses date-based 'snapshot' version identifiers.
### Fixed
- `\file_if_exist:n(TF)`, etc., when dealing with file names containing
- spaces (see #642)
+ spaces (see \#642)
## [2019-10-21]
@@ -577,12 +582,12 @@ this project uses date-based 'snapshot' version identifiers.
## [2019-10-02]
### Fixed
-- Variants using `\exp_args` functions with more than 9 arguments (see #636)
+- Variants using `\exp_args` functions with more than 9 arguments (see \#636)
## [2019-09-30]
### Fixed
-- File searching using `\file_full_name:n` (see #634)
+- File searching using `\file_full_name:n` (see \#634)
## [2019-09-28]
@@ -614,17 +619,17 @@ this project uses date-based 'snapshot' version identifiers.
- Shell access functions
### Fixed
-- Key `.initial:n` property when combined with inherited keys (see #631)
+- Key `.initial:n` property when combined with inherited keys (see \#631)
## [2019-09-19]
### Fixed
-- Loading Unicode data when some chars may be active (see #627)
+- Loading Unicode data when some chars may be active (see \#627)
## [2019-09-08]
### Fixed
-- Missing internal variant (fixes #624)
+- Missing internal variant (fixes \#624)
## [2019-09-05]
@@ -647,10 +652,10 @@ this project uses date-based 'snapshot' version identifiers.
### Fixed
- `\tl_rescan:nn` and `\tl_(g)set_rescan:Nnn` when single-line input
- contains a comment character (see #607)
+ contains a comment character (see \#607)
- Final value of the variable in `\tl_map_variable:NNn` and
`\clist_map_variable:NNn`.
-- Remove duplicate keys in `\prop_set_from_keyval:Nn` (see #572)
+- Remove duplicate keys in `\prop_set_from_keyval:Nn` (see \#572)
## [2019-08-14]
@@ -658,7 +663,7 @@ this project uses date-based 'snapshot' version identifiers.
- `\c_term_ior`
### Fixed
-- Coffin pole intersection in some cases (see #605)
+- Coffin pole intersection in some cases (see \#605)
## [2019-07-25]
@@ -672,11 +677,11 @@ this project uses date-based 'snapshot' version identifiers.
### Changed
- Ensure `\msg_fatal:nn` ends the TeX run if used inside an
- hbox (see #587)
+ hbox (see \#587)
- Moved backend code to a separate release schedule
### Fixed
-- Handling of control sequences in key names (see #594)
+- Handling of control sequences in key names (see \#594)
## [2019-05-28]
@@ -712,7 +717,7 @@ this project uses date-based 'snapshot' version identifiers.
### Fixed
- Infinite loop in some cases in DVI mode due to link-breaking code
- (see #570)
+ (see \#570)
- Category code of output from `\char_<target>_case:N`, and
same issue in `\str_<target>_case:n`
@@ -746,7 +751,7 @@ this project uses date-based 'snapshot' version identifiers.
## [2019-03-26]
### Fixed
-- Loading when pre-TL'18 XeTeX is in use (see #555)
+- Loading when pre-TL'18 XeTeX is in use (see \#555)
## [2019-03-05]
@@ -774,7 +779,7 @@ this project uses date-based 'snapshot' version identifiers.
`\cs_argument_spec:N`, `\cs_replacement_spec:N`, respectively
### Fixed
-- Treatment of inherited keys when setting only known keys (see #548)
+- Treatment of inherited keys when setting only known keys (see \#548)
### Removed
- Experimental `\skip_split_finite_else_action:nnNN`
@@ -786,7 +791,7 @@ this project uses date-based 'snapshot' version identifiers.
- Defensive code for redefinition of `\time`, `\day`, `\month` and `\year`
### Fixed
-- Resetting of key inheritance (see #535)
+- Resetting of key inheritance (see \#535)
- Issue in deprecated command `\tl_set_from_file:Nnn`
(see https://tex.stackexchange.com/q/474813/)
@@ -794,12 +799,12 @@ this project uses date-based 'snapshot' version identifiers.
### Added
- Support for return of whole path by `\keys_set_known:nnN`-like
- function `\keys_set_known:nnnN` (see #508)
-- `.prop_(g)put:N` key property (see #444)
+ function `\keys_set_known:nnnN` (see \#508)
+- `.prop_(g)put:N` key property (see \#444)
### Fixed
-- Handling of nested key setting when filtering, _etc._ (see #526)
-- Inheritance of default values (see #504)
+- Handling of nested key setting when filtering, _etc._ (see \#526)
+- Inheritance of default values (see \#504)
## [2019-01-28]
@@ -845,7 +850,7 @@ this project uses date-based 'snapshot' version identifiers.
### Fixed
- Handling of accented characters under mixed case changing in 8-bit engines
- (see #514)
+ (see \#514)
## [2019-01-01]
@@ -853,8 +858,8 @@ this project uses date-based 'snapshot' version identifiers.
- `\iow_allow_break:`
### Fixed
-- Correct fp randint with zero argument (see #507)
-- Handling of `\current@color` with `(x)dvipdfmx` (see #510)
+- Correct fp randint with zero argument (see \#507)
+- Handling of `\current@color` with `(x)dvipdfmx` (see \#510)
### Removed
- Support for stand-alone `l3regex`, `l3sort`, `l3srt`, `l3tl-analysis`,
@@ -891,7 +896,7 @@ this project uses date-based 'snapshot' version identifiers.
- Move `\<var>_rand_item:N` to stable
### Fixed
-- Typo in `\lua_shipout_e:n` (see #503)
+- Typo in `\lua_shipout_e:n` (see \#503)
## [2018-11-19]
@@ -902,12 +907,12 @@ this project uses date-based 'snapshot' version identifiers.
## [2018-10-19]
### Fixed
-- Wrapping of text in messages, etc., for some line lengths (fixes #491)
+- Wrapping of text in messages, etc., for some line lengths (fixes \#491)
## [2018-10-17]
### Added
-- `\g_msg_module_documentation_prop` (see #471)
+- `\g_msg_module_documentation_prop` (see \#471)
- `\peek_remove_spaces:n`
### Changed
@@ -917,7 +922,7 @@ this project uses date-based 'snapshot' version identifiers.
- `\msg_interrupt:nn`, `\msg_log:n` and `\msg_term:n`
### Fixed
-- Handling of inheritance for choice keys (fixes #483)
+- Handling of inheritance for choice keys (fixes \#483)
## [2018-09-24]
@@ -927,7 +932,7 @@ this project uses date-based 'snapshot' version identifiers.
`\peek_meaning_collect_inline:Nn`
### Fixed
-- Handling of unknown keys when inheritance is active (fixes #481)
+- Handling of unknown keys when inheritance is active (fixes \#481)
## [2018-08-23]
@@ -949,11 +954,11 @@ this project uses date-based 'snapshot' version identifiers.
## [2018-06-01]
### Added
-- `CHANGELOG.md` (fixes #460)
+- `CHANGELOG.md` (fixes \#460)
### Fixed
- Loading `expl3` with LuaTeX/XeTeX and certain letter tokens set
- to be active (see #462)
+ to be active (see \#462)
### Changed
- Alter `\char_codepoint_from_bytes:n` to produce four groups in all
@@ -987,7 +992,7 @@ this project uses date-based 'snapshot' version identifiers.
- Several internal optimisations
### Fixed
-- Expand boolean expression before calling `\chardef` (fixes #461)
+- Expand boolean expression before calling `\chardef` (fixes \#461)
### Removed
- Remove undocumented `\fp_function:Nw` and `\fp_new_function:Npn`
@@ -1016,15 +1021,15 @@ this project uses date-based 'snapshot' version identifiers.
the RNG
- Make prg break functions public
- Make scan marks mechanism public
-- Make `\prg_do_nothing:` long rather than nopar (fixes #455)
+- Make `\prg_do_nothing:` long rather than nopar (fixes \#455)
- Several performance improvements
- Documentation improvements
### Fixed
- Only index TF, T, F functions together if they are `expl3`
- functions (fixes #453)
+ functions (fixes \#453)
- Make `\infty` and `\pi` into errors in fp expressions
- (fixes #357)
+ (fixes \#357)
### Removed
- Deprecated functions expiring at end of 2017
@@ -1043,7 +1048,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2022-02-05...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2022-02-21...HEAD
+[2022-02-21]: https://github.com/latex3/latex3/compare/2022-02-05...2022-02-21
[2022-02-05]: https://github.com/latex3/latex3/compare/2022-01-21...2022-02-05
[2022-01-21]: https://github.com/latex3/latex3/compare/2022-01-12...2022-01-21
[2022-01-12]: https://github.com/latex3/latex3/compare/2021-11-22...2022-01-12
diff --git a/Master/texmf-dist/doc/latex/l3kernel/README.md b/Master/texmf-dist/doc/latex/l3kernel/README.md
index aa111a2d92f..cbfdd98c3a9 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/README.md
+++ b/Master/texmf-dist/doc/latex/l3kernel/README.md
@@ -1,24 +1,25 @@
LaTeX3 Programming Conventions
==============================
-Release 2022-02-05
+Release 2022-02-21
Overview
--------
-The files of the `l3kernel` bundle provide a low-level API for TeX programmers
-with special syntax conventions, completely separating it from document level
+The files of the `l3kernel` bundle provide an API for TeX programmers
+with defined syntax conventions, completely separating it from document level
syntax. Hence, the commands provided are not intended for use at the document
level nor for use in describing design layouts in document class files.
-This API provides the foundation on which the LaTeX3 kernel and other advanced
-extensions are built. Special care has been taken so that they can be used
-within a LaTeX2e context as regular packages.
+This API provides the foundation on which new additions to the LaTeX kernel and
+other advanced extensions are built. The programming layer is designed to be
+loaded as part of LaTeX2e format building or as a loaded package with plain TeX
+or other formats.
-While `l3kernel` is still experimental, the bundle is now regarded as broadly
-stable. The syntax conventions and functions provided are now ready for wider
-use. There may still be changes to some functions, but these will be minor when
-compared to the scope of `l3kernel`.
+The syntax and functionality provided by `l3kernel` is regarded by the LaTeX
+team as stable. There may still be changes to some functions, but these will be
+very minor when compared to the scope of `l3kernel`. In particular, no functions
+will be removed, although some may be deprecated.
Programmers making use of `l3kernel` are *strongly* encouraged to subscribe to
the LaTeX-L mailing list (see below): announcements concerning the deprecation
@@ -27,22 +28,54 @@ or modification of functions are made on the list.
Requirements
------------
-The `l3kernel` bundle requires the e-TeX extensions and additional functionality
-to support string comparisons, expandable character generation with arbitrary
-category codes (for Unicode engines) and PDF support primitives (where direct
-PDF generation is used). The bundle only works with the following engines:
-* pdfTeX v1.40 or later
-* XeTeX v0.99992 or later
-* LuaTeX v1.10 or later
-* e-(u)pTeX from mid-2012 onward
-
-pdfTeX v1.40 was released in 2007, and so any recent TeX distribution
-supports `l3kernel`. Both XeTeX and LuaTeX have developed more
-actively over the past few years, and for this reason only recent
-releases of these engines are supported.
-
-(Engine developers should contact the team for detailed discussion about
-primitive requirements.)
+The `l3kernel` bundle requires the e-TeX extensions and a number of additional
+'utility' primitives, almost all of which were first added to pdfTeX. In
+particular, the functionality equivalent to the following pdfTeX primitives must
+be available
+
+- `\ifpdfprimitive`
+- `\pdfcreationdate`
+- `\pdfelapsedtime`
+- `\pdffiledump`
+- `\pdffilemoddate`
+- `\pdffilesize`
+- `\pdflastxpos`
+- `\pdflastypos`
+- `\pdfmdfivesum`
+- `\pdfnormaldeviate`
+- `\pdfpageheight`
+- `\pdfpagewidth`
+- `\pdfprimitive`
+- `\pdfrandomseed`
+- `\pdfresettimer`
+- `\pdfsavepos`
+- `\pdfsetrandomseed`
+- `\pdfshellescape`
+- `\pdfstrcmp`
+- `\pdfuniformdeviate`
+
+For ease of reference, these primitives will be referred to as the 'pdfTeX
+utilities'. With the exception of `\expanded`, these have been present in pdfTeX
+since the release of version 1.40.0 in 2007; `\expanded` was added for TeX Live
+2019. Similarly, the full set of these utility primitives has been available in
+XeTeX from the 2019 TeX Live release, and has always been available in LuaTeX
+(some by Lua emulation). The Japanese pTeX and upTeX gained all of the above
+(except `\ifincsname`) for TeX Live 2019 `\ifincsname` for TeX Live 2020.
+
+At present, the `\expanded` primitive is emulated if unavailable. This code is
+slow and imposes some coding restrictions. As such, it will be *removed* for TeX
+Live 2022.
+
+In addition to the above, engines which are fully Unicode-compatible
+must provde the functionality of the following primitives, documented in the
+LuaTeX manual
+
+- `\Uchar`
+- `\Ucharcat`
+- `\Umathcode`
+
+The existence of the primitive `\Umathcode` is used as the marker for Unicode
+support.
Discussion
----------
diff --git a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
index ebadc4ab04f..84ccdd85a6e 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
index c20da20c97d..a757c70bc2c 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
index d71eb5eda70..23be90e3ab1 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
@@ -54,7 +54,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2022-02-05}
+\date{Released 2022-02-21}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
index 0e685da1b6a..844c0e2cffd 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
index 2df1b47ec8d..06bff6f7eee 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
index 892b9dcc82c..f318675fbee 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
index 136af9b8cc5..3a0af2b4339 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
index b607faebf29..d716f4f509f 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
index 9473d75a63c..c2c2c9a6bcf 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
index 1166dc6c237..345ccf8e8cf 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
index 4b9a8cf7178..c758e250945 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
index e849790458d..1b54cf91e87 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
index 466a6329034..02f018a5e01 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
index b5179f49352..75979df7521 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
index eda7edc2679..786b5df2d41 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
index d1dfbe40c1c..e4c50173946 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
index 37be98d2ee3..c98f596ccc1 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
index 8d6816802b6..d779c718a8c 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
index 3e89ae150c6..9dde53ac9c5 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
index 369ac8314a9..1abc983a20d 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
index 473fceded05..9edeb73c2e4 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2022-02-05}
+\date{Released 2022-02-21}
\begin{document}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
index aab5aa619e6..35c30a35a68 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
index 2924255baef..1a511259331 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2022-02-05}
+\date{Released 2022-02-21}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
index 97a38b670dd..05a679b5c7d 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
index b7149761b1b..eada45b713b 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2022-02-05}
+\date{Released 2022-02-21}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
index c16928e8616..ebf0336b0e8 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/l3kernel/source3.tex b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
index 0e798c099ba..91e6c3995a1 100644
--- a/Master/texmf-dist/doc/latex/l3kernel/source3.tex
+++ b/Master/texmf-dist/doc/latex/l3kernel/source3.tex
@@ -53,7 +53,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2022-02-05}
+\date{Released 2022-02-21}
\pagenumbering{roman}
\maketitle
diff --git a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
index 88f0cd1e3d2..33637761267 100644
--- a/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2022-02-05}%
+\def\ExplFileDate{2022-02-21}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
index d5d95dc5c4c..43c8f0ea7b0 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
@@ -238,7 +238,8 @@
% Creates \meta{function} to expand to \meta{code} as replacement text.
% Within the \meta{code}, the \meta{parameters} (|#1|, |#2|,
% \emph{etc.}) will be replaced by those absorbed by the function.
-% The \meta{function} will not expand within an \texttt{x}-type
+% The \meta{function} will not expand within an \texttt{x}-type or
+% or \texttt{e}-type
% argument. The definition is global and an error results if the
% \meta{function} is already defined.
% \end{function}
@@ -383,7 +384,7 @@
% cannot contain \cs{par} tokens. The assignment of a meaning to the
% \meta{function} is \emph{not} restricted to the current \TeX{}
% group level: the assignment is global. The \meta{function} will
-% not expand within an \texttt{x}-type argument.
+% not expand within an \texttt{x}-type or \texttt{e}-type argument.
% \end{function}
%
% \subsection{Defining new functions using the signature}
@@ -435,7 +436,7 @@
% automatically from the function signature. These \meta{parameters}
% (|#1|, |#2|, \emph{etc.}) will be replaced by those absorbed by the
% function. The \meta{function} will not expand within an \texttt{x}-type
-% argument. The definition is global and
+% or \texttt{e}-type argument. The definition is global and
% an error results if the \meta{function} is already defined.
% \end{function}
%
@@ -505,7 +506,7 @@
% automatically from the function signature. These \meta{parameters}
% (|#1|, |#2|, \emph{etc.}) will be replaced by those absorbed by the
% function. The \meta{function} will not expand within an \texttt{x}-type
-% argument.
+% or \texttt{e}-type argument.
% The assignment of a meaning to the \meta{function} is restricted to
% the current \TeX{} group level.
% \end{function}
@@ -575,7 +576,7 @@
% automatically from the function signature. These \meta{parameters}
% (|#1|, |#2|, \emph{etc.}) will be replaced by those absorbed by the
% function. The \meta{function} will not expand within an \texttt{x}-type
-% argument.
+% or \texttt{e}-type argument.
% The assignment of a meaning to the \meta{function} is global.
% \end{function}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
index 153ff61c76c..e7ca9de026c 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
@@ -194,7 +194,11 @@
\expandafter\ifx\csname newcatcodetable\endcsname\relax
\input{ltluatex}%
\fi
- \ifdefined\newluabytecode\newluabytecode\@expl@luadata@bytecode\fi
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname newluabytecode\endcsname\relax
+ \else
+ \newluabytecode\@expl@luadata@bytecode
+ \fi
\directlua{require("expl3")}%
% \end{macrocode}
% As the user might be making a custom format, no assumption is made about
@@ -231,19 +235,20 @@
\def\LongText%
{%
The L3 programming layer requires the e-TeX primitives and additional
- functionality as described in the README file.
+ \LineBreak functionality as described in the README file.
\LineBreak
These are available in the engines\LineBreak
- pdfTeX v1.40.0\LineBreak
- XeTeX v0.99992\LineBreak
- LuaTeX v1.10\LineBreak
- e-(u)pTeX mid-2012\LineBreak
+ - Prote (2021)\LineBreak
or later.\LineBreak
\LineBreak
}%
\ifnum0%
\expandafter\ifx\csname expanded\endcsname\relax
- \ifx\csname pdfstrcmp\endcsname\relax\else 1\fi
+ \expandafter\ifx\csname pdfstrcmp\endcsname\relax\else 1\fi
\else
\expandafter\ifx\csname luatexversion\endcsname\relax
1%
@@ -256,11 +261,15 @@
\def\LineBreak{\noexpand\MessageBreak}%
\expandafter\ifx\csname PackageError\endcsname\relax
\def\LineBreak{^^J}%
- \def\PackageError#1#2#3%
- {%
- \errhelp{#3}%
- \errmessage{#1 Error: #2}%
- }%
+ \begingroup
+ \lccode`\~=`\ \lccode`\}=`\ %
+ \lccode`\T=`\T\lccode`\H=`\H%
+ \catcode`\ =11 %
+\lowercase{\endgroup\def\PackageError#1#2#3{%
+\begingroup\errorcontextlines-1\immediate\write0{}\errhelp{#3}\def%
+\ {#1 Error: #2.^^J^^J
+Type H <return> for immediate help}\def~{\errmessage{%
+\ }}~\endgroup}}%
\fi
\edef\next
{%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
index cca2b823138..9b674c29c73 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
index 5040b47e3cc..b6fc78141d1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
@@ -357,7 +357,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{value}
% does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -547,7 +547,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{item}
% does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx b/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
index 39fbca7b749..13ac02ce363 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
index 0ad3565b34c..7ec52dbb6fd 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
@@ -579,7 +579,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{items}
% do not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -604,7 +604,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{items}
% do not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -620,6 +620,12 @@
% resulting space-trimmed item is braced. The \meta{separators} are
% then inserted in the same way as for \cs{clist_use:Nnnn} and
% \cs{clist_use:Nn}, respectively.
+% \begin{texnote}
+% The result is returned within the \tn{unexpanded}
+% primitive (\cs{exp_not:n}), which means that the \meta{items}
+% do not expand further when appearing in an \texttt{x}-type
+% or \texttt{e}-type argument expansion.
+% \end{texnote}
% \end{function}
%
% \section{Comma lists as stacks}
@@ -724,7 +730,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{item}
% does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -740,7 +746,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{item}
% does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
index bdd3ea852f3..384dd662a07 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3color.dtx b/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
index afef4571cd3..26139740973 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
index 9598ee81748..df93b6a70d6 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
index 942b560c309..0dd2c89ce17 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
index fc0eed68da2..1abe3c44e05 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
@@ -85,7 +85,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
% \maketitle
% \tableofcontents
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
index 0c878d7a720..baca3921d81 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
index c989a2b98c4..7415de8ce40 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
@@ -775,7 +775,7 @@
% and all of \meta{tokens} are expandable \cs{exp_stop_f:}
% terminates the expansion of tokens even if \meta{more tokens}
% are also expandable. The function itself is an implicit space
-% token. Inside an \texttt{x}-type expansion, it retains its
+% token. Inside an \texttt{x}-type or \texttt{e}-type expansion, it retains its
% form, but when typeset it produces the underlying space (\verb*| |).
% \end{function}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
index 89535d16221..aaadad73862 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
index ab8a80f5e84..7effab50aaf 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
index d966dfe94db..2a1cf315b0b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
% \maketitle
%
% \begin{documentation}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
index 677a4c7fa4f..cdd4ede0df2 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
index f0f9e0e10b3..973588f870b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
index 77dcf718181..f31c850bafe 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
index 5c430948855..1c8d0a22d4e 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
index 7624b6f9ccc..48d5efe31a8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
index 47dddb3502b..c804716ef2a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
index 9441b647591..176147a8b97 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
index 55ef17d2df2..013366c38c8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
index e7899c9831a..4a677424d3a 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
index fbf00f50837..a5d6cdad228 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
% \maketitle
%
% \begin{documentation}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
index 1492ef23467..a6acbf63c58 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
index 8419fcfeefb..1abdbddf93f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
index da6ada982b8..949a0c8d300 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
index 3a2a08bff90..a8e15875fc3 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
index 4ee8d967e83..1e52ef5aacb 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
index 9147f69bcc8..f67983ae099 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
index 087bbf411d1..6c8d1ff55ff 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
@@ -87,6 +87,10 @@
% key-two = value two
% }
% \end{verbatim}
+% As illustrated, keys are created inside a \meta{module}: a set of related
+% keys, typically those for a single module/\LaTeXe{} package. See
+% Section~\label{sec:l3keys:subdivision} for suggestions on how to divide
+% large numbers of keys for a single module.
%
% At a document level, \cs{keys_set:nn} is used within a
% document function, for example
@@ -321,7 +325,8 @@
% \meta{key} .inherit:n = \Arg{parents}
% \end{syntax}
% Specifies that the \meta{key} path should inherit the keys listed
-% as \meta{parents}. For example, after setting
+% as any of the \meta{parents} (a comma list), which can be a module
+% or a subgroup. For example, after setting
% \begin{verbatim}
% \keys_define:nn { foo } { test .code:n = \tl_show:n {#1} }
% \keys_define:nn { } { bar .inherit:n = foo }
@@ -334,6 +339,12 @@
% \begin{verbatim}
% \keys_set:nn { foo } { test = a }
% \end{verbatim}
+% Inheritance applies at point of use, not at definition, thus keys may
+% be added to the \meta{parent} after the use of \texttt{.inherit:n}
+% and will be active.
+% If more than one \meta{parent} is specified, the presence of the
+% \meta{key} will be tested for each in turn, with the first successful
+% hit taking priority.
% \end{function}
%
% \begin{function}[updated = 2013-07-09]
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
index eadf0fcfa68..3fe875c8fda 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
index 4f5da9de7c9..9c33e123627 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
index 83a42fc50a5..af6bc4f4852 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
index 585463685de..27305b7f1e2 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx b/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
index 1ad30361e3e..d42f7c9865f 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
index efca65e23bf..1fcefca69cb 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
index 6033b875c36..55f0a02ff9c 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
@@ -133,6 +133,10 @@
% signs. The \meta{key} is then processed by \cs{tl_to_str:n}.
% This function correctly detects the |=| and |,| signs provided they
% have the standard category code~$12$ or they are active.
+%
+% Notice that in contrast to most keyval lists (\emph{e.g.}~those in
+% \pkg{l3keys}), each key here \emph{must} be followed with an \texttt{=}
+% sign.
% \end{function}
%
% \begin{function}[added = 2017-11-28, updated = 2021-11-07]
@@ -151,6 +155,10 @@
% keys appear only the last of the values is kept.
% This function correctly detects the |=| and |,| signs provided they
% have the standard category code~$12$ or they are active.
+%
+% Notice that in contrast to most keyval lists (\emph{e.g.}~those in
+% \pkg{l3keys}), each key here \emph{must} be followed with an \texttt{=}
+% sign.
% \end{function}
%
% \section{Adding and updating property list entries}
@@ -299,7 +307,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{value}
% does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -321,7 +329,7 @@
% \begin{texnote}
% The result is returned within the \tn{unexpanded} primitive
% (\cs{exp_not:n}), which means that the key--value list does not expand
-% further when appearing in an \texttt{x}-type argument expansion.
+% further when appearing in an \texttt{x}-type or \texttt{e}-type argument expansion.
% It also needs exactly two steps of expansion.
% \end{texnote}
% \end{function}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
index 7b8cc3bb797..56b32e32d1c 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
index 515b438dbdb..589f03f088c 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
index 1eff1219f8c..115c74b74c1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
@@ -320,7 +320,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{item}
% does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -335,7 +335,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{item}
% does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -749,7 +749,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{items}
% do not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -774,7 +774,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{items}
% do not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
index dddc1f55ee3..6260ff0e9f2 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
index 6671036d982..99b1aef0dd5 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
index 786ae307162..da7ccf07589 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
index eee1f004621..a53cc9a73f1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
index 09758921dc5..f032ab07af7 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
index d93fad46242..b6c263c22d8 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
@@ -2082,37 +2082,40 @@
% we check at the end of the preamble. This will therefore only apply
% to \LaTeXe{} package mode.
% \begin{macrocode}
-\cs_if_exist:cT { @uclclist }
+\tl_if_exist:NT \@expl@finalise@setup@@@@
{
- \AtBeginDocument
+ \tl_gput_right:Nn \@expl@finalise@setup@@@@
{
- \group_begin:
- \cs_set_protected:Npn \@@_change_case_setup:Nn #1#2
- {
- \quark_if_recursion_tail_stop:N #1
- \tl_if_single_token:nT {#2}
+ \AtBeginDocument
+ {
+ \group_begin:
+ \cs_set_protected:Npn \@@_change_case_setup:Nn #1#2
{
- \cs_if_exist:cF
- { c_@@_uppercase_ \token_to_str:N #1 _tl }
+ \quark_if_recursion_tail_stop:N #1
+ \tl_if_single_token:nT {#2}
{
- \tl_const:cn
+ \cs_if_exist:cF
{ c_@@_uppercase_ \token_to_str:N #1 _tl }
- { #2 }
- }
- \cs_if_exist:cF
- { c_@@_lowercase_ \token_to_str:N #2 _tl }
- {
- \tl_const:cn
+ {
+ \tl_const:cn
+ { c_@@_uppercase_ \token_to_str:N #1 _tl }
+ { #2 }
+ }
+ \cs_if_exist:cF
{ c_@@_lowercase_ \token_to_str:N #2 _tl }
- { #1 }
+ {
+ \tl_const:cn
+ { c_@@_lowercase_ \token_to_str:N #2 _tl }
+ { #1 }
+ }
}
+ \@@_change_case_setup:Nn
}
- \@@_change_case_setup:Nn
- }
- \exp_after:wN \@@_change_case_setup:Nn \@uclclist
- \q_recursion_tail ?
- \q_recursion_stop
- \group_end:
+ \exp_after:wN \@@_change_case_setup:Nn \@uclclist
+ \q_recursion_tail ?
+ \q_recursion_stop
+ \group_end:
+ }
}
}
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
index 7211fdcf051..4ad1520adc1 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
index ad984ab0797..c230ab9f276 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
index 80007bfa7f8..228c14ba540 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
index 3637096e736..50612ce0c07 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
@@ -576,7 +576,7 @@
% \begin{texnote}
% The result is returned within \tn{unexpanded}, which means that the token
% list does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -613,7 +613,7 @@
% \begin{texnote}
% The result is returned within \tn{unexpanded}, which means that the token
% list does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -629,7 +629,7 @@
% \begin{texnote}
% The result is returned within \tn{unexpanded}, which means that the token
% list does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -878,7 +878,7 @@
% \begin{texnote}
% The result is returned within \cs{exp_not:n}, which means that the token
% list does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -923,7 +923,7 @@
% \begin{texnote}
% The result is returned within \cs{exp_not:n}, which means that the
% token list does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -944,7 +944,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{item}
% does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -961,7 +961,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{item}
% does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
@@ -1034,7 +1034,7 @@
% The result is returned within the \tn{unexpanded}
% primitive (\cs{exp_not:n}), which means that the \meta{item}
% does not expand further when appearing in an \texttt{x}-type
-% argument expansion.
+% or \texttt{e}-type argument expansion.
% \end{texnote}
% \end{function}
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
index a233413aab7..06c1989df1c 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
index 7a1babeca58..a173612e87b 100644
--- a/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
+++ b/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2022-02-05}
+% \date{Released 2022-02-21}
%
% \maketitle
%
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
index 99f5218c8d0..9adbf83c905 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
@@ -70,7 +70,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2022-02-05}%
+\def\ExplFileDate{2022-02-21}%
\begingroup
\def\next{\endgroup}%
\expandafter\ifx\csname PackageError\endcsname\relax
@@ -158,7 +158,11 @@
\expandafter\ifx\csname newcatcodetable\endcsname\relax
\input{ltluatex}%
\fi
- \ifdefined\newluabytecode\newluabytecode\@expl@luadata@bytecode\fi
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname newluabytecode\endcsname\relax
+ \else
+ \newluabytecode\@expl@luadata@bytecode
+ \fi
\directlua{require("expl3")}%
\ifnum 0%
\directlua{
@@ -179,19 +183,20 @@
\def\LongText%
{%
The L3 programming layer requires the e-TeX primitives and additional
- functionality as described in the README file.
+ \LineBreak functionality as described in the README file.
\LineBreak
These are available in the engines\LineBreak
- pdfTeX v1.40.0\LineBreak
- XeTeX v0.99992\LineBreak
- LuaTeX v1.10\LineBreak
- e-(u)pTeX mid-2012\LineBreak
+ - Prote (2021)\LineBreak
or later.\LineBreak
\LineBreak
}%
\ifnum0%
\expandafter\ifx\csname expanded\endcsname\relax
- \ifx\csname pdfstrcmp\endcsname\relax\else 1\fi
+ \expandafter\ifx\csname pdfstrcmp\endcsname\relax\else 1\fi
\else
\expandafter\ifx\csname luatexversion\endcsname\relax
1%
@@ -204,11 +209,15 @@
\def\LineBreak{\noexpand\MessageBreak}%
\expandafter\ifx\csname PackageError\endcsname\relax
\def\LineBreak{^^J}%
- \def\PackageError#1#2#3%
- {%
- \errhelp{#3}%
- \errmessage{#1 Error: #2}%
- }%
+ \begingroup
+ \lccode`\~=`\ \lccode`\}=`\ %
+ \lccode`\T=`\T\lccode`\H=`\H%
+ \catcode`\ =11 %
+\lowercase{\endgroup\def\PackageError#1#2#3{%
+\begingroup\errorcontextlines-1\immediate\write0{}\errhelp{#3}\def%
+\ {#1 Error: #2.^^J^^J
+Type H <return> for immediate help}\def~{\errmessage{%
+\ }}~\endgroup}}%
\fi
\edef\next
{%
@@ -33573,37 +33582,40 @@
\tl_const:cn { c__text_uppercase_ \token_to_str:N \i _tl } { I }
\tl_const:cn { c__text_uppercase_ \token_to_str:N \j _tl } { J }
\group_end:
-\cs_if_exist:cT { @uclclist }
+\tl_if_exist:NT \@expl@finalise@setup@@
{
- \AtBeginDocument
+ \tl_gput_right:Nn \@expl@finalise@setup@@
{
- \group_begin:
- \cs_set_protected:Npn \__text_change_case_setup:Nn #1#2
- {
- \quark_if_recursion_tail_stop:N #1
- \tl_if_single_token:nT {#2}
+ \AtBeginDocument
+ {
+ \group_begin:
+ \cs_set_protected:Npn \__text_change_case_setup:Nn #1#2
{
- \cs_if_exist:cF
- { c__text_uppercase_ \token_to_str:N #1 _tl }
+ \quark_if_recursion_tail_stop:N #1
+ \tl_if_single_token:nT {#2}
{
- \tl_const:cn
+ \cs_if_exist:cF
{ c__text_uppercase_ \token_to_str:N #1 _tl }
- { #2 }
- }
- \cs_if_exist:cF
- { c__text_lowercase_ \token_to_str:N #2 _tl }
- {
- \tl_const:cn
+ {
+ \tl_const:cn
+ { c__text_uppercase_ \token_to_str:N #1 _tl }
+ { #2 }
+ }
+ \cs_if_exist:cF
{ c__text_lowercase_ \token_to_str:N #2 _tl }
- { #1 }
+ {
+ \tl_const:cn
+ { c__text_lowercase_ \token_to_str:N #2 _tl }
+ { #1 }
+ }
}
+ \__text_change_case_setup:Nn
}
- \__text_change_case_setup:Nn
- }
- \exp_after:wN \__text_change_case_setup:Nn \@uclclist
- \q_recursion_tail ?
- \q_recursion_stop
- \group_end:
+ \exp_after:wN \__text_change_case_setup:Nn \@uclclist
+ \q_recursion_tail ?
+ \q_recursion_stop
+ \group_end:
+ }
}
}
%% File: l3text-purify.dtx
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
index 412f6a5a994..1f2dd36220c 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2022-02-05}%
+\def\ExplFileDate{2022-02-21}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
index f83aa6897f0..0513a368a14 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2022-02-05}%
+\def\ExplFileDate{2022-02-21}%
\let\ExplLoaderFileDate\ExplFileDate
\begingroup
\catcode`\_=11
diff --git a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
index fd2ee37ce0a..7aa87f14de5 100644
--- a/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
+++ b/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
@@ -19,7 +19,7 @@
%% and all files in that bundle must be distributed together.
%%
%% File: expl3.dtx
-\def\ExplFileDate{2022-02-05}%
+\def\ExplFileDate{2022-02-21}%
\let\ExplLoaderFileDate\ExplFileDate
\ProvidesPackage{expl3}
[%