texlive[67394] Master/texmf-dist: l3kernel (17jun23)

commits+karl at tug.org commits+karl at tug.org
Sat Jun 17 21:59:40 CEST 2023


Revision: 67394
          http://tug.org/svn/texlive?view=revision&revision=67394
Author:   karl
Date:     2023-06-17 21:59:40 +0200 (Sat, 17 Jun 2023)
Log Message:
-----------
l3kernel (17jun23)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
    trunk/Master/texmf-dist/doc/latex/l3kernel/README.md
    trunk/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
    trunk/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
    trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex
    trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
    trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
    trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
    trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
    trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
    trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/CHANGELOG.md	2023-06-17 19:59:40 UTC (rev 67394)
@@ -7,6 +7,18 @@
 
 ## [Unreleased]
 
+## [2023-06-16]
+
+### Changed
+- Exclude entries in `\l_text_case_exclude_arg_tl` from expansion in `\text_expand:n`
+  (latex3/latex2e\#904)
+- Generate _dialytika_ if appropriate when uppercasing Greek words starting with a
+  vowel taking a breathing mark (issue \#1228)
+- Retain stress diacritics when uppercasing Greek (issue \#1230)
+- Expand (partial) paths in `\l_file_search_path_seq` and `\input at path`
+  (see latex3/latex2e\#1086)
+
+
 ## [2023-06-05]
 
 ### Added
@@ -1451,7 +1463,8 @@
 - Step functions have been added for dim variables,
   e.g. `\dim_step_inline:nnnn`
 
-[Unreleased]: https://github.com/latex3/latex3/compare/2023-06-05...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2023-06-16...HEAD
+[2023-06-16]: https://github.com/latex3/latex3/compare/2023-06-05...2023-06-16
 [2023-06-05]: https://github.com/latex3/latex3/compare/2023-05-22...2023-06-05
 [2023-05-22]: https://github.com/latex3/latex3/compare/2023-05-15...2023-05-22
 [2023-05-15]: https://github.com/latex3/latex3/compare/2023-05-11...2023-05-15

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/README.md	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/README.md	2023-06-17 19:59:40 UTC (rev 67394)
@@ -1,7 +1,7 @@
 LaTeX3 Programming Conventions
 ==============================
 
-Release 2023-06-05
+Release 2023-06-16
 
 Overview
 --------

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/expl3.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/interface3.tex	2023-06-17 19:59:40 UTC (rev 67394)
@@ -62,7 +62,7 @@
          {latex-team at latex-project.org}%
    }%
 }
-\date{Released 2023-06-05}
+\date{Released 2023-06-16}
 
 \pagenumbering{roman}
 \maketitle

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3docstrip.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news01.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news02.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news03.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news04.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news05.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news06.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news07.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news08.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news09.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news10.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news11.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3news12.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3prefixes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3styleguide.tex	2023-06-17 19:59:40 UTC (rev 67394)
@@ -32,7 +32,7 @@
         {latex-team at latex-project.org}%
     }%
 }
-\date{Released 2023-06-05}
+\date{Released 2023-06-16}
 
 \begin{document}
 

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3syntax-changes.tex	2023-06-17 19:59:40 UTC (rev 67394)
@@ -32,7 +32,7 @@
         {latex-team at latex-project.org}%
     }%
 }
-\date{Released 2023-06-05}
+\date{Released 2023-06-16}
 
 \newcommand{\TF}{\textit{(TF)}}
 

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/l3term-glossary.tex	2023-06-17 19:59:40 UTC (rev 67394)
@@ -32,7 +32,7 @@
         {latex-team at latex-project.org}%
     }%
 }
-\date{Released 2023-06-05}
+\date{Released 2023-06-16}
 
 \newcommand{\TF}{\textit{(TF)}}
 

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/source3.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/doc/latex/l3kernel/source3.tex	2023-06-17 19:59:40 UTC (rev 67394)
@@ -53,7 +53,7 @@
          {latex-team at latex-project.org}%
    }%
 }
-\date{Released 2023-06-05}
+\date{Released 2023-06-16}
 
 \pagenumbering{roman}
 \maketitle

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/expl3.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -24,7 +24,7 @@
 %
 %<*driver|generic|package|2ekernel>
 %</driver|generic|package|2ekernel>
-\def\ExplFileDate{2023-06-05}%
+\def\ExplFileDate{2023-06-16}%
 %<*driver>
 \documentclass[full]{l3doc}
 \usepackage{graphicx}
@@ -51,7 +51,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3basics.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3bootstrap.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3box.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3candidates.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3cctab.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3clist.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3coffins.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3color.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3debug.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3deprecation.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3doc.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -85,7 +85,7 @@
 %    require you to do updates, if the class changes.}}
 %
 % \author{\Team}
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 % \maketitle
 % \tableofcontents
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3docstrip.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -63,7 +63,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3expan.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3file.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %
@@ -690,12 +690,11 @@
 %   |--jobname|, for example).
 % \end{variable}
 %
-% \begin{variable}[added = 2017-06-18]{\l_file_search_path_seq}
+% \begin{variable}[added = 2017-06-18, updated = 2023-06-15]
+%   {\l_file_search_path_seq}
 %   Each entry is the path to a directory which should be searched when
-%   seeking a file. Each path can be relative or absolute, and should
-%   not include the trailing slash. The entries are not expanded when
-%   used so may contain active characters but should not feature any
-%   variable content. Spaces need not be quoted.
+%   seeking a file. Each path can be relative or absolute, and need
+%   not include the trailing slash. Spaces need not be quoted.
 %
 %   \begin{texnote}
 %     When working as a package in \LaTeXe{}, \pkg{expl3} will
