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-11
head repository: latex3/latex3
compare: 2020-01-12
Commits on Oct 11, 2019
Commits on Oct 14, 2019
The formatting here is similar to the kernel banner.
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.
Commits on Oct 24, 2019
This addresses
```latex
\typeout{[\file_full_name:n{a~b}]}
\typeout{[\file_full_name:n{zzz-noext}]}
\typeout{[\file_full_name:n{space~here/abc}]}
```
as raised by David (I was not passing the name of the
directory!), but leaves a couple of LuaTeX-specific ones.
Commits on Oct 26, 2019
This aligns with 'new' iftex package and also
guidance from pTeX devs.
Commits on Oct 27, 2019
This will be needed as part of preloading.
Commits on Oct 30, 2019
Commits on Nov 03, 2019
Commits on Nov 06, 2019
More hopefully to come once they get lists from
work on the VM.
Commits on Nov 07, 2019
Commits on Nov 08, 2019
Should now have better dep coverage.
... can't believe nothing marks it as a dependency!
Commits on Nov 14, 2019
Also make sure they all typeset:
a few fixes.
This is heavily based on ltnews.tex, originally
by Heiko Oberidek.
This is primarily for the news, but makes things a little clearer generally.
The set-up is the same as for LaTeX2e.
We likely want to fix all of this in a class ...
The remaining files were of historical interest
only: they are there in the history if we need them
(unlikely).
Commits on Nov 20, 2019
This matches e.g. \str_range:nnn.
Commits on Dec 01, 2019
Commits on Dec 05, 2019
Commits on Jan 09, 2020
The name may yet need work here: unicode?
Still experimental but has to come before the text functions.
Still experimental as the output format still needs to
be agreed, and name may still need some work.
Commits on Jan 13, 2020
Showing with 6,952 additions and 4,290 deletions.
  1. +0 −1 README.md
  2. +4 −4 build-config.lua
  3. +1 −3 contrib/testfiles/ctex001.luatex.tlg
  4. +2 −2 contrib/testfiles/ctex001.lvt
  5. +1 −3 contrib/testfiles/ctex001.ptex.tlg
  6. +1 −3 contrib/testfiles/ctex001.tlg
  7. +1 −3 contrib/testfiles/ctex001.uptex.tlg
  8. +4 −4 contrib/testfiles/ctex002.luatex.tlg
  9. +1 −1 contrib/testfiles/ctex002.lvt
  10. +1 −3 contrib/testfiles/ctex002.ptex.tlg
  11. +1 −3 contrib/testfiles/ctex002.uptex.tlg
  12. +7 −7 contrib/testfiles/unicode-math001.luatex.tlg
  13. +7 −7 contrib/testfiles/unicode-math001.xetex.tlg
  14. BIN discussionpapers/2019-07-thoughts-on-hooks.pdf
  15. BIN discussionpapers/2019-thoughts-on-hooks.pdf
  16. +41 −1 discussionpapers/{2019-07-thoughts-on-hooks.tex → 2019-thoughts-on-hooks.tex}
  17. +7 −7 l3backend/CHANGELOG.md
  18. +2 −2 l3backend/README.md
  19. +6 −3 l3backend/build.lua
  20. +9 −19 l3backend/l3backend-basics.dtx
  21. +2 −2 l3backend/l3backend-box.dtx
  22. +2 −1 l3backend/l3backend-code.tex
  23. +2 −2 l3backend/l3backend-color.dtx
  24. +2 −2 l3backend/l3backend-draw.dtx
  25. +2 −2 l3backend/l3backend-graphics.dtx
  26. +574 −0 l3backend/l3backend-header.dtx
  27. +2 −531 l3backend/l3backend-pdf.dtx
  28. +4 −0 l3backend/l3backend.ins
  29. +10 −17 l3experimental/CHANGELOG.md
  30. +2 −2 l3experimental/README.md
  31. +3 −3 l3experimental/l3benchmark/l3benchmark.dtx
  32. +2 −2 l3experimental/l3benchmark/l3benchmark.ins
  33. +3 −3 l3experimental/l3cctab/l3cctab.dtx
  34. +2 −2 l3experimental/l3cctab/l3cctab.ins
  35. +3 −3 l3experimental/l3color/l3color.dtx
  36. +2 −2 l3experimental/l3color/l3color.ins
  37. +2 −2 l3experimental/l3draw/l3draw-boxes.dtx
  38. +2 −2 l3experimental/l3draw/l3draw-layers.dtx
  39. +3 −2 l3experimental/l3draw/l3draw-paths.dtx
  40. +2 −2 l3experimental/l3draw/l3draw-points.dtx
  41. +2 −2 l3experimental/l3draw/l3draw-scopes.dtx
  42. +2 −2 l3experimental/l3draw/l3draw-softpath.dtx
  43. +2 −2 l3experimental/l3draw/l3draw-state.dtx
  44. +2 −2 l3experimental/l3draw/l3draw-transforms.dtx
  45. +3 −3 l3experimental/l3draw/l3draw.dtx
  46. +2 −2 l3experimental/l3draw/l3draw.ins
  47. +5 −5 l3experimental/l3graphics/l3graphics.dtx
  48. +2 −2 l3experimental/l3graphics/l3graphics.ins
  49. +3 −3 l3experimental/l3pdf/l3pdf.dtx
  50. +2 −2 l3experimental/l3pdf/l3pdf.ins
  51. +3 −3 l3experimental/l3str/l3str-format.dtx
  52. +2 −2 l3experimental/l3str/l3str.ins
  53. +3 −3 l3experimental/l3sys-shell/l3sys-shell.dtx
  54. +2 −2 l3experimental/l3sys-shell/l3sys-shell.ins
  55. +3 −3 l3experimental/xcoffins/xcoffins.dtx
  56. +2 −2 l3experimental/xcoffins/xcoffins.ins
  57. +3 −3 l3experimental/xgalley/l3galley.dtx
  58. +3 −3 l3experimental/xgalley/xgalley.dtx
  59. +2 −2 l3experimental/xgalley/xgalley.ins
  60. +75 −67 l3kernel/CHANGELOG.md
  61. +2 −2 l3kernel/README.md
  62. +8 −5 l3kernel/build.lua
  63. +2 −2 l3kernel/{ → doc}/interface3.tex
  64. +157 −0 l3kernel/doc/l3news.tex
  65. 0 {news → l3kernel/doc}/l3news01.tex
  66. 0 {news → l3kernel/doc}/l3news02.tex
  67. 0 {news → l3kernel/doc}/l3news03.tex
  68. 0 {news → l3kernel/doc}/l3news04.tex
  69. 0 {news → l3kernel/doc}/l3news05.tex
  70. 0 {news → l3kernel/doc}/l3news06.tex
  71. 0 {news → l3kernel/doc}/l3news07.tex
  72. +1 −1 {news → l3kernel/doc}/l3news08.tex
  73. +6 −6 {news → l3kernel/doc}/l3news09.tex
  74. 0 {news → l3kernel/doc}/l3news10.tex
  75. +2 −5 {news → l3kernel/doc}/l3news11.tex
  76. +352 −0 l3kernel/doc/l3news12.tex
  77. +14 −0 l3kernel/{ → doc}/l3obsolete.txt
  78. +3 −0 l3kernel/{ → doc}/l3prefixes.csv
  79. 0 l3kernel/{ → doc}/l3prefixes.tex
  80. +2 −2 l3kernel/{ → doc}/l3styleguide.tex
  81. +2 −2 l3kernel/{ → doc}/l3syntax-changes.tex
  82. +2 −2 l3kernel/{ → doc}/l3term-glossary.tex
  83. +2 −2 l3kernel/{ → doc}/source3.tex
  84. +7 −0 l3kernel/{ → doc}/source3body.tex
  85. +50 −88 l3kernel/expl3.dtx
  86. +5 −3 l3kernel/l3.ins
  87. +7 −3 l3kernel/l3alloc.dtx
  88. +8 −2 l3kernel/l3basics.dtx
  89. +1 −1 l3kernel/l3bootstrap.dtx
  90. +2 −2 l3kernel/l3box.dtx
  91. +106 −1,826 l3kernel/l3candidates.dtx
  92. +2 −2 l3kernel/l3clist.dtx
  93. +2 −2 l3kernel/l3coffins.dtx
  94. +2 −2 l3kernel/l3color-base.dtx
  95. +2 −2 l3kernel/l3debug.dtx
  96. +82 −3 l3kernel/l3deprecation.dtx
  97. +3 −3 l3kernel/l3doc.dtx
  98. +2 −2 l3kernel/l3docstrip.dtx
  99. +5 −3 l3kernel/l3expan.dtx
  100. +305 −125 l3kernel/l3file.dtx
  101. +2 −2 l3kernel/l3final.dtx
  102. +2 −2 l3kernel/l3flag.dtx
  103. +5 −4 l3kernel/l3format.ins
  104. +1 −1 l3kernel/l3fp-assign.dtx
  105. +2 −2 l3kernel/l3fp-aux.dtx
  106. +2 −2 l3kernel/l3fp-basics.dtx
  107. +2 −2 l3kernel/l3fp-convert.dtx
  108. +2 −2 l3kernel/l3fp-expo.dtx
  109. +2 −2 l3kernel/l3fp-extended.dtx
  110. +2 −2 l3kernel/l3fp-logic.dtx
  111. +3 −3 l3kernel/l3fp-parse.dtx
  112. +2 −2 l3kernel/l3fp-random.dtx
  113. +2 −2 l3kernel/l3fp-round.dtx
  114. +2 −2 l3kernel/l3fp-traps.dtx
  115. +2 −2 l3kernel/l3fp-trig.dtx
  116. +3 −3 l3kernel/l3fp.dtx
  117. +2 −2 l3kernel/l3fparray.dtx
  118. +9 −10 l3kernel/l3int.dtx
  119. +2 −2 l3kernel/l3intarray.dtx
  120. +1 −1 l3kernel/l3kernel-functions.dtx
  121. +3 −2 l3kernel/l3keys.dtx
  122. +2 −2 l3kernel/l3legacy.dtx
  123. +74 −11 l3kernel/l3luatex.dtx
  124. +2 −2 l3kernel/l3msg.dtx
  125. +30 −6 l3kernel/l3names.dtx
  126. +2 −2 l3kernel/l3prg.dtx
  127. +2 −2 l3kernel/l3prop.dtx
  128. +8 −8 l3kernel/l3quark.dtx
  129. +2 −2 l3kernel/l3regex.dtx
  130. +2 −2 l3kernel/l3seq.dtx
  131. +3 −3 l3kernel/l3skip.dtx
  132. +2 −2 l3kernel/l3sort.dtx
  133. +2 −2 l3kernel/l3str-convert.dtx
  134. +30 −30 l3kernel/l3str.dtx
  135. +47 −43 l3kernel/l3sys.dtx
  136. +1,421 −0 l3kernel/l3text-case.dtx
  137. +903 −0 l3kernel/l3text.dtx
  138. +2 −2 l3kernel/l3tl-analysis.dtx
  139. +2 −2 l3kernel/l3tl.dtx
  140. +325 −7 l3kernel/l3token.dtx
  141. +46 −25 l3kernel/l3unicode.dtx
  142. +3 −3 l3kernel/testfiles/m3char001.luatex.tlg
  143. +16 −16 l3kernel/testfiles/m3char001.lvt
  144. +3 −3 l3kernel/testfiles/m3char001.ptex.tlg
  145. +3 −3 l3kernel/testfiles/m3char001.tlg
  146. +3 −3 l3kernel/testfiles/m3char001.uptex.tlg
  147. +3 −3 l3kernel/testfiles/m3char001.xetex.tlg
  148. +0 −1 l3kernel/testfiles/m3expl001.ptex.tlg
  149. +0 −1 l3kernel/testfiles/m3expl001.uptex.tlg
  150. +0 −1 l3kernel/testfiles/m3expl003.ptex.tlg
  151. +0 −1 l3kernel/testfiles/m3expl003.uptex.tlg
  152. +0 −222 l3kernel/testfiles/m3file001.luatex.tlg
  153. +25 −17 l3kernel/testfiles/m3file001.lvt
  154. +10 −6 l3kernel/testfiles/m3file001.ptex.tlg
  155. +10 −6 l3kernel/testfiles/m3file001.tlg
  156. +10 −6 l3kernel/testfiles/m3file001.uptex.tlg
  157. +10 −6 l3kernel/testfiles/m3file001.xetex.tlg
  158. +19 −0 l3kernel/testfiles/m3int001.uptex.tlg
  159. +615 −0 l3kernel/testfiles/m3int002.ptex.tlg
  160. +2 −2 l3kernel/testfiles/m3int002.uptex.tlg
  161. +52 −0 l3kernel/testfiles/m3ior001.ptex.tlg
  162. +2 −2 l3kernel/testfiles/m3ior001.uptex.tlg
  163. +83 −0 l3kernel/testfiles/m3iow001.ptex.tlg
  164. +2 −2 l3kernel/testfiles/m3iow001.uptex.tlg
  165. +41 −1 l3kernel/testfiles/m3prg005.lvt
  166. +8 −0 l3kernel/testfiles/m3prg005.tlg
  167. +78 −0 l3kernel/testfiles/m3sort001.ptex.tlg
  168. +78 −0 l3kernel/testfiles/m3sort001.uptex.tlg
  169. +12 −12 l3kernel/testfiles/m3str002.lvt
  170. +72 −0 l3kernel/testfiles/m3text001.lvt
  171. +20 −27 l3kernel/testfiles/{m3tl013.ptex.tlg → m3text001.tlg}
  172. +81 −23 l3kernel/testfiles/{m3tl013.luatex.tlg → m3text002.luatex.tlg}
  173. +273 −0 l3kernel/testfiles/m3text002.lvt
  174. +79 −0 l3kernel/testfiles/m3text002.ptex.tlg
  175. +80 −23 l3kernel/testfiles/{m3tl013.tlg → m3text002.tlg}
  176. +81 −23 l3kernel/testfiles/{m3tl013.uptex.tlg → m3text002.uptex.tlg}
  177. +80 −23 l3kernel/testfiles/{m3tl013.xetex.tlg → m3text002.xetex.tlg}
  178. +0 −234 l3kernel/testfiles/m3tl013.lvt
  179. +10 −0 l3kernel/testfiles/m3token001.luatex.tlg
  180. +30 −0 l3kernel/testfiles/m3token001.lvt
  181. +8 −0 l3kernel/testfiles/m3token001.tlg
  182. +10 −0 l3kernel/testfiles/m3token001.xetex.tlg
  183. +4 −0 l3kernel/testfiles/support/file test.txt
  184. +9 −2 l3packages/CHANGELOG.md
  185. +3 −3 l3packages/README.md
  186. +3 −3 l3packages/l3keys2e/l3keys2e.dtx
  187. +2 −2 l3packages/l3keys2e/l3keys2e.ins
  188. +3 −3 l3packages/xfp/xfp.dtx
  189. +2 −2 l3packages/xfp/xfp.ins
  190. +3 −3 l3packages/xfrac/xfrac.dtx
  191. +2 −2 l3packages/xfrac/xfrac.ins
  192. +4 −4 l3packages/xparse/xparse.dtx
  193. +2 −2 l3packages/xparse/xparse.ins
  194. +3 −3 l3packages/xtemplate/xtemplate.dtx
  195. +2 −2 l3packages/xtemplate/xtemplate.ins
  196. +3 −3 l3trial/xfont/xfss.dtx
  197. +0 −98 news/l3news01-fr.tex
  198. +0 −157 news/l3news02-fr.tex
  199. +0 −11 news/latexml/latexml.sh
  200. +0 −91 news/latexml/ltnews.cls.ltxml
  201. +0 −30 news/latexml/ragged2e.sty.ltxml
  202. +0 −72 news/pre-l3news-fr.tex
  203. +44 −51 support/texlive.sh
