Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
base repository: latex3/latex3
base: 2019-10-14
head repository: latex3/latex3
compare: 2019-10-21
  • 13 commits
  • 72 files changed
  • 2 comments
  • 3 contributors
Commits on Oct 15, 2019
Commits on Oct 20, 2019
Windows ignores spaces at the end of an extension,
and does not allow creation of files starting with a space
from the GUI. As such, this change gives us the
best chance to have consistent cross-platform
behaviour.
Showing with 1,161 additions and 85 deletions.
  1. BIN discussionpapers/2019-07-thoughts-on-hooks.pdf
  2. BIN discussionpapers/2019-thoughts-on-hooks.pdf
  3. +41 −1 discussionpapers/{2019-07-thoughts-on-hooks.tex → 2019-thoughts-on-hooks.tex}
  4. +18 −1 l3kernel/CHANGELOG.md
  5. +1 −1 l3kernel/README.md
  6. +2 −2 l3kernel/expl3.dtx
  7. +1 −1 l3kernel/interface3.tex
  8. +6 −2 l3kernel/l3alloc.dtx
  9. +8 −2 l3kernel/l3basics.dtx
  10. +1 −1 l3kernel/l3bootstrap.dtx
  11. +1 −1 l3kernel/l3box.dtx
  12. +1 −1 l3kernel/l3candidates.dtx
  13. +1 −1 l3kernel/l3clist.dtx
  14. +1 −1 l3kernel/l3coffins.dtx
  15. +1 −1 l3kernel/l3color-base.dtx
  16. +1 −1 l3kernel/l3debug.dtx
  17. +1 −1 l3kernel/l3deprecation.dtx
  18. +1 −1 l3kernel/l3doc.dtx
  19. +1 −1 l3kernel/l3docstrip.dtx
  20. +1 −1 l3kernel/l3expan.dtx
  21. +40 −3 l3kernel/l3file.dtx
  22. +1 −1 l3kernel/l3final.dtx
  23. +1 −1 l3kernel/l3flag.dtx
  24. +1 −1 l3kernel/l3fp-assign.dtx
  25. +1 −1 l3kernel/l3fp-aux.dtx
  26. +1 −1 l3kernel/l3fp-basics.dtx
  27. +1 −1 l3kernel/l3fp-convert.dtx
  28. +1 −1 l3kernel/l3fp-expo.dtx
  29. +1 −1 l3kernel/l3fp-extended.dtx
  30. +1 −1 l3kernel/l3fp-logic.dtx
  31. +1 −1 l3kernel/l3fp-parse.dtx
  32. +1 −1 l3kernel/l3fp-random.dtx
  33. +1 −1 l3kernel/l3fp-round.dtx
  34. +1 −1 l3kernel/l3fp-traps.dtx
  35. +1 −1 l3kernel/l3fp-trig.dtx
  36. +1 −1 l3kernel/l3fp.dtx
  37. +1 −1 l3kernel/l3fparray.dtx
  38. +6 −7 l3kernel/l3int.dtx
  39. +1 −1 l3kernel/l3intarray.dtx
  40. +1 −1 l3kernel/l3kernel-functions.dtx
  41. +1 −1 l3kernel/l3keys.dtx
  42. +1 −1 l3kernel/l3legacy.dtx
  43. +28 −1 l3kernel/l3luatex.dtx
  44. +1 −1 l3kernel/l3msg.dtx
  45. +27 −6 l3kernel/l3names.dtx
  46. +1 −1 l3kernel/l3prg.dtx
  47. +1 −1 l3kernel/l3prop.dtx
  48. +1 −1 l3kernel/l3quark.dtx
  49. +1 −1 l3kernel/l3regex.dtx
  50. +1 −1 l3kernel/l3seq.dtx
  51. +1 −1 l3kernel/l3skip.dtx
  52. +1 −1 l3kernel/l3sort.dtx
  53. +1 −1 l3kernel/l3str-convert.dtx
  54. +1 −1 l3kernel/l3str.dtx
  55. +1 −1 l3kernel/l3styleguide.tex
  56. +1 −1 l3kernel/l3syntax-changes.tex
  57. +3 −3 l3kernel/l3sys.dtx
  58. +1 −1 l3kernel/l3term-glossary.tex
  59. +1 −1 l3kernel/l3tl-analysis.dtx
  60. +1 −1 l3kernel/l3tl.dtx
  61. +1 −1 l3kernel/l3token.dtx
  62. +1 −1 l3kernel/l3unicode.dtx
  63. +1 −1 l3kernel/source3.tex
  64. +19 −0 l3kernel/testfiles/m3int001.uptex.tlg
  65. +615 −0 l3kernel/testfiles/m3int002.ptex.tlg
  66. +2 −2 l3kernel/testfiles/m3int002.uptex.tlg
  67. +52 −0 l3kernel/testfiles/m3ior001.ptex.tlg
  68. +2 −2 l3kernel/testfiles/m3ior001.uptex.tlg
  69. +83 −0 l3kernel/testfiles/m3iow001.ptex.tlg
  70. +2 −2 l3kernel/testfiles/m3iow001.uptex.tlg
  71. +78 −0 l3kernel/testfiles/m3sort001.ptex.tlg
  72. +78 −0 l3kernel/testfiles/m3sort001.uptex.tlg
