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-05-28
head repository: latex3/latex3
compare: 2019-10-11
This comparison is big! We’re only showing the most recent 250 commits
Commits on Jun 03, 2019
The second version is going to be quite different,
so it is easier to start from a blank slate.
Probably the names should be "l3backend-XXXX.def", 
as for l3str-end-XXXX.def.
This is the usual pattern and makes it easier to
see how any new files might get added.
Commits on Jun 06, 2019
This does not show up in a full test run, but does
when you run just one or two tests after cleanup.
Commits on Jun 13, 2019
Commits on Jun 23, 2019
Commits on Jun 24, 2019
As discussed, in preparation for wider distribution.
Commits on Jun 30, 2019
Commits on Jul 01, 2019
No need to do l3packages: no changes there.
Commits on Jul 02, 2019
These were all 'expired' but now cannot be resurrected.
Commits on Jul 24, 2019
* Some indexing fixes to the l3doc doc (see #450)

Some indexing fixes after Stone-Zeng's comments in #450. Namely:
1) Replace <@@=...> by <@@@@=...> in comments (bug introduced with #596);
2) Fixed `\@for\@tempa:=` (: is a letter here): replaced by `\clist_map_inline:Nn`;
3) Removed indexing of pseudo commands (`\meta{name}:\meta{signature}`);
4) `\>` would become `\!\efill` and `|` and `=` would fail to index.

* Added do-not-index option to macro environment