@@ -41,7 +41,6 @@ Documentation is found in:

* `articles`: discussion of LaTeX3 concepts by team members for
publication in [_TUGBoat_](http://www.tug.org/tugboat) or elsewhere.
* `news`: source for _LaTeX3 News_.

The repository also contains the directory `xpackages`. This
contain code which is being moved (broadly) `l3experimental`.
@@ -11,7 +11,7 @@ checksuppfiles = checksuppfiles or
"regression-test.cfg",
"regression-test.tex"
}
tagfiles = tagfiles or {"*.dtx", "README.md", "CHANGELOG.md"}
tagfiles = tagfiles or {"*.dtx", "README.md", "CHANGELOG.md", "*.ins"}
unpacksuppfiles = unpacksuppfiles or
{
"*.ini",
@@ -46,11 +46,11 @@ function update_tag(file,content,tagname,tagdate)
"(C) %1," .. year .. " The LaTeX3 Project")
content = string.gsub(content,year .. "," .. year,year)
content = string.gsub(content,
"%-" .. year - 1 .. "," .. year,
"%-" .. tonumber(year) - 1 .. "," .. year,
"-" .. year)
content = string.gsub(content,
year - 2 .. "," .. year - 1 .. "," .. year,
year - 2 .. "-" .. year)
tonumber(year) - 2 .. "," .. tonumber(year) - 1 .. "," .. year,
tonumber(year) - 2 .. "-" .. year)
end
if string.match(file,"%.dtx$") then
content = string.gsub(content,
@@ -1,5 +1,3 @@
This is a generated file for the LaTeX (2e + expl3) validation system.
Don't change this file in any respect.
*************************************************
* OK, ctex-test-passed!
*************************************************
OK, ctex-test-passed!
@@ -38,7 +38,7 @@
{ \sys_if_engine_luatex_p: }
}
{
\msg_term:n { Not-supported-engine! }
\iow_term:n { Not-supported-engine! }
\END
}