Binary file not shown.
Binary file not shown.
@@ -7,7 +7,7 @@
% \and
\LaTeX{} Project Team}

\date{2019-07-01}
\date{2019-10-15}

\newcounter{hook}
\newcounter{config}
@@ -239,6 +239,46 @@ \subsubsection{Document viz repeated hooks}



\subsection{Thoughts on the \cs{end} (environment) interface}

From a mail by Will:
\begin{verbatim}
1. It’s interesting that breqn redefines \end or now “\end “ to be:
\@namedef{end }#1{\csname end#1\endcsname \latex@end{#1}}%
This allows an environment end definition like this:
\def\enddmath#1{\check@punct@or@qed}
which “absorbs” the \latex@end (the #1), switches over to the aux
function, which is
\def\check@punct@or@qed#1{…
\def\finish@end{\csname end@#1\endcsname\latex@end{#1}}%
\check@punct
}
which allows \futurelet lookahead and all that, using \finish@end
finally to tidy up the environment properly.
This is all rather convoluted and very neat and tidy.
As far as I know there are no incompatibilities with breqn and any
other major package, so the question arises whether it would be worth
setting up "\end “ a little more directly to allow this behaviour. Of
course it will slow down every environment in a document by one
expansion, but is that a big deal? It may well be, I don’t know.
2. If we build a hook into 2e to provide this, do we add an interface
to xparse to allow environments to lookahead? As well as being useful
for breqn — and it’s such a good part of breqn I’d argue it’s worth
breaking it out from there for xmath — wouldn’t this style of
lookahead be needed for LDB concepts?
\end{verbatim}


\section{Hooks and config points in various places}

In this section we collect existing \LaTeXe{} hooks (both by the
@@ -7,6 +7,22 @@ this project uses date-based 'snapshot' version identifiers.

## [Unreleased]

## [2019-10-21]

### Added

- Lua function `l3kernel.shellescape()`

### Changed

- Better coverage of (u)pTeX primitives following publication of
pTeX manual in English
- Trim spaces surrounding file names

### Removed

- HarfTeX primitives

## [2019-10-14]

### Fixed
@@ -562,7 +578,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step func­tions have been added for dim vari­ables,
e.g. `\dim_step_in­line:nnnn`

[Unreleased]: https://github.com/latex3/latex3/compare/2019-10-14...HEAD
[Unreleased]: https://github.com/latex3/latex3/compare/2019-10-21...HEAD
[2019-10-21]: https://github.com/latex3/latex3/compare/2019-10-14...2019-10-21
[2019-10-14]: https://github.com/latex3/latex3/compare/2019-10-11...2019-10-14
[2019-10-11]: https://github.com/latex3/latex3/compare/2019-10-02...2019-10-11
[2019-10-02]: https://github.com/latex3/latex3/compare/2019-09-30...2019-10-02
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================

Release 2019-10-14
Release 2019-10-21

Overview
--------
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
\def\ExplFileDate{2019-10-14}%
\def\ExplFileDate{2019-10-21}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -54,7 +54,7 @@
{latex-team@latex-project.org}%
}%
}
\date{Released 2019-10-14}
\date{Released 2019-10-21}