Added a `do-not-index` option to the `macro` environment to keep some control sequences from being indexed when innapropriate.
Commits on Jul 25, 2019
Rather than add Phelype, try to avoid giving the same information slightly
differently in several places.
Commits on Jul 31, 2019
Following the addition of `trace` support in `xparse` and (#564)
and the discussion here: 9a0c59b
replaced \use:c { conditionally@traceon/off } by \cs_if_exist_use:N
Same as b43cf91, modulo messing up line endings.
Same as b43cf91, modulo messing up line endings.
Commits on Aug 14, 2019
Commits on Aug 20, 2019
To match pgf but also as an error here is not helpful.
Commits on Aug 25, 2019
I suppose.  At least it's certainly not a change on our part
The reason is that \fp_abs:n expresses its result in decimal notation.
There remains two uses of the constant \c__fp_prec_int (=16)
Not efficiently, but there is no good solution
Commits on Aug 26, 2019
Commits on Sep 03, 2019
This works by pure expansion so is needed for upcoming
file function additions. At present, it may not be
available hence needing to retain the older non-expansion
code in a conditional.
The \pdffilesize primitive reports nothing for e.g.
/dev/null.
Commits on Sep 04, 2019
This doesn't actually cost a stream, only a csname,
so there is no real 'hit' in doing things the official way.
What's important is that for a non-existent file
This is a straight copy from the dvips driver:
not sure why it got missed!
Commits on Sep 18, 2019
Don't use \file_input:nT, which has been removed in commit
ecd4174. Use \file_input:n instead.
…-to-read-l3doc.cfg

l3doc.cls: fix bug when trying to read l3doc.cfg
Commits on Sep 20, 2019
Well-attested, e.g. C++ ref.
The test for a RNG can stay experimental:
once we require TL'19 XeTeX, it will go.
"get_shell" not "shell_get": This is consistent with other usage: 

    \<module>_get_<more-info>:<arg>
As \(pdf)filemoddate got added along with
\(pdf)filesize, there is no case where we can run
into an issue here.
Eventually, of course, this will go! Roll on TL'19 as the
minimum engine age.
We need this for epstopdf-like support.
Commits on Sep 21, 2019
The concept is clearly going to be useful:
one can imagine for example implementing
pgfplots data structures as fparrays.
Commits on Sep 25, 2019
Compared to before the last few commits, \exp_args:NXY for various
letters X and Y became around 1.5 to 2 times faster, and more
importantly perhaps we get 2 times fewer lines in the log.

Mumble
Commits on Oct 01, 2019
Tags in Git do not live in any specific branch, so a branch condition
for builds based on tags doesn't really fit into Git's model. Therefore
Travis silently ignores `branch: ...` if `tags: true` is given.
Commits on Oct 10, 2019
This is the only place we need raw \openin.
Their \newcatcodetable does not \initicatcodetable:
see https://chat.stackexchange.com/transcript/message/52072701#52072701 onward.
Use tex.cprint if available to allow multiple uses of l3kernel.charcat
affecting each other and avoid the use of a special catcode table.
Commits on Oct 11, 2019
This means we know tex.cprint() is available.

Leave in loading of ltluatex: really is a requirement
for LuaTeX use on plain.
As discussed with Japanese users, this matches
graphics and would be desirable for them.

Almost all test changes are trivial but note the
l3pdf ones: may need to think about PDF version in
dvips route (assume some known base value?).

'Full page' tests will show headers for dvips:
making the contrib tests output those before starting
the test is the best plan. There is some knock-on
for other engines as a result.
This enables faster loading of expl3 with a suitably set-up TeX system.
Showing 631 changed files with 455,108 additions and 87,984 deletions.
@@ -1,3 +1,4 @@
* text=auto !eol
l3experimental/xcoffins/elementare-typographie-title.jpg -text svneol=unset#image/jpeg
l3kernel/expl3-datatype-analysis.xlsx -text
texmf/* linguist-vendored
@@ -5,18 +5,18 @@ build/*

*.pdf
!*/testfiles/*.pdf
!/discussionpapers/*.pdf

xpackages/xfrontm/*.aux
xpackages/xfrontm/*.bbl
xpackages/xfrontm/*.idx
xpackages/xfrontm/*.ilg
xpackages/xfrontm/*.ind
xpackages/xfrontm/*.lof
xpackages/xfrontm/*.log
xpackages/xfrontm/*.lot
xpackages/xfrontm/*.toc
*.*~
*.toc

*.aux
*.log
*.bbl
*.glo
*.gz
*.hd
*.idx
*.ilg
*.ind
*.log
*.out
*.toc
@@ -8,10 +8,15 @@ cache:

jobs:
include:
- script: l3build check -q -H
- if: NOT tag IS present
script: l3build check -q -H --show-log-on-error
name: "Test suite"
- script: l3build doc -q -H
- if: NOT tag IS present
script: l3build doc -q -H
name: "Documentation"
- if: tag IS present
script: l3build ctan -H --show-log-on-error
name: "Full CTAN build"

notifications:
email:
@@ -21,3 +26,14 @@ notifications:
on_failure: always
on_start: never

deploy:
- provider: releases
api_key:
secure: EIiSaEhhCneIgWd3peJkT+WNpQ+eMnFh3oWJDHzfQfuhHA1XpPTFUbk4dpIPtGd3gE9ImFJ5MV3hhWljI0qIH2RRj62uERh0WWEUiuR3Ol0wTV5FgK/5WqjNnS5DNbtyRPCBq600tHueEPPp9zi6lrXZCylpBfKjRtu+r73mf2SgaT7DWMYdnKaXJCSCZiYHywDR1M6hJyvB42yYCZNbqpOTD58T3uv1u+qZNLibFxBAc2bU7DEaBkbSTYWVVIEsm7+5S0n7NaebDW0D6quVPByTzZ5kFYMuk7z2H9bqU9D0FkGwkkz4UJtVIoQpbkXDw02AElmGeO/1j0+r0gAkmZKh51r1n9CFGrjabpu8cY5AfQYDDC5moffmzp9onqOyhYvR33BkeTbXOY53HXcxCHJRhiTxzSj00RUNNp+IC21wn6PYBBvfbUeAisrF1gwMQblWfCWLTESVYRpKJNbahuc/8XKOm+Qk1PwkyIW/VZVIUC8Yrbs8QrzJkWsb/ie97uQhipkVz4fIHN/j1dby0q01RHH84tNi/pV0Oflk7Azt2/T8BWGKAXhsBD6lQiBKWElNgDLdWaM0cy4i16lD4t7HelLkXokOxVVTbKvUimhrt5qy2S+6Q1tQfx/uXmtP+InL93WH50dhkdzKtqfHL+Kym7a/ivOsQVGgFhg3Yv8=
file_glob: true
file:
- ./*.zip
skip_cleanup: true
on:
tags: true
prerelease: false
@@ -13,6 +13,8 @@ The following directories contain experimental LaTeX3 code:
* `l3kernel`: code which is intended to eventually appear in a
stand-alone LaTeX3 format. Most of this material is also
usable on top of LaTeX2e when loading the `expl3` package.
* `l3backend`: code for backend (driver) level interaces across
the `expl3` codebase.
* `l3packages`: code which is written to be used on top of
LaTeX2e to experiment with LaTeX3 concepts. The interfaces to these
higher-level packages are 'stable'.
@@ -84,4 +86,4 @@ LaTeX3 is developed by [The LaTeX3 Project](https://latex-project.org).

## Copyright

This README file is copyright 2018 The LaTeX3 Project.
This README file is copyright 2019 The LaTeX3 Project.
@@ -1,29 +1,32 @@
-- Common settings for LaTeX3 development repo, used by l3build script

checkdeps = checkdeps or {maindir .. "/l3kernel"}
typesetdeps = typesetdeps or {maindir .. "/l3kernel"}
checkdeps = checkdeps or {maindir .. "/l3backend", maindir .. "/l3kernel"}
typesetdeps = typesetdeps or {maindir .. "/l3backend", maindir .. "/l3kernel"}
unpackdeps = unpackdeps or {maindir .. "/l3kernel"}

checkengines = checkengines
or {"pdftex", "xetex", "luatex", "ptex", "uptex"}
checksuppfiles = checksuppfiles or
{
"CaseFolding.txt",
"fontenc.sty",
"minimal.cls",
"ot1enc.def",
"regression-test.cfg",
"regression-test.tex",
"SpecialCasing.txt",
"UnicodeData.txt",
"regression-test.tex"
}
tagfiles = tagfiles or {"*.dtx", "README.md", "CHANGELOG.md"}
unpacksuppfiles = unpacksuppfiles or {"docstrip.tex"}

unpacksuppfiles = unpacksuppfiles or
{
"*.ini",
"docstrip.tex",
"hyphen.cfg",
"lualatexquotejobname.lua",
"luatexconfig.tex",
"pdftexconfig.tex",
"texsys.cfg",
"UShyphen.tex"
}

packtdszip = true

typesetcmds = typesetcmds or "\\AtBeginDocument{\\DisableImplementation}"
typesetcmds = typesetcmds or "\\AtBeginDocument{\\csname DisableImplementation\\endcsname}"

if checksearch == nil then
checksearch = false
@@ -74,3 +77,52 @@ function update_tag(file,content,tagname,tagdate)
end
return content
end

-- Need to build format files
local function fmt(engines,dest)
local function mkfmt(engine)
-- Standard (u)pTeX engines don't have e-TeX
local cmd = engine
if string.match(engine,"uptex") then
cmd = "euptex"
elseif string.match(engine,"ptex") then
cmd = "eptex"
end
-- Use .ini files if available
local src = "latex.ltx"
local ini = string.gsub(engine,"tex","") .. "latex.ini"
if fileexists(supportdir .. "/" .. ini) then
src = ini
end
print("Building format for " .. engine)
local errorlevel = os.execute(
os_setenv .. " TEXINPUTS=" .. unpackdir .. os_pathsep .. localdir
.. os_pathsep .. texmfdir .. "//"
.. os_concat ..
os_setenv .. " LUAINPUTS=" .. unpackdir .. os_pathsep .. localdir
.. os_pathsep .. texmfdir .. "//"
.. os_concat .. cmd .. " -etex -ini -output-directory=" .. unpackdir
.. " " .. src .. " > " .. os_null)
if errorlevel ~= 0 then return errorlevel end

local engname = string.match(src,"^[^.]*") .. ".fmt"
local fmtname = string.gsub(engine,"tex$","") .. "latex.fmt"
if engname ~= fmtname then
ren(unpackdir,engname,fmtname)
end
cp(fmtname,unpackdir,dest)

return 0
end

local errorlevel
for _,engine in pairs(engines) do
errorlevel = mkfmt(engine)
if errorlevel ~= 0 then return errorlevel end
end
return 0
end

function checkinit_hook()
return fmt(options["engine"] or checkengines,testdir)
end
@@ -7,7 +7,7 @@ bundle = "LaTeX3"
module = ""

-- A couple of custom variables: the order here is set up for 'importance'
bundles = {"l3kernel", "l3packages", "l3experimental", "l3trial"}
bundles = {"l3backend", "l3kernel", "l3packages", "l3experimental", "l3trial"}
checkbundles =
{
"l3kernel",
@@ -16,7 +16,7 @@ checkbundles =
"l3trial",
"contrib"
}
ctanbundles = {"l3kernel", "l3packages", "l3experimental"}
ctanbundles = {"l3backend", "l3kernel", "l3packages", "l3experimental"}

-- Location of main directory: use Unix-style path separators
maindir = "."
@@ -45,6 +45,8 @@ function main(target)
errorlevel = call(bundles,"uninstall")
elseif target == "unpack" then
errorlevel = call (bundles, "unpack")
elseif target == "upload" then
errorlevel = call(ctanbundles,"upload")
elseif target == "tag" then
if options["names"] and #options["names"] == 1 then
call(ctanbundles,"tag")

Showing you all comments on commits in this comparison.

@davidcarlisle

This comment has been minimized.

Copy link
Member

@davidcarlisle davidcarlisle commented on 2c5b4aa Jun 3, 2019

don't you just need the bachmode, not the vbox? The vbox example on tex.sx was to show that that was enough to end if inside a vbox.

@josephwright

This comment has been minimized.

Copy link
Member Author

@josephwright josephwright commented on 2c5b4aa Jun 3, 2019

Adjusted

@FrankMittelbach

This comment has been minimized.

Copy link
Member

@FrankMittelbach FrankMittelbach commented on b43cf91 Jul 31, 2019

As I said in the other discussion I don't think we should do this via a test but instead provide an empty definition in the LaTeX2e kernel so that the commands can be used without the next for an additional test which is an unnecessary runtime cost.

As an initial step I would suggest doing a single test when xparse gets loaded and define the command and remove that later when it gets provided by the kernel

@zauguin

This comment has been minimized.

Copy link
Member Author

@zauguin zauguin commented on a61265d Oct 1, 2019

@josephwright Do you expect that we will have any other tags which are not based on master? Then we should add some additional conditions, maybe some tag name parsing as in luaotfload?

@josephwright

This comment has been minimized.

Copy link
Member

@josephwright josephwright commented on a61265d Oct 1, 2019

No real reason beyond wanting to keep things 'tight': I assumed Travis-CI would check 'is this tag matching a commit on the master branch' ...