@@ -51,7 +51,7 @@
\tl_put_left:cn { @@end }
{
\TIMO
\msg_term:n { OK,~ctex-test-passed! }
\iow_term:n { OK,~ctex-test-passed! }
}
}

@@ -1,5 +1,3 @@
This is a generated file for the LaTeX (2e + expl3) validation system.
Don't change this file in any respect.
*************************************************
* Not-supported-engine!
*************************************************
Not-supported-engine!
@@ -1,5 +1,3 @@
This is a generated file for the LaTeX (2e + expl3) validation system.
Don't change this file in any respect.
*************************************************
* OK, ctex-test-passed!
*************************************************
OK, ctex-test-passed!
@@ -1,5 +1,3 @@
This is a generated file for the LaTeX (2e + expl3) validation system.
Don't change this file in any respect.
*************************************************
* Not-supported-engine!
*************************************************
Not-supported-engine!
@@ -2,10 +2,10 @@ This is a generated file for the LaTeX (2e + expl3) validation system.
Don't change this file in any respect.
LaTeX Font Info: Font shape `LTJY3/FandolSong-Regular(0)/m/sl' in size <10.53937> not available
(Font) Font shape `LTJY3/FandolSong-Regular(0)/m/it' tried instead on input line ....
luaotfload | aux : font no 40 (nil) does not define feature vert for script latn with language dflt
luaotfload | aux : no font with id 40
luaotfload | aux : font no 40 (nil) does not define feature vrt2 for script latn with language dflt
luaotfload | aux : no font with id 40
luaotfload | aux : font no 41 (nil) does not define feature vert for script latn with language dflt
luaotfload | aux : no font with id 41
luaotfload | aux : font no 41 (nil) does not define feature vrt2 for script latn with language dflt
luaotfload | aux : no font with id 41
Completed box being shipped out [1]
\vbox(633.0+0.0)x407.0, direction TLT
.\whatsit4=[]
@@ -38,7 +38,7 @@
{ \sys_if_engine_luatex_p: }
}
{
\msg_term:n { Not-supported-engine! }
\iow_term:n { Not-supported-engine! }
\END
}

