summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/l3kernel
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/l3kernel')
-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
29 files changed, 148 insertions, 109 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