@@ -2962,10 +2961,7 @@
 \cs_new:Npn \@@_full_name_aux:Nnn #1#2#3
   {
     \exp_args:Ne \@@_full_name_aux:nN
-      {
-        \exp_args:Ne \@@_full_name_slash:n
-          { \tl_to_str:n {#3} } #2
-      }
+      { \@@_full_name_slash:n {#3} #2 }
       #1
   }
 \cs_new:Npn \@@_full_name_slash:n #1

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3flag.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-assign.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 % \maketitle
 %
 % \begin{documentation}

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-aux.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-basics.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-convert.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-expo.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-extended.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-logic.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-parse.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-random.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-round.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-traps.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 % \maketitle
 %
 % \begin{documentation}

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp-trig.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -40,7 +40,7 @@
 %          {latex-team at latex-project.org}^^A
 %    }^^A
 % }
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fp.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -49,7 +49,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3fparray.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3int.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3intarray.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3kernel-functions.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3keys.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3legacy.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3luatex.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3msg.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3names.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3pdf.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3prg.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3prop.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3quark.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3regex.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3seq.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3skip.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3sort.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3str-convert.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3str.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3sys.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text-case.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %
@@ -935,6 +935,14 @@
 % \end{macro}
 % \end{macro}
 %
+% \begin{macro}[EXP]{\@@_change_case_generate:n}
+%   A utility.
+%    \begin{macrocode}
+\cs_new:Npn \@@_change_case_generate:n #1
+  { \codepoint_generate:nn {#1} { \char_value_catcode:n {#1} } }
+%    \end{macrocode}
+% \end{macro}
+%
 % \begin{macro}[EXP]
 %   {\@@_change_case_upper_de-x-eszett:nnnn, \@@_change_case_upper_de-alt:nnnn}
 %   A simple alternative version for German.
@@ -979,25 +987,22 @@
 % \begin{macro}[EXP]
 %   {
 %     \@@_change_case_upper_el_ypogegrammeni:n        ,
-%     \@@_change_case_upper_el-x-iota_ypogegrammeni:n ,
-%     \@@_change_case_upper_el_ypogegrammeni_aux:n
+%     \@@_change_case_upper_el-x-iota_ypogegrammeni:n
 %   }
+% \begin{macro}[EXP]{\@@_change_case_upper_el_stress:nn}
 % \begin{macro}[EXP]{\@@_change_case_upper_el_gobble:nnw}
 % \begin{macro}[EXP]{\@@_change_case_upper_el_gobble:nnN}
 % \begin{macro}[EXP]{\@@_change_case_upper_el_gobble:nnn}
-% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek:n}
-% \begin{macro}[EXP]{\@@_change_case_if_greek:n}
-% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek:n}
-% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek_spacing_diacritic:n}
-% \begin{macro}[EXP]{\@@_change_case_if_greek_spacing_diacritic:n}
-% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek_accent:n}
-% \begin{macro}[EXP]{\@@_change_case_if_greek_accent:n}
-% \begin{macro}[EXP,pTF]{\@@_change_case_if_greek_diacritic:n}
-% \begin{macro}[EXP]{\@@_change_case_if_greek_diacritic:n}
-% \begin{macro}[EXP,TF]{\@@_change_case_if_takes_dialytika:n}
-% \begin{macro}[EXP]{\@@_change_case_if_takes_dialytika:n}
-% \begin{macro}[EXP,TF]{\@@_change_case_if_takes_ypogegrammeni:n}
-% \begin{macro}[EXP]{\@@_change_case_if_takes_ypogegrammeni:n}
+% \begin{macro}[EXP,noTF]
+%   {
+%     \@@_change_case_if_greek:n                   ,
+%     \@@_change_case_if_greek_spacing_diacritic:n ,
+%     \@@_change_case_if_greek_accent:n            ,
+%     \@@_change_case_if_greek_breathing:n         ,
+%     \@@_change_case_if_greek_stress:n            ,
+%     \@@_change_case_if_takes_dialytika:n         ,
+%     \@@_change_case_if_takes_ypogegrammeni:n
+%   }
 %   For Greek uppercasing, we need to know if characters \emph{in the Greek
 %   range} have accents. That means doing a \textsc{nfd} conversion first, then
 %   starting a search. As described by the Unicode \textsc{cldr}, Greek accents
