@AlanMunn if you need help with linguistics or @CarLaTeX you need help with Italian, you know where to go for help:
@JosephWright not going to get utf-8 stuff checked in by lunchtime, I suspect I'm going to have to give up and just check in the branch i have even if it's not working (haven't had chance to even look at it recently)
@AlanMunn @barbarabeeton I learned a new English word yesterday: kakistocracy. Only found in the best dictionaries, and (unfortunately) well suited for our times.
In expl3, are true and false alone, possibly stored in a token list variable, valid boolean expressions which can be used, e.g., as in \bool_if:nTF{true}{<true code>}{<false code>}? Or do I have to set first a scratch boolean var from the tl var which then is used as bool expression?
@DavidCarlisle When people ask, I usually say Ruby, Fortran, PL1, Pascal and TeX and a smattering of Python, Lisp and C. You could call me a historical linguist for that list, though.
To what extent does one have to provide a MWE? I'm using a custom package and several \input{..}-s. Does one reduce everything to a single, minimal .tex file, or..?
@vlg it's up to you but the chance of getting an answer is vastly greater if you provide one.
@vlg ideally you make a single small example that just uses one page and a standard class such as article. If you can't do that then the problem is in the class file, so you need to provide at least some of the code from that, not just your docuemnt. that's fine but you may as well find out which case you are in by making the example before posting. Typically in trying to find which definitions from your class file you need to demonstrate the problem you solve the problem yourself
@AlanMunn -- yay! pl1! (that's the only programming language i ever formally learned -- to do linguistic analysis, taught by henry kucera.) historical indeed.
@CarLaTeX -- i was programming in cobol too, until i got the chance to work with input languages for typesetting. (three others before tex. lots more fun than cobol.) but grace hopper is still my hero.
@JosephWright I'm wondering what is the policy regarding primitives like \global, \immediate, \pdfcatalog, \pdfvariable? Should one use them in a expl3 package or \luatex_pdfvariable:D and \tex_global:D instead? (siunitx uses \tex_endinput:D and \tex_char:D).
@UlrikeFischer more seriously, in a pure l3 format the original names would be undefined so you need to use the :D ones, but ideally just once, and give them sensible l3 module names for the module that you are defining
@UlrikeFischer well that's what the luatex manual has so we'd have started with that and if testing didn't show any problems it's likely to stay that way in general that gives better compatibility if the definitions end up in a \edef or \write
but it looks unneeded. `\edef\test{\pdfextension catalog {/Y 123}} \show\test` gives `> \test=macro: ->\pdfextension catalog {/Y 123}` and is doesn't expand in a \write.
Remember my question about checking whether a token is a letter in [A-Za-z]? Just found this old answer by Bruno: \ifnum\numexpr\uccode`#1/26=3 True\else False\fi (it fails for control sequences though)
@DavidCarlisle Does L3 intend to "port" pdftex and luatex primitives, such as \pdfobj, \pdfxform etc., with a common interface to all backends (dvips, xetex)?
@AlexG well you can only do so much, for example we have asked (without success so far) to get \pdfnormaldeviate into xetex. But as Joseph just said basically if possible yes
@DavidCarlisle @JosephWright I have put some effort in doing this for some of the primitives in pdfbase.sty which I make use of in my packages (ocgx2, xsavebox, animate, media9). For some primitves it turned out to be impossible. E. g. for \pdfnames there is no pdfmark counterpart.
@AlexG yes some are impossible to emulate (\\directlua for example...) although realistically speaking dvi output is less important than luatex/pdftex/xetex. If things work in dvi/tex then that's good, but of they don't ....
@AlexG there's nothing you can put into the postscript to get distiller or ghostscript to poke things in the /Names array?
@DavidCarlisle There is only {Catalog} where you can /PUT a complete /Names <<...>> dictionary. But that would overwrite an existing one. In pdftex we have both \pdfcatalog and \pdfnames.
@AlexG Couldn't one track at the macro level before writing?
@AlexG This one is likely a way off for us: I know we need to do all of these things (or at least provide a documented interface to e.g.\pdfliteral), but it's not done yet and relatively far down the 'to do' list
@JosephWright To a certain extend this would be possible. But the /Dest pdfmark also writes into /Names << >>. This would get lost if we later write /Names <<...>> into the {Catalog} object using the /PUT pdfmark.
@AlexG pdftex is presumably tracking these so it can write a unified Names, so in principle you should be able to track them in dvi tex via macros? perhaps? Not really thought too hard about that.
@JosephWright we could post an answer to the luatex list saying MAKE LUATEX USE HARFBUZZ
@AlexG The expl3 approach for all of this is to split into l3drivers for the 'most basic' abstraction, then to have some higher-level stuff on top. To some extent the two need to be worked out together. See for example box rotation/scaling, or as I said what I'm trying with drawing code
@DavidCarlisle but you said we shouldn't use luatex85 ;-) and I so I won't. But basically this means that the \protected is only there to get a \pdfcatalog in a \write/\show and not \pdfextension?