\pagenumbering{roman}
\maketitle
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -145,7 +145,11 @@
\exp_not:N \@@_reg:nNnN { box }
\cs_if_exist:NTF \tex_luatexversion:D
{ \tex_chardef:D }
{ \tex_mathchardef:D }
{
\cs_if_exist:NTF \tex_omathchardef:D
{ \tex_omathchardef:D }
{ \tex_mathchardef:D }
}
\c_max_register_int
#1
}
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -1508,11 +1508,17 @@
% \begin{variable}{\c_max_register_int}
% This is here as this particular integer is needed both in package
% mode and to bootstrap \pkg{l3alloc}, and is documented in \pkg{l3int}.
% \LuaTeX{} and those which contain parts of the Omega extensions have
% more registers available than \eTeX{}.
% \begin{macrocode}
\tex_ifdefined:D \tex_luatexversion:D
\tex_chardef:D \c_max_register_int = 65 535 ~
\tex_else:D
\tex_mathchardef:D \c_max_register_int = 32 767 ~
\tex_ifdefined:D \tex_omathchardef:D
\tex_omathchardef:D \c_max_register_int = 65535 ~
\tex_else:D
\tex_mathchardef:D \c_max_register_int = 32767 ~
\tex_fi:D
\tex_fi:D
% \end{macrocode}
% \end{variable}
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -44,7 +44,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -44,7 +44,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -79,7 +79,7 @@ and all files in that bundle must be distributed together.
%
% \title{The \cls{l3doc} class}
% \author{\Team}
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
% \maketitle
% \tableofcontents
%
@@ -63,7 +63,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -44,7 +44,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -69,6 +69,11 @@
% using |"| tokens if they contain spaces: as a result, |"| tokens are
% \emph{not} permitted in file names.
%
% Spaces are trimmed at the beginning and end of the file name:
% this reflects the fact that some file systems do not allow or interact
% unpredictably with spaces in these positions. When no extension is given,
% this will trim spaces from the start of the name only.
%
% \section{Input--output stream management}
%
% As \TeX{} engines have a limited number of input and output streams, direct
@@ -2362,15 +2367,22 @@
% \begin{macro}[rEXP]{\__kernel_file_name_expand_N_type:Nw}
% \begin{macro}[rEXP]{\__kernel_file_name_expand_group:nw}
% \begin{macro}[rEXP]{\__kernel_file_name_expand_space:w}
% \begin{macro}[rEXP]{\__kernel_file_name_trim_spaces:n}
% \begin{macro}[rEXP]{\__kernel_file_name_trim_spaces:nw}
% \begin{macro}[rEXP]{\__kernel_file_name_trim_spaces_aux:n}
% \begin{macro}[rEXP]{\__kernel_file_name_trim_spaces_aux:w}
% Expanding the file name without expanding active characters is done
% using the same token-by-token approach as for example case changing.
% The finale outcome only need be \texttt{e}-type expandable, so there
% is no need for the shuffling that is seen in other locations.
% \begin{macrocode}
\cs_new:Npn \__kernel_file_name_sanitize:n #1
{
\__kernel_file_name_expand_loop:w #1
\q_recursion_tail \q_recursion_stop
\exp_args:Ne \__kernel_file_name_trim_spaces:n
{
\__kernel_file_name_expand_loop:w #1
\q_recursion_tail \q_recursion_stop
}
}
\cs_new:Npn \__kernel_file_name_expand_loop:w #1 \q_recursion_stop
{
@@ -2419,6 +2431,31 @@
\exp_not:N \__kernel_file_name_expand_loop:w
}
% \end{macrocode}
% Spaces need to be trimmed from the start of the name and from the end of
% any extension. However, the name we are passed might not have an extension:
% that means we have to look for one. If there is no extension, we still use
% the standard trimming function but deliberately prevent any spaces being
% removed at the end.
% \begin{macrocode}
\cs_new:Npn \__kernel_file_name_trim_spaces:n #1
{ \__kernel_file_name_trim_spaces:nw {#1} #1 . \q_nil . \q_stop }
\cs_new:Npn \__kernel_file_name_trim_spaces:nw #1#2 . #3 . #4 \q_stop
{
\quark_if_nil:nTF {#3}
{
\exp_args:Ne \__kernel_file_name_trim_spaces_aux:n
{ \tl_trim_spaces:n { #1 \s_stop } }
}
{ \tl_trim_spaces:n {#1} }
}
\cs_new:Npn \__kernel_file_name_trim_spaces_aux:n #1
{ \__kernel_file_name_trim_spaces_aux:w #1 }
\cs_new:Npn \__kernel_file_name_trim_spaces_aux:w #1 \s_stop {#1}
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
% \maketitle
%
% \begin{documentation}
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%
@@ -40,7 +40,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
% \date{Released 2019-10-14}
% \date{Released 2019-10-21}
%
% \maketitle
%

Showing you all comments on commits in this comparison.

@aminophen

This comment has been minimized.

Copy link
Contributor

@aminophen aminophen commented on 58d6f95 Oct 19, 2019

\tex_fhi:D\tex_hfi:D

@PhelypeOleinik

This comment has been minimized.

Copy link
Member

@PhelypeOleinik PhelypeOleinik commented on 58d6f95 Oct 19, 2019

@aminophen Fixed. Thanks!