@@ -1131,7 +1136,7 @@
       {
         \bool_lazy_or:nnTF
           { \@@_change_case_if_greek_accent_p:n {#6} }
-          { \@@_change_case_if_greek_diacritic_p:n {#6} }
+          { \@@_change_case_if_greek_breathing_p:n {#6} }
           {
             \@@_change_case_upper_el_ypogegrammeni:nnnnnw
               {#1} {#2} {#3} {#4#6} {#5}
@@ -1152,7 +1157,7 @@
         \@@_change_case_if_greek_accent:nTF {#4}
           { \@@_change_case_upper_el_hiatus:nnnw {#2} {#3} {#1} }
           {
-            \@@_change_case_if_greek_diacritic:nTF {#4}
+            \@@_change_case_if_greek_breathing:nTF {#4}
               { \@@_change_case_upper_el:nnn {#1} {#2} {#3} }
               {
                 \@@_codepoint_compare:nNnTF {#4} = { "0345 }
@@ -1162,15 +1167,24 @@
                     \@@_change_case_loop:nnw {#2} {#3}
                   }
                   {
-                    \@@_change_case_store:e
-                      { \@@_change_case_codepoint:nn { upper } {#1} }
-                    \@@_change_case_loop:nnw {#2} {#3} #4
+                    \@@_change_case_if_greek_stress:nTF {#4}
+                      {
+                        \@@_change_case_store:e
+                          { \@@_change_case_upper_el_stress:nn {#1} {#4} }
+                        \@@_change_case_loop:nnw {#2} {#3}
+
+                      }
+                      {
+                        \@@_change_case_store:e
+                          { \@@_change_case_codepoint:nn { upper } {#1} }
+                        \@@_change_case_loop:nnw {#2} {#3} #4
+                      }
                   }
               }
           }
       }
   }
-%  \end{macrocode}
+%    \end{macrocode}
 %   We handle \emph{dialytika} in parts as it's also needed for the hiatus.
 %   We know only two letters take it, so we can shortcut here on the second
 %   part of the tests.
@@ -1247,20 +1261,20 @@
 %    \begin{macrocode}
 \cs_new:Npn \@@_change_case_upper_el_ypogegrammeni:n #1
   {
-    \int_case:nnF
-      { \@@_codepoint_from_chars:Nw #1 }
+    \exp_args:Ne \@@_change_case_generate:n
       {
-        { "0391 } { \@@_change_case_upper_el_ypogegrammeni_aux:n { "1FBC } }
-        { "03B1 } { \@@_change_case_upper_el_ypogegrammeni_aux:n { "1FBC } }
-        { "0397 } { \@@_change_case_upper_el_ypogegrammeni_aux:n { "1FCC } }
-        { "03B7 } { \@@_change_case_upper_el_ypogegrammeni_aux:n { "1FCC } }
-        { "03A9 } { \@@_change_case_upper_el_ypogegrammeni_aux:n { "1FFC } }
-        { "03C9 } { \@@_change_case_upper_el_ypogegrammeni_aux:n { "1FFC } }
+        \int_case:nn
+          { \@@_codepoint_from_chars:Nw #1 }
+          {
+            { "0391 } { "1FBC }
+            { "03B1 } { "1FBC }
+            { "0397 } { "1FCC }
+            { "03B7 } { "1FCC }
+            { "03A9 } { "1FFC }
+            { "03C9 } { "1FFC }
+          }
       }
-      { \@@_change_case_upper_el_ypogegrammeni:n {#1} }
   }
-\cs_new:Npn \@@_change_case_upper_el_ypogegrammeni_aux:n #1
-  { \codepoint_generate:nn {#1} { \char_value_catcode:n {#1} } }
 \cs_new:cpn { @@_change_case_upper_el-x-iota_ypogegrammeni:n } #1
   {
     \@@_change_case_codepoint:nn { upper } {#1}
@@ -1268,6 +1282,44 @@
       { \char_value_catcode:n { "0399 } }
   }
 %    \end{macrocode}
+%   We choose to retain stress diacritics, but we also need to recombine
+%   them for pdf\TeX{}. That is handled here.
+%    \begin{macrocode}
+\cs_new:Npn \_@@_change_case_upper_el_stress:nn #1#2
+  {
+    \exp_args:Ne \@@_change_case_generate:n
+      {
+        \int_case:nn
+          { \@@_codepoint_from_chars:Nw #2 }
+          {
+            { "0304 }
+              {
+                \int_case:nn { \@@_codepoint_from_chars:Nw #1 }
+                  {
+                    { "0391 } { "1FB9 }
+                    { "03B1 } { "1FB9 }
+                    { "0399 } { "1FD9 }
+                    { "03B9 } { "1FD9 }
+                    { "03A5 } { "1FE9 }
+                    { "03C5 } { "1FE9 }
+                  }
+              }
+            { "0306 }
+              {
+                \int_case:nn { \@@_codepoint_from_chars:Nw #1 }
+                  {
+                    { "0391 } { "1FB8 }
+                    { "03B1 } { "1FB8 }
+                    { "0399 } { "1FD8 }
+                    { "03B9 } { "1FD8 }
+                    { "03A5 } { "1FE8 }
+                    { "03C5 } { "1FE8 }
+                  }
+              }
+          }
+      }
+  }
+%    \end{macrocode}
 %   For clearing out trailing combining marks after we have dealt with
 %   the first one.
 %    \begin{macrocode}
@@ -1293,7 +1345,7 @@
   {
     \bool_lazy_or:nnTF
       { \@@_change_case_if_greek_accent_p:n {#3} }
-      { \@@_change_case_if_greek_diacritic_p:n {#3} }
+      { \@@_change_case_if_greek_breathing_p:n {#3} }
       { \@@_change_case_upper_el_gobble:nnw {#1} {#2} }
       { \@@_change_case_loop:nnw {#1} {#2} #3 }
   }
@@ -1443,14 +1495,32 @@
       \fi:
     \fi:
   }
-\prg_new_conditional:Npnn \@@_change_case_if_greek_diacritic:n
+\prg_new_conditional:Npnn \@@_change_case_if_greek_breathing:n
   #1 { TF , p }
   {
-    \exp_args:Nf \@@_change_case_if_greek_diacritic:n
+    \exp_args:Nf \@@_change_case_if_greek_breathing:n
       { \int_eval:n { \@@_codepoint_from_chars:Nw #1 } }
   }
-\cs_new:Npn \@@_change_case_if_greek_diacritic:n #1
+\cs_new:Npn \@@_change_case_if_greek_breathing:n #1
   {
+    \if_int_compare:w #1 = "0313 \exp_stop_f:
+      \prg_return_true:
+    \else:
+      \if_int_compare:w #1 = "0314 \exp_stop_f:
+        \prg_return_true:
+      \else:
+        \prg_return_false:
+      \fi:
+    \fi:
+  }
+\prg_new_conditional:Npnn \@@_change_case_if_greek_stress:n
+  #1 { TF , p }
+  {
+    \exp_args:Nf \@@_change_case_if_greek_stress:n
+      { \int_eval:n { \@@_codepoint_from_chars:Nw #1 } }
+  }
+\cs_new:Npn \@@_change_case_if_greek_stress:n #1
+  {
     \if_int_compare:w #1 = "0304 \exp_stop_f:
       \prg_return_true:
     \else:
@@ -1457,15 +1527,7 @@
       \if_int_compare:w #1 = "0306 \exp_stop_f:
         \prg_return_true:
       \else:
-        \if_int_compare:w #1 = "0313 \exp_stop_f:
-          \prg_return_true:
-        \else:
-          \if_int_compare:w #1 = "0314 \exp_stop_f:
-            \prg_return_true:
-          \else:
-            \prg_return_false:
-          \fi:
-        \fi:
+        \prg_return_false:
       \fi:
     \fi:
   }
@@ -1534,26 +1596,15 @@
 % \end{macro}
 % \end{macro}
 % \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
 % \begin{macro}[EXP]
 %   {\@@_change_case_boundary_upper_el:Nnnw, \@@_change_case_boundary_upper_el-x-iota:Nnnw}
 % \begin{macro}[EXP]{\@@_change_case_boundary_upper_el:nnN}
 % \begin{macro}[EXP]{\@@_change_case_boundary_upper_el:nnn}
 % \begin{macro}[EXP]{\@@_change_case_boundary_upper_el:nnnw}
-% \begin{macro}[EXP]{\@@_change_case_boundary_upper_el:nnnN}
-%   There is one special case in Greek that needs to be picked up based on
-%   being an isolated letter. We do that using a test similar to final sigma,
-%   but it has to fire off from the space grabber.
+%   There is one things that need special treatment at start start of
+%   words in Greek. For an isolated accent \emph{eta},
+%   which is handled by seeing if we have exactly one of the affected
+%   codepoints followed by a space or brace group.
 %    \begin{macrocode}
 \cs_new:Npn \@@_change_case_boundary_upper_el:Nnnw
   #1#2#3#4 \q_@@_recursion_stop
@@ -1585,13 +1636,13 @@
         { \@@_codepoint_compare_p:nNn {#3} = { "1F2A } }
       }
       { \@@_change_case_boundary_upper_el:nnnw {#1} {#2} {#3} }
-      { \@@_change_case_loop:nnw {#1} {#2} #3 }
+      { \@@_change_case_breathing:nnn {#1} {#2} {#3} }
   }
 \cs_new:Npn \@@_change_case_boundary_upper_el:nnnw
   #1#2#3#4 \q_@@_recursion_stop
   {
     \tl_if_head_is_N_type:nTF {#4}
-      { \@@_change_case_boundary_upper_el:nnnN {#3} }
+      { \@@_change_case_loop:nnw {#1} {#2} #3 }
       {
         \@@_change_case_store:e
           {
@@ -1598,35 +1649,125 @@
             \codepoint_generate:nn { "0389 }
               { \@@_change_case_catcode:nn {#3} { "0389 } }
           }
-        \@@_change_case_loop:nnw
+        \@@_change_case_loop:nnw {#1} {#2}
       }
-        {#1} {#2} #4 \q_@@_recursion_stop
+        #4 \q_@@_recursion_stop
   }
-\cs_new:Npn \@@_change_case_boundary_upper_el:nnnN #1#2#3#4
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}[EXP]{\@@_change_case_breathing:nnn}
+% \begin{macro}[EXP]{\@@_change_case_breathing:nnnn}
+% \begin{macro}[EXP]{\@@_change_case_breathing:nnnnw}
+% \begin{macro}[EXP]{\@@_change_case_breathing:nnnnnw}
+% \begin{macro}[EXP]{\@@_change_case_breathing_aux:nnnnn}
+% \begin{macro}[EXP]{\@@_change_case_breathing_aux:nnnw}
+% \begin{macro}[EXP]{\@@_change_case_breathing_aux:nnN}
+% \begin{macro}[EXP]{\@@_change_case_breathing_dialytika:nnn}
+%   In Greek, breathing diacritics are normally dropped when uppercasing:
+%   see the code for the general case. However, for the first character
+%   of a word, if there is a breather \emph{and} the next character takes
+%   a \emph{dialytika}, it needs to be added. We start by checking if
+%   the current codepoint is in the Greek range, then decomposing.
+%    \begin{macrocode}
+\cs_new:Npn \@@_change_case_breathing:nnn #1#2#3
   {
-    \bool_lazy_or:nnTF
-      { \token_if_letter_p:N #4 }
+    \@@_change_case_if_greek:nTF {#3}
       {
-        \bool_lazy_and_p:nn
-          { \token_if_active_p:N #4 }
-          { ! \int_compare_p:nNn {`#4} < { "80 } }
-      }
-      { \@@_change_case_loop:nnw {#2} {#3} #1#4 }
-      {
-        \@@_change_case_store:e
+        \exp_args:Ne \@@_change_case_breathing:nnnn
           {
-            \codepoint_generate:nn { "0389 }
-              { \@@_change_case_catcode:nn {#1} { "0389 } }
+            \codepoint_to_nfd:n
+              { \@@_codepoint_from_chars:Nw #3 }
           }
-        \@@_change_case_loop:nnw {#2} {#3} #4
+            {#1} {#2} {#3}
       }
+      { \@@_change_case_loop:nnw {#1} {#2} #3 }
   }
+\cs_new:Npn \@@_change_case_breathing:nnnn #1#2#3#4
+  {
+    \@@_codepoint_process:nN
+      { \@@_change_case_breathing:nnnnw {#2} {#3} {#4} }
+        #1 \q_mark
+  }
 %    \end{macrocode}
+%   Normal form decomposition will always give between one and three
+%   codepoints. Luckily, the two breathing marks (\emph{psili} and
+%   \emph{dasia}) will be in a predictable position: last. So we can
+%   quickly establish first that there was a change on decomposition,
+%   and second if the final resulting codepoint is one of the two we
+%   care about.
+%    \begin{macrocode}
+\cs_new:Npn \@@_change_case_breathing:nnnnw #1#2#3#4#5 \q_mark
+  {
+    \tl_if_blank:nTF {#5}
+      { \@@_change_case_loop:nnw {#1} {#2} #3 }
+      {
+        \@@_codepoint_process:nN
+          { \@@_change_case_breathing:nnnnnw {#1} {#2} {#3} {#4} }
+            #5 \q_mark
+      }
+  }
+\cs_new:Npn \@@_change_case_breathing:nnnnnw #1#2#3#4#5#6 \q_mark
+  {
+    \tl_if_blank:nTF {#6}
+     {
+       \@@_change_case_breathing_aux:nnnnn
+         {#1} {#2} {#3} {#4} {#5}
+     }
+     {
+       \@@_change_case_breathing_aux:nnnnn
+         {#1} {#2} {#3} {#4} {#6}
+     }
+  }
+\cs_new:Npn \@@_change_case_breathing_aux:nnnnn #1#2#3#4#5
+  {
+    \bool_lazy_or:nnTF
+      { \@@_codepoint_compare_p:nNn {#5} = { "0313 } }
+      { \@@_codepoint_compare_p:nNn {#5} = { "0314 } }
+      { \@@_change_case_breathing_aux:nnnw {#1} {#2} {#4} }
+      { \@@_change_case_loop:nnw {#1} {#2} #3 }
+  }
+%    \end{macrocode}
+%   Now the lookahead can be fired: check the next codepoint and assess
+%   whether it takes a \emph{dialytika}. Drop the 
+%    breathing mark or generate the \emph{dialytika}: the
+%   latter is code shared with the general mechanism.
+%    \begin{macrocode}
+\cs_new:Npn \@@_change_case_breathing_aux:nnnw #1#2#3#4
+  \q_@@_recursion_stop
+  {
+    \@@_change_case_store:e
+      { \@@_change_case_codepoint:nn { upper } {#3} }
+    \tl_if_head_is_N_type:nTF {#4}
+      { \@@_change_case_breathing_aux:nnN  }
+      { \@@_change_case_loop:nnw }
+        {#1} {#2} #4 \q_@@_recursion_stop
+  }
+\cs_new:Npn \@@_change_case_breathing_aux:nnN #1#2#3
+  {
+    \@@_codepoint_process:nN
+      { \@@_change_case_breathing_dialytika:nnn {#1} {#2} } #3
+  }
+\cs_new:Npn \@@_change_case_breathing_dialytika:nnn #1#2#3
+  {
+     \@@_change_case_if_takes_dialytika:nTF {#3}
+       {
+         \@@_change_case_upper_el_dialytika:n {#3}
+         \@@_change_case_loop:nnw {#1} {#2}
+       }
+       { \@@_change_case_loop:nnw {#1} {#2} #3 }
+  }
+%    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
 % \end{macro}
 % \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
 % \begin{macro}[EXP]{\@@_change_case_title_el:nnnn}
 %   Titlecasing retains accents, but to prevent the uppercasing code
 %   from kicking in, there has to be an explicit function here.
@@ -1744,7 +1885,7 @@
 %    \end{macrocode}
 %   If there was a hit, output the result with the dot-above and move on.
 %   Otherwise, look for one of the three letters that can take a combining
-%   accent: I, J and I-ogonek. 
+%   accent: I, J nd I-ogonek. 
 %    \begin{macrocode}
 \cs_new:Npn \@@_change_case_lower_lt_auxi:nnnn #1#2#3#4
   {

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text-map.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text-purify.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3text.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %
@@ -58,7 +58,7 @@
 %
 % \section{Expanding text}
 %
-% \begin{function}[EXP, added = 2020-01-02, updated = 2023-02-07]
+% \begin{function}[EXP, added = 2020-01-02, updated = 2023-06-09]
 %   {\text_expand:n}
 %   \begin{syntax}
 %     \cs{text_expand:n} \Arg{text}
@@ -71,7 +71,8 @@
 %   in \cs{l_text_math_arg_tl}). Commands which are neither engine-
 %   nor \LaTeX{} protected are expanded exhaustively.
 %   Any commands listed in \cs{l_text_expand_exclude_tl} are excluded from
-%   expansion.
+%   expansion, as are those in \cs{l_text_case_exclude_arg_tl} and
+%   \cs{l_text_math_arg_tl}.
 % \end{function}
 %
 % \begin{function}[added = 2020-01-22]
@@ -1142,6 +1143,7 @@
           {
             \exp_not:V \l_text_math_arg_tl
             \exp_not:V \l_text_expand_exclude_tl
+            \exp_not:V \l_text_case_exclude_arg_tl
           }
         #1
       }

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3tl-analysis.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -44,7 +44,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3tl.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3token.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %

Modified: trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/source/latex/l3kernel/l3unicode.dtx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -43,7 +43,7 @@
 %    }^^A
 % }
 %
-% \date{Released 2023-06-05}
+% \date{Released 2023-06-16}
 %
 % \maketitle
 %
@@ -479,8 +479,8 @@
 %    \end{macrocode}
 % Parse the main Unicode data file and pull out the NFD and case changing
 % data. The NFD data is stored on using the hash table approach and can yield
-% a predictable number of code points: one or two. We also need the case data,
-% which will be modified further below. To allow for finding rangs, the
+% a predictable number of codepoints: one or two. We also need the case data,
+% which will be modified further below. To allow for finding ranges, the
 % description of the codepoint needs to be carried forward.
 %    \begin{macrocode}
   \cs_set_protected:Npn \@@_data_auxi:w
@@ -601,7 +601,7 @@
 %    \end{macrocode}
 %   Here we want to do three things: add to and possibly complete the current
 %   block, add complete blocks quickly, then finish up the range in a final
-%   open block. We need to avoid as far as possible avoid dealing with ever
+%   open block. We need to avoid as far as possible avoid dealing with every
 %   single codepoint, so the middle step is optimised.
 %    \begin{macrocode}
   \cs_set_protected:Npn \@@_range:nnnn #1#2#3#4
@@ -668,7 +668,7 @@
 %    \end{macrocode}
 % Close out the final block, rename the first stage table, then combine all
 % of the block comma-lists into one large second-stage table with offsets.
-% As we use an index not an offet, there is a little back-and-forward to do.
+% As we use an index not an offset, there is a little back-and-forward to do.
 %    \begin{macrocode}
   \cs_set_protected:Npn \@@_finalise_blocks:
     {

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-code.tex	2023-06-17 19:59:40 UTC (rev 67394)
@@ -71,7 +71,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2023-06-05}%
+\def\ExplFileDate{2023-06-16}%
 \begingroup
   \def\next{\endgroup}%
   \expandafter\ifx\csname PackageError\endcsname\relax
@@ -11418,10 +11418,7 @@
 \cs_new:Npn \__file_full_name_aux:Nnn #1#2#3
   {
     \exp_args:Ne \__file_full_name_aux:nN
-      {
-        \exp_args:Ne \__file_full_name_slash:n
-          { \tl_to_str:n {#3} } #2
-      }
+      { \__file_full_name_slash:n {#3} #2 }
       #1
   }
 \cs_new:Npn \__file_full_name_slash:n #1
@@ -32543,6 +32540,7 @@
           {
             \exp_not:V \l_text_math_arg_tl
             \exp_not:V \l_text_expand_exclude_tl
+            \exp_not:V \l_text_case_exclude_arg_tl
           }
         #1
       }
@@ -33322,6 +33320,8 @@
     #1
   }
 \cs_new:Npn \__text_case_switch_marker: { }
+\cs_new:Npn \__text_change_case_generate:n #1
+  { \codepoint_generate:nn {#1} { \char_value_catcode:n {#1} } }
 \cs_new:cpn { __text_change_case_upper_de-x-eszett:nnnn } #1#2#3#4
   {
     \__text_codepoint_compare:nNnTF {#4} = { "00DF }
@@ -33444,7 +33444,7 @@
       {
         \bool_lazy_or:nnTF
           { \__text_change_case_if_greek_accent_p:n {#6} }
-          { \__text_change_case_if_greek_diacritic_p:n {#6} }
+          { \__text_change_case_if_greek_breathing_p:n {#6} }
           {
             \__text_change_case_upper_el_ypogegrammeni:nnnnnw
               {#1} {#2} {#3} {#4#6} {#5}
@@ -33465,7 +33465,7 @@
         \__text_change_case_if_greek_accent:nTF {#4}
           { \__text_change_case_upper_el_hiatus:nnnw {#2} {#3} {#1} }
           {
-            \__text_change_case_if_greek_diacritic:nTF {#4}
+            \__text_change_case_if_greek_breathing:nTF {#4}
               { \__text_change_case_upper_el:nnn {#1} {#2} {#3} }
               {
                 \__text_codepoint_compare:nNnTF {#4} = { "0345 }
@@ -33475,9 +33475,18 @@
                     \__text_change_case_loop:nnw {#2} {#3}
                   }
                   {
-                    \__text_change_case_store:e
-                      { \__text_change_case_codepoint:nn { upper } {#1} }
-                    \__text_change_case_loop:nnw {#2} {#3} #4
+                    \__text_change_case_if_greek_stress:nTF {#4}
+                      {
+                        \__text_change_case_store:e
+                          { \__text_change_case_upper_el_stress:nn {#1} {#4} }
+                        \__text_change_case_loop:nnw {#2} {#3}
+
+                      }
+                      {
+                        \__text_change_case_store:e
+                          { \__text_change_case_codepoint:nn { upper } {#1} }
+                        \__text_change_case_loop:nnw {#2} {#3} #4
+                      }
                   }
               }
           }
@@ -33548,20 +33557,20 @@
   }
 \cs_new:Npn \__text_change_case_upper_el_ypogegrammeni:n #1
   {
-    \int_case:nnF
-      { \__text_codepoint_from_chars:Nw #1 }
+    \exp_args:Ne \__text_change_case_generate:n
       {
-        { "0391 } { \__text_change_case_upper_el_ypogegrammeni_aux:n { "1FBC } }
-        { "03B1 } { \__text_change_case_upper_el_ypogegrammeni_aux:n { "1FBC } }
-        { "0397 } { \__text_change_case_upper_el_ypogegrammeni_aux:n { "1FCC } }
-        { "03B7 } { \__text_change_case_upper_el_ypogegrammeni_aux:n { "1FCC } }
-        { "03A9 } { \__text_change_case_upper_el_ypogegrammeni_aux:n { "1FFC } }
-        { "03C9 } { \__text_change_case_upper_el_ypogegrammeni_aux:n { "1FFC } }
+        \int_case:nn
+          { \__text_codepoint_from_chars:Nw #1 }
+          {
+            { "0391 } { "1FBC }
+            { "03B1 } { "1FBC }
+            { "0397 } { "1FCC }
+            { "03B7 } { "1FCC }
+            { "03A9 } { "1FFC }
+            { "03C9 } { "1FFC }
+          }
       }
-      { \__text_change_case_upper_el_ypogegrammeni:n {#1} }
   }
-\cs_new:Npn \__text_change_case_upper_el_ypogegrammeni_aux:n #1
-  { \codepoint_generate:nn {#1} { \char_value_catcode:n {#1} } }
 \cs_new:cpn { __text_change_case_upper_el-x-iota_ypogegrammeni:n } #1
   {
     \__text_change_case_codepoint:nn { upper } {#1}
@@ -33568,6 +33577,40 @@
     \codepoint_generate:nn { "0399 }
       { \char_value_catcode:n { "0399 } }
   }
+\cs_new:Npn \__text_change_case_upper_el_stress:nn #1#2
+  {
+    \exp_args:Ne \__text_change_case_generate:n
+      {
+        \int_case:nn
+          { \__text_codepoint_from_chars:Nw #2 }
+          {
+            { "0304 }
+              {
+                \int_case:nn { \__text_codepoint_from_chars:Nw #1 }
+                  {
+                    { "0391 } { "1FB9 }
+                    { "03B1 } { "1FB9 }
+                    { "0399 } { "1FD9 }
+                    { "03B9 } { "1FD9 }
+                    { "03A5 } { "1FE9 }
+                    { "03C5 } { "1FE9 }
+                  }
+              }
+            { "0306 }
+              {
+                \int_case:nn { \__text_codepoint_from_chars:Nw #1 }
+                  {
+                    { "0391 } { "1FB8 }
+                    { "03B1 } { "1FB8 }
+                    { "0399 } { "1FD8 }
+                    { "03B9 } { "1FD8 }
+                    { "03A5 } { "1FE8 }
+                    { "03C5 } { "1FE8 }
+                  }
+              }
+          }
+      }
+  }
 \cs_new:Npn \__text_change_case_upper_el_gobble:nnw
   #1#2#3 \q__text_recursion_stop
   {
@@ -33590,7 +33633,7 @@
   {
     \bool_lazy_or:nnTF
       { \__text_change_case_if_greek_accent_p:n {#3} }
-      { \__text_change_case_if_greek_diacritic_p:n {#3} }
+      { \__text_change_case_if_greek_breathing_p:n {#3} }
       { \__text_change_case_upper_el_gobble:nnw {#1} {#2} }
       { \__text_change_case_loop:nnw {#1} {#2} #3 }
   }
@@ -33734,14 +33777,32 @@
       \fi:
     \fi:
   }
-\prg_new_conditional:Npnn \__text_change_case_if_greek_diacritic:n
+\prg_new_conditional:Npnn \__text_change_case_if_greek_breathing:n
   #1 { TF , p }
   {
-    \exp_args:Nf \__text_change_case_if_greek_diacritic:n
+    \exp_args:Nf \__text_change_case_if_greek_breathing:n
       { \int_eval:n { \__text_codepoint_from_chars:Nw #1 } }
   }
-\cs_new:Npn \__text_change_case_if_greek_diacritic:n #1
+\cs_new:Npn \__text_change_case_if_greek_breathing:n #1
   {
+    \if_int_compare:w #1 = "0313 \exp_stop_f:
+      \prg_return_true:
+    \else:
+      \if_int_compare:w #1 = "0314 \exp_stop_f:
+        \prg_return_true:
+      \else:
+        \prg_return_false:
+      \fi:
+    \fi:
+  }
+\prg_new_conditional:Npnn \__text_change_case_if_greek_stress:n
+  #1 { TF , p }
+  {
+    \exp_args:Nf \__text_change_case_if_greek_stress:n
+      { \int_eval:n { \__text_codepoint_from_chars:Nw #1 } }
+  }
+\cs_new:Npn \__text_change_case_if_greek_stress:n #1
+  {
     \if_int_compare:w #1 = "0304 \exp_stop_f:
       \prg_return_true:
     \else:
@@ -33748,15 +33809,7 @@
       \if_int_compare:w #1 = "0306 \exp_stop_f:
         \prg_return_true:
       \else:
-        \if_int_compare:w #1 = "0313 \exp_stop_f:
-          \prg_return_true:
-        \else:
-          \if_int_compare:w #1 = "0314 \exp_stop_f:
-            \prg_return_true:
-          \else:
-            \prg_return_false:
-          \fi:
-        \fi:
+        \prg_return_false:
       \fi:
     \fi:
   }
@@ -33836,13 +33889,13 @@
         { \__text_codepoint_compare_p:nNn {#3} = { "1F2A } }
       }
       { \__text_change_case_boundary_upper_el:nnnw {#1} {#2} {#3} }
-      { \__text_change_case_loop:nnw {#1} {#2} #3 }
+      { \__text_change_case_breathing:nnn {#1} {#2} {#3} }
   }
 \cs_new:Npn \__text_change_case_boundary_upper_el:nnnw
   #1#2#3#4 \q__text_recursion_stop
   {
     \tl_if_head_is_N_type:nTF {#4}
-      { \__text_change_case_boundary_upper_el:nnnN {#3} }
+      { \__text_change_case_loop:nnw {#1} {#2} #3 }
       {
         \__text_change_case_store:e
           {
@@ -33849,29 +33902,83 @@
             \codepoint_generate:nn { "0389 }
               { \__text_change_case_catcode:nn {#3} { "0389 } }
           }
-        \__text_change_case_loop:nnw
+        \__text_change_case_loop:nnw {#1} {#2}
       }
-        {#1} {#2} #4 \q__text_recursion_stop
+        #4 \q__text_recursion_stop
   }
-\cs_new:Npn \__text_change_case_boundary_upper_el:nnnN #1#2#3#4
+\cs_new:Npn \__text_change_case_breathing:nnn #1#2#3
   {
-    \bool_lazy_or:nnTF
-      { \token_if_letter_p:N #4 }
+    \__text_change_case_if_greek:nTF {#3}
       {
-        \bool_lazy_and_p:nn
-          { \token_if_active_p:N #4 }
-          { ! \int_compare_p:nNn {`#4} < { "80 } }
-      }
-      { \__text_change_case_loop:nnw {#2} {#3} #1#4 }
-      {
-        \__text_change_case_store:e
+        \exp_args:Ne \__text_change_case_breathing:nnnn
           {
-            \codepoint_generate:nn { "0389 }
-              { \__text_change_case_catcode:nn {#1} { "0389 } }
+            \codepoint_to_nfd:n
+              { \__text_codepoint_from_chars:Nw #3 }
           }
-        \__text_change_case_loop:nnw {#2} {#3} #4
+            {#1} {#2} {#3}
       }
+      { \__text_change_case_loop:nnw {#1} {#2} #3 }
   }
+\cs_new:Npn \__text_change_case_breathing:nnnn #1#2#3#4
+  {
+    \__text_codepoint_process:nN
+      { \__text_change_case_breathing:nnnnw {#2} {#3} {#4} }
+        #1 \q_mark
+  }
+\cs_new:Npn \__text_change_case_breathing:nnnnw #1#2#3#4#5 \q_mark
+  {
+    \tl_if_blank:nTF {#5}
+      { \__text_change_case_loop:nnw {#1} {#2} #3 }
+      {
+        \__text_codepoint_process:nN
+          { \__text_change_case_breathing:nnnnnw {#1} {#2} {#3} {#4} }
+            #5 \q_mark
+      }
+  }
+\cs_new:Npn \__text_change_case_breathing:nnnnnw #1#2#3#4#5#6 \q_mark
+  {
+    \tl_if_blank:nTF {#6}
+     {
+       \__text_change_case_breathing_aux:nnnnn
+         {#1} {#2} {#3} {#4} {#5}
+     }
+     {
+       \__text_change_case_breathing_aux:nnnnn
+         {#1} {#2} {#3} {#4} {#6}
+     }
+  }
+\cs_new:Npn \__text_change_case_breathing_aux:nnnnn #1#2#3#4#5
+  {
+    \bool_lazy_or:nnTF
+      { \__text_codepoint_compare_p:nNn {#5} = { "0313 } }
+      { \__text_codepoint_compare_p:nNn {#5} = { "0314 } }
+      { \__text_change_case_breathing_aux:nnnw {#1} {#2} {#4} }
+      { \__text_change_case_loop:nnw {#1} {#2} #3 }
+  }
+\cs_new:Npn \__text_change_case_breathing_aux:nnnw #1#2#3#4
+  \q__text_recursion_stop
+  {
+    \__text_change_case_store:e
+      { \__text_change_case_codepoint:nn { upper } {#3} }
+    \tl_if_head_is_N_type:nTF {#4}
+      { \__text_change_case_breathing_aux:nnN  }
+      { \__text_change_case_loop:nnw }
+        {#1} {#2} #4 \q__text_recursion_stop
+  }
+\cs_new:Npn \__text_change_case_breathing_aux:nnN #1#2#3
+  {
+    \__text_codepoint_process:nN
+      { \__text_change_case_breathing_dialytika:nnn {#1} {#2} } #3
+  }
+\cs_new:Npn \__text_change_case_breathing_dialytika:nnn #1#2#3
+  {
+     \__text_change_case_if_takes_dialytika:nTF {#3}
+       {
+         \__text_change_case_upper_el_dialytika:n {#3}
+         \__text_change_case_loop:nnw {#1} {#2}
+       }
+       { \__text_change_case_loop:nnw {#1} {#2} #3 }
+  }
 \cs_new:Npn \__text_change_case_title_el:nnnn #1#2#3#4
   { \__text_change_case_codepoint:nnnn {#1} {#2} {#3} {#4} }
 \cs_new:Npn \__text_change_case_upper_hy:nnnn #1#2#3#4

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3-generic.tex	2023-06-17 19:59:40 UTC (rev 67394)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2023-06-05}%
+\def\ExplFileDate{2023-06-16}%
 \let\ExplLoaderFileDate\ExplFileDate
 \begingroup
   \catcode`\_=11

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.ltx	2023-06-17 19:59:40 UTC (rev 67394)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2023-06-05}%
+\def\ExplFileDate{2023-06-16}%
 \let\ExplLoaderFileDate\ExplFileDate
 \begingroup
   \catcode`\_=11

Modified: trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty	2023-06-17 19:59:17 UTC (rev 67393)
+++ trunk/Master/texmf-dist/tex/latex/l3kernel/expl3.sty	2023-06-17 19:59:40 UTC (rev 67394)
@@ -19,7 +19,7 @@
 %% and all files in that bundle must be distributed together.
 %% 
 %% File: expl3.dtx
-\def\ExplFileDate{2023-06-05}%
+\def\ExplFileDate{2023-06-16}%
 \let\ExplLoaderFileDate\ExplFileDate
 \ProvidesPackage{expl3}
   [%



More information about the tex-live-commits mailing list.