@@ -1,5 +1,3 @@
This is a generated file for the LaTeX (2e + expl3) validation system.
Don't change this file in any respect.
*************************************************
* Not-supported-engine!
*************************************************
Not-supported-engine!
@@ -1,5 +1,3 @@
This is a generated file for the LaTeX (2e + expl3) validation system.
Don't change this file in any respect.
*************************************************
* Not-supported-engine!
*************************************************
Not-supported-engine!
@@ -20,21 +20,21 @@ Completed box being shipped out [1]
.....\localrightbox=null
....\hbox(0.0+0.0)x15.0, direction TLT
....\mathon
....\TU/latinmodern-math.otf(1)/m/n/10 𝑦
....\l_fontspec_font 𝑦
....\kern0.28 (italic)
....\glue(\thickmuskip) 2.77748 plus 2.77748
....\TU/latinmodern-math.otf(1)/m/n/10 =
....\l_fontspec_font =
....\penalty 500
....\glue(\thickmuskip) 2.77748 plus 2.77748
....\TU/latinmodern-math.otf(1)/m/n/10 𝑚
....\TU/latinmodern-math.otf(1)/m/n/10 𝑥
....\l_fontspec_font 𝑚
....\l_fontspec_font 𝑥
....\glue(\medmuskip) 2.22198 plus 1.111 minus 2.22198
....\TU/latinmodern-math.otf(1)/m/n/10 +
....\l_fontspec_font +
....\penalty 700
....\glue(\medmuskip) 2.22198 plus 1.111 minus 2.22198
....\TU/latinmodern-math.otf(1)/m/n/10 𝑐
....\l_fontspec_font 𝑐
....\kern0.25 (italic)
....\TU/latinmodern-math.otf(1)/m/n/10 𝐚
....\l_fontspec_font 𝐚
....\hbox(6.94+0.06)x17.89, direction TLT
.....\TU/lmr/bx/n/10 b
.....\TU/lmr/bx/n/10 c
@@ -27,21 +27,21 @@ Completed box being shipped out [1]
...\hbox(6.94+2.05)x345.0, glue set 256.47916fil
....\hbox(0.0+0.0)x15.0
....\mathon
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#1320
....\l_fontspec_font glyph#1320
....\kern0.28
....\glue(\thickmuskip) 2.77802 plus 2.77802
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#30
....\l_fontspec_font glyph#30
....\penalty 500
....\glue(\thickmuskip) 2.77802 plus 2.77802
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#1308
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#1319
....\l_fontspec_font glyph#1308
....\l_fontspec_font glyph#1319
....\glue(\medmuskip) 2.22241 plus 1.1112 minus 2.22241
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#12
....\l_fontspec_font glyph#12
....\penalty 700
....\glue(\medmuskip) 2.22241 plus 1.1112 minus 2.22241
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#1298
....\l_fontspec_font glyph#1298
....\kern0.25
....\TU/latinmodern-math.otf(1)/m/n/10 glyph#1433
....\l_fontspec_font glyph#1433
....\kern0.22
....\hbox(6.94+0.06)x17.89
.....\TU/lmr/bx/n/10 glyph#35
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
@@ -6,42 +6,42 @@ this project uses date-based 'snapshot' version identifiers.

