@JosephWright does the doc say anywhere that l3build writes an additional .luatex.tlg if there is only .tlg? it talks about additional normalisation for lua, but I interpreted that to mean additional changes to .luatex.log.
@cfr That's not LuaTeX-specific - we need to write a .<engine>.tlg for any case where you do l3build save -e<engine> <test>, as that's how we handle engine variations
@cfr The standard 'extra normalisation' does indeed mean what we do for the .log in a LuaTeX run, to get the standard .tlg files to support as many engines as possible
@JosephWright you were going to look at it, but for now I just duplicate code from l3build and use @DavidCarlisle's hack to avoid the text files being copied twice by ctan.
@cfr Oh, no,maybe we do only do this for LuaTeX - key is this is just an implementation detail to allow us to use the same .tlg files for LuaTeX and other engines - what's the issue for you?
@JosephWright it is confusing if you don't expect it. I could not figure out where the additional .tlg came from. I do not like files to appear on my system which I do not expect. If I get changes I almost always run diff on the normalised log and tlg directly, because I get more information that way and in a format I understand better. so then I notice what is in the directory and I try to figure out where this extra file has come from ....
@cfr The whole of the build tree is meant to be scratch stuff - we don't document the whole copy approach, just that it happens, for example
@cfr To enable us to run diff/fc, we need a file to compare against, so for LuaTeX we need a modified copy of the std .tlg - there's no other way to pull this off
@JosephWright yes, but you explicitly tell users to look at diffs if tests fail, so it matters if you are diffing files other than they have reason to expect.
@JosephWright I'm not suggesting you not do it. only that I think it would be helpful to say so when you explain the additional normalisation done for luatex.
@JosephWright but the content of a diff is a function of the files being compared. suppose somebody wants more context, for example, in order to figure out why something changed. the obvious thing to do is to run diff on luatex.log and the tlg. (this is essentially what I do to get a comparison in standard diff format.)
@cfr Er, I guess we work differently: my obvious thing to do is take the .lvt, copy it into my scratch test.tex file, run that, then look manually at the log
@JosephWright I hardly ever do that. for one thing, I already have a copy of the raw log in many cases. but, also, often I don't need that much. I just need a bit more than the .diff has.
@cfr I suspect this partly reflects the fact I treat l3build largely as a black-box - in part as on GitHub we can't get the info directly, and that's usually where problems come up for me :)