## [Unreleased]

## [2019-10-11]
## [2019-11-25]

### Changed
- Move dvips header material to `.pro` file

## [2019-10-11]

### Changed
- Improved functionality in generic mode

## [2019-09-05]

### Added

- Support for EPS and PDF files with `dvisvgm` backend

### Fixed

- Some primitive use in the `dvips` backend

## [2019-08-25]

### Fixed

- Setting for PDF version in `dvipdfmx` route
- Support for PDF objects with XeTeX

## [2019-07-01]

### Added

- Driver support for anonymous objects

### Changed

- Moved backend code to separate release module `l3backend`
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module

[Unreleased]: https://github.com/latex3/latex3/compare/2019-10-11...HEAD
[Unreleased]: https://github.com/latex3/latex3/compare/2019-11-25...HEAD
[2019-11-25]: https://github.com/latex3/latex3/compare/2019-10-11...2019-11-25
[2019-10-11]: https://github.com/latex3/latex3/compare/2019-09-05...2019-10-11
[2019-09-05]: https://github.com/latex3/latex3/compare/2019-08-25...2019-09-05
[2019-08-25]: https://github.com/latex3/latex3/compare/2019-07-01...2019-08-25
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================

Release 2019-10-11
Release 2019-11-25

This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
@@ -11,6 +11,6 @@ on an independent schedule.

-----

<p>Copyright (C) 2019 The LaTeX3 Project <br />
<p>Copyright (C) 2019,2020 The LaTeX3 Project <br />
<a href="http://latex-project.org/">http://latex-project.org/</a> <br />
All rights reserved.</p>
@@ -9,9 +9,9 @@ bundle = ""
-- Location of main directory: use Unix-style path separators
maindir = ".."

installfiles = {"*.def"}
installfiles = {"*.def", "*.pro"}
sourcefiles = {"*.dtx", "*.ins"}
tagfiles = {"*.dtx", "CHANGELOG.md", "README.md"}
tagfiles = {"*.dtx", "CHANGELOG.md", "README.md", "*.ins"}
typesetfiles = {"l3backend-code.tex"}
unpackfiles = {"l3backend.ins"}

@@ -23,6 +23,9 @@ unpacksuppfiles = {"/support/docstrip.tex","/l3kernel/l3docstrip.dtx"}
unpackdeps = { }
typesetdeps = {maindir .. "/l3packages/xparse"}

-- Get the .pro files in the right place
tdslocations = {"dvips/l3backend/*.pro"}

-- Load the common build code
dofile(maindir .. "/build-config.lua")

@@ -43,7 +46,7 @@ function update_tag(file,content,tagname,tagdate)
year - 2 .. "," .. year - 1 .. "," .. year,
year - 2 .. "-" .. year)
end
if string.match(file,"l3backend%.dtx$") then
if string.match(file,"l3backend-basics%.dtx$") then
content = string.gsub(content,
"\n ({l3%w+%.def}){" .. iso .. "}",
"\n %1{" .. tagname .. "}")
@@ -2,7 +2,7 @@
%
%% File: l3backend-basics.dtx
%
% Copyright (C) 2019 The LaTeX3 Project
% Copyright (C) 2019,2020 The LaTeX3 Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-11}
% \date{Released 2019-11-25}
%
% \maketitle
%
@@ -151,25 +151,15 @@
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\__kernel_backend_postscript_header:n}
% PostScript for the header: a small saving but makes the code clearer.
% This is held until the start of shipout such that a document with no
% actual output does not write anything.
% PostScript for the header: a small saving but makes the code clearer.
% This is held until the start of shipout such that a document with no
% actual output does not write anything.
% \begin{macrocode}
\cs_new_protected:Npx \__kernel_backend_postscript_header:n #1
%<*initex>
{ \__kernel_backend_literal:n { ! #1 } }
%</initex>
%<*package>
{
\cs_if_exist:NTF \AtBeginDvi
{ \exp_not:N \AtBeginDvi }
{ \use:n }
{ \__kernel_backend_literal:n { ! #1 } }
}
%</package>
\cs_if_exist:NTF \AtBeginDvi
{ \exp_not:N \AtBeginDvi }
{ \use:n }
{ \__kernel_backend_literal:n { header = l3backend-dvips.pro } }
% \end{macrocode}
% \end{macro}
%
% \begin{macro}
% {
@@ -2,7 +2,7 @@
%
%% File: l3backend-box.dtx
%
% Copyright (C) 2019 The LaTeX3 Project
% Copyright (C) 2019,2020 The LaTeX3 Project
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -43,7 +43,7 @@
% }^^A
% }
%
% \date{Released 2019-10-11}
% \date{Released 2019-11-25}
%
% \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!

@hmenke

This comment has been minimized.

Copy link
Contributor

@hmenke hmenke commented on d40ebd7 Jan 11, 2020

Should probably be

\bool_set_false:N \l_@@_bb_update_bool