01:00 - 17:0017:00 - 00:00

1:24 AM
Hi everyone. I've been recently seeing the following warning with the latest version of TeX Live 2019:
Package filecontents Warning: This package is obsolete. Disabling it and
(filecontents)                passing control to the filecontents environment
(filecontents)                defined by the LaTeX kernel.

20

The filecontents package was an extension to the filecontents environment already present in the LaTeX kernel for many years. LaTeX's version of the environment didn't allow it to be used outside of the document preamble and didn't allow overwriting files. The purpose of the filecontents package ...

I think this is new. I've been using the filecontents package for awhile, because it has features that the built-in version does not.

Specifically, how do I overwrite existing files. It's now saying it won't.
Never mind. I see the answer answers the overwrite thing. Though I guess I'll have to go and change my existing usage everywhere. Does that also mean the star form doesn't exist anymore?
Hmm, changing behavior like this isn't ideal.

@FaheemMitha The star form still exists. It was in the kernel from the start. Though as I said in the comment to cfr, I think the author of filecontents shouldn't have completely disabled the package...

1:27 AM
@PhelypeOleinik What does the star form do now?

@FaheemMitha The bahaviour of the kernel's filecontents is backwards compatible. The bahaviour of the filecontents package is not

Oh, it corresponds to noheader?

@FaheemMitha The same it did before: it removes the comment header of the file
@FaheemMitha Yes

@PhelypeOleinik So I could use either noheader or the * version? Or possibly both? :-)

@FaheemMitha If you don't want to change every usage of filecontents in your document, you can do \let\filec@ntents@opt\@undefined, then the filecontents package will behave as it did before LaTeX 2019-10-01
@FaheemMitha Both is redundant, but yes, they will do the same thing
@FaheemMitha noheader is just to unify the interface

1:30 AM
@PhelypeOleinik I don't think I want to do that. Is there any reason to do so?
@PhelypeOleinik Sounds reasonable. Do you know who made these changes?
@PhelypeOleinik So if I do both, the noheader thing will presumably still happen.
Nice work on that answer, by the way.

@FaheemMitha I didn't recommend doing that, I just said it's possible ;-) (in case you had like a hundred filecontents environments and don't want to add [overwrite] to each of them, for example).
@FaheemMitha Frank implemented (I don't remember who asked for the change though)

@PhelypeOleinik Probably not 100, but quite a few, I think.
But I don't use it much.

@FaheemMitha Yes, \begin{filecontents*}{file} and \begin{filecontents}[noheader]{file} do exactly the same thing
@FaheemMitha Thanks :-)

@PhelypeOleinik It would have been nice to have some way of making those options the default. For that reason, I think that still having to load a package would have been nice.
Why didn't you just bring the package into the LaTeX core?

@FaheemMitha That would perhaps be a good addition... For the time being you can redefine \filecontents. The default is: \def\filecontents{\@tempswatrue\@fileswtrue\@ifnextchar[\filec@ntents@opt\filec@ntents}
@FaheemMitha Replace \@tempswatrue by \@tempswafalse to have noheader by default, and \@fileswtrue by \@fileswfalse to have overwrite by default.

1:39 AM
@PhelypeOleinik You mean, redefine it so that those options are the default?

@FaheemMitha Why do a half improvement? ;-)
@FaheemMitha Yes

Possibly also to the official documentation, wherever that is.

@FaheemMitha It doesn't use a proper keyval system, just a loop through the options checking if \filec@ntents@<option> exists, and executing it if so

@PhelypeOleinik I see.

@FaheemMitha Currently, I think the sources and LaTeX News only
@FaheemMitha In the future, probably the third edition of The LaTeX Companion

1:41 AM
@PhelypeOleinik Are you sure that is right? The brackets don't balance.
There's a left square bracket, but no right one.

@FaheemMitha Yes, that's right

@PhelypeOleinik Yikes, non-free documentation.
@PhelypeOleinik Oh?

@FaheemMitha LaTeX News is free :-)
@FaheemMitha And the sources are free as well

I seem to remember LaTeX core does have have some documentation...

@FaheemMitha \@ifnextchar<token>{<true>}{<false>} checks if what follows is <token>. In that case <token> is [ (also for TeX a [ and a ? have very little difference in meaning.

1:45 AM
@PhelypeOleinik Oh, ok.

@FaheemMitha There's "LaTeX2ε for authors" (texdoc usrguide), but it's not updated to these changes

@PhelypeOleinik Presumably it could be so updated.

@FaheemMitha I think I'll propose adding a \filecontentsset of some sort before that... Might be useful for others...
@WillRobertson Hello :-)

@PhelypeOleinik Ok.

@FaheemMitha We just need people to do the writing :-)

1:48 AM
Oh dear. I'm now seeing:
This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex)
restricted \write18 enabled.
entering extended mode
(./correspondence.tex
LaTeX2e <2019-10-01> patch level 3
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2019/10/25 v1.4k Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/underscore/underscore.sty)

! LaTeX Error: Unknown filecontents option overwrite, noheader.
@PhelypeOleinik ^^ Help?

@FaheemMitha Ugh, underscore. This package haunts me. Hold on

@PhelypeOleinik Ok. I'll remove it. I don't think I need it. One sec.
I removed it. I get the same error message.

@FaheemMitha We'll probably need to fix it in the kernel anyway. I see l3keys coming to the rescue here (@JosephWright)
@FaheemMitha Hm... I got the error message only after I loaded underscore. MWE?

@PhelypeOleinik Let me try a MWE. Or I'll just clear related files. Hold on.

@FaheemMitha Nah, ignore me. The problem is not underscore (this time), it's the space before noheader.

1:55 AM
@PhelypeOleinik Oh. Well, that's not so good. You should fix that.

@FaheemMitha As I said, it doesn't use a proper keyval parser, so it doesn't trim spaces
@FaheemMitha Probably, yes

@PhelypeOleinik Should I file a bug report or something?
@PhelypeOleinik Why doesn't it?

@FaheemMitha Sure! Here: github.com/latex3/latex2e/issues

@PhelypeOleinik And that's probably also something you could mention in that answer.
@PhelypeOleinik Do I need to include a MWE?
Apparently yes. MWE coming up.

@FaheemMitha This is enough:
\begin{filecontents}[overwrite, noheader]{example.tex}
hello
\end{filecontents}

1:58 AM
@PhelypeOleinik Ok.

@FaheemMitha The LaTeX kernel doesn't have a keyval parser built in (well, now that we load expl3 it has), so the option parser for filecontents just uses \@for, which keeps spaces intact

Where do the CONTRIBUTING guidelines live?
@PhelypeOleinik So use expl3.

@PhelypeOleinik Ok. Thank you.
Possibly dumb question, but what is
latex
Doing? Can I remove that line?

@FaheemMitha Code block markdown. Same as in this site

2:03 AM
@PhelypeOleinik Oh. Is it just that line? I don't see an ending line.

@FaheemMitha Should be:
latex
code


@PhelypeOleinik Must have deleted that.
@PhelypeOleinik Should I put the log file output in any special markdown?

@FaheemMitha Use none as the language ID

@PhelypeOleinik Ok.
@PhelypeOleinik Possible dupe of github.com/latex3/latex2e/issues/85
Should I close my issue, or not?

@FaheemMitha No, that's a much deeper problem

2:12 AM
@PhelypeOleinik Ok.

@FaheemMitha That's exactly the opposite. In package and class options all spaces are removed (using \zap@space), so when you do want a space, you have a problem

@PhelypeOleinik Yes, looking at it more carefully, I see that.
So, how does it look?
@PhelypeOleinik Going back to sleep now. Or trying to, anyway.

@FaheemMitha Thanks. I just added a comment
@FaheemMitha Same. Good night

1 hour later…
3:35 AM
@DavidCarlisle -- Is this included in what I just read, or will there be another go-around? (I've just returned comments on the file as posted. I hope I didn't include any new typos; reading the source on-screen in browser mode put me to sleep.)

4 hours later…
7:27 AM
@PhelypeOleinik @FaheemMitha if you mean the explicit overwrite: you can probably blame me (but I think the rest of the team agreed). I quite insisted on it as I found the behaviour from the package quite dangerous. I have seen newbies compiling a MWE and overwriting eg their own bib with it.

@UlrikeFischer Fair enough - I agree overwriting by default is a bad idea. But I use version control for everything, so have never found it an issue. Does the filecontents package do that by default, then?
And presumably that default cannot be changed. At least, I don't recall seeing an option for it.

7:43 AM
@FaheemMitha Yes the package did that (and I avoided it in examples because of this). Imho the new kernel implementation is better.

7:59 AM
@barbarabeeton who knows:-)

@UlrikeFischer And there was no option to avoid the overwriting in the filecontents package?

@FaheemMitha I don't see any reason to change the default, it wouldn't add any feature and just saving a few characters in the markup for writing a file isn't really much of a gain.

@DavidCarlisle I don't follow. To be clear, I was/am talking about the old, obsolete filecontents package.

@FaheemMitha Sure, but normally you want the headers

I was asking whether the overwriting by default there could be switched off.

8:08 AM
@FaheemMitha of course, but that was up to the package author

@FaheemMitha I can't remember:-)

Though it depends whether what you are writing is TeX or not. Because if it's not TeX, then those headers would be treated as syntax. But in any case, that wasn't what I was talking about.
@JosephWright In the filecontents package.
I looked at the documentation, but don't see anything. I realise the code could be patched to not do that, but that's not what I am talking about, either.

@FaheemMitha Rather the point of the filecontents package was it allowed overwriting; if you didn't want that behaviour, you could just not load it ...

@JosephWright You might just want it to run once, to create a file...

@FaheemMitha Yes, but then the kernel's filecontents environment would have been OK

8:13 AM
@JosephWright I'm not really familiar with that one, but ok.

8:24 AM
@JosephWright yes but if it was in a bulk of another package (or some \input{mypackages} from some template) this wasn't always easy to see or to do.

@UlrikeFischer True, but really that's not what filecontents is for; you can't blame the package author for bad usage

@FaheemMitha No, as soon as the package was loaded it started to overwrite.
@JosephWright well it would have been better if instead of simply changing the behaviour of original command he had added an option (like our [overwrite] now) instead.

@UlrikeFischer Like I said, the design of the package was quite clear: it's for user loading. There;s no real need for a package to load filecontents

@JosephWright yes but I saw how it is used: Some newbie asks a question, some expert want to show a "perfect" MWE and use filecontents (package + env) to have everything in one file (and often with \jobname) without proper explanation and warnings, and then the code is copied into a real document and breaks stuff. Or some template writer used it to be able to add example bib and similar.

8:43 AM
@DavidCarlisle oh no

@PauloCereda ^^^^cow joke

@UlrikeFischer LOL

9:00 AM
ooh Will is here

@UlrikeFischer Gary Larson likes cows. And ducks too.

@egreg another yearling badge for us :)

@PauloCereda what is the average age of a duck?

@DavidCarlisle Zero?

@DavidCarlisle ooh a question

9:10 AM
In cricket, a duck is a batsman's dismissal for a score of zero. == Origin of the term == The term is a shortening of the term "duck's egg", the latter being used long before Test cricket began. When referring to the Prince of Wales' (the future Edward VII) score of nought on 17 July 1866, a contemporary newspaper wrote that the Prince "retired to the royal pavilion on a 'duck's egg' ". The name is believed to come from the shape of the number "0" being similar to that of a duck's egg, as in the case of the American slang term "goose-egg" popular in baseball and the tennis term "love", derived...
Combining two of this Room's favorite things.

> 'Rocket League' To Drop Linux and Mac Support
oh no
Oh wait, I have it on XONE, so carry on. :)

9:40 AM
@DavidCarlisle Any idea why Chris has added that random file?

@JosephWright looks like an error, I will delete it.
@JosephWright did it (but forgot the ci skip grr)

@UlrikeFischer grrr <3

10:26 AM
> Appalling but Real Scientific Research Says You Should Make Tea in the Microwave
@JosephWright ^^

3 hours later…
1:11 PM
@WillRobertson
XeTeX does not use fontconfig on Mac systems. It uses the system API. — user4686 Nov 11 '17 at 10:45
oh ^^ :-)

@DavidCarlisle what is the difference between "fontconfig" and "system API" here?

@UlrikeFischer the latter doesn't read fontconfig customisation files....

@DavidCarlisle so it is not fontconfig based? Does it have its own config files?

@UlrikeFischer I basically know nothing about Macs but as far as I can see. no. The link above suggests to put a symbolic link in the ~/Library/fonts directory (which as far as I can see installs them system wide, like copying them in to c:\windows\fonts on windows then there is some api line stackoverflow.com/questions/27680893/… which I can't follow at all as I have never used a mac

Would it be correct terminology to say that the filecontents functionality is now handled by the LaTeX kernel? Just for my log message.

1:26 PM
@DavidCarlisle sorry I wasn't really thinking about mac but about xetex. Windows doesn't have fontconfig either, but you can configure xetex with font.conf etc anyway. Doesn't have mactex something similar? And why did the question came up now?

@UlrikeFischer as far as I know the win32 tex ships with a copy of fontconfig but mactex apparently not. github.com/wspr/fontspec/issues/398#issuecomment-578736122

1:48 PM
@DavidCarlisle ah. Looks as if the symbolic links are the best way on mactex.

2:45 PM
@PhelypeOleinik breaking luatex again, I see.

@DavidCarlisle ooh

@DavidCarlisle That's @UlrikeFischer. I'll break pdfTeX :-)

@PhelypeOleinik ooh

@PhelypeOleinik Blaming @UlrikeFischer is good policy, I agree.

@DavidCarlisle Though I found those bugs when breaking pdfTeX writing the \input{...} code. The one with \noexpand\hello is pretty spooky :-)
@DavidCarlisle Did you look at the \input{...} code yet?

2:52 PM
@PhelypeOleinik I've had a quick look
@PhelypeOleinik Looks OK to me

@PhelypeOleinik oh I just tried it, do you get what looks like \patterns file?

@JosephWright Woooo :-)
@DavidCarlisle Yes, plus other stuff at the beginning. Seems like it's accessing some parts of the memory it shouldn't

@DavidCarlisle Yup :)

@JosephWright I'll sort out the tex.ch stuff and send to Karl, then

@PhelypeOleinik yep... buffer overflow in C code, who would have thought that possible:-)

2:55 PM
@DavidCarlisle I know very little C. But one of the things I do know is how to buffer overflow :-)
@DavidCarlisle @JosephWright A poll: LuaTeX scans \input{...} with scan_toks, so \input\relax{file.tex} inputs file.tex. Should pdfTeX do that as well, or should it input .tex (for compatibility)?

@PhelypeOleinik As LuaTeX: if you are changing here, the model is \toks or \unexpanded or whatever

@JosephWright ooh \whatever :)

@JosephWright Okay. So \input{file"with"quotes.tex} should input file"with"quotes.tex, and \input file"with"quotes.tex input filewithquotes.tex.

@PhelypeOleinik irk. Shouldn't we setup the policy that people using quotes in files names deserve no sympatie?

@PhelypeOleinik although all the new 2e filename normalisation code unconditionally removed quotes....

3:03 PM
@PhelypeOleinik Yes, that's what LuaTeX does

@JosephWright I was going to report the opposite

@UlrikeFischer I thought that policy was for spaces ;-)

@PhelypeOleinik @JosephWright given \input{file"with"quotes.tex}
then if I have a file of that name I get file not found error with luatex even though it reports the filename with the quotes but if I make a file without the quotes in its name, the same input does
This is LuaTeX, Version 1.11.2 (TeX Live 2020)
restricted system commands enabled.
(./inq.tex (./filewithquotes.tex))

20 mins ago, by David Carlisle
@PhelypeOleinik breaking luatex again, I see.

ooh dejà vu

3:06 PM
Jan 15 at 13:41, by David Carlisle
Nov 15 '19 at 9:45, by David Carlisle
Oct 28 at 22:50, by Phelype Oleinik
Aug 1 at 16:26, by Phelype Oleinik
Jul 3 at 9:43, by CarLaTeX
yesterday, by David Carlisle
Dec 12 '17 at 20:26, by Alan Munn
20 mins ago, by CarLaTeX
Dec 26 '14 at 0:17, by Faheem Mitha
I've got a feeling we had this discussion in this channel before. I'm getting a sense of deja vu.

@AlanMunn trivia: how would you pronounce Roraima: ái or ãi? :)

@DavidCarlisle I can't create such a file name - you seem not to be on windows.

@PhelypeOleinik ^^

@UlrikeFischer You can do it but only by planning silly tricks

@UlrikeFischer I am on windows but using a usable commandline shell

3:07 PM
@PauloCereda I think I used the second option at school. Probably never said that word in years...

@JosephWright same outcome different perspective:-)

@PhelypeOleinik Surprisingly, I think the "official" way is the former. :)
@PhelypeOleinik I also said the latter.
@DavidCarlisle ooh more silly

@PauloCereda Q: And how do you pronounce “Acre”?
@PauloCereda A: You don't.

@PhelypeOleinik LOL

3:10 PM
/ba dum tss

@PhelypeOleinik O que o tomate foi fazer no banco? Tirar o extrato. :D

@PauloCereda Dad jokes are the wurst

@PhelypeOleinik LOL
2

@DavidCarlisle and how did you do it there? If I run e.g. echo "hallo" > 'file"with"quotes.tex' in the git bash I get a file with curious symbols which are clearly not quotes in the name: file2withquotes.

> Oklahoma's official state vegetable is the watermelon...which is a fruit.
WHAT

3:19 PM
@UlrikeFischer I did just as you did in cygwin bash, not sure how that shows up in windows, let me see....
@UlrikeFischer file explorer shows it as bullets but cut and paste from the file properties shows as you show with U+F022 (which isn't a character) filewithquotes.tex
@UlrikeFischer but bash ls shows it with "

@DavidCarlisle bash is cheating ;-)

@UlrikeFischer no I seem to remember when I last checked, bash is telling you the truth it is the windows api that is hiding the real filename as it can not allow quotes as it breaks standard commands if quotes are exposed in the filename, it is a windows restriction not an ntfs one

@PauloCereda The first one. Would I be wrong?

@AlanMunn you are very correct. :)

@DavidCarlisle sound a bit philosophical - "what is the true name of the file" ;-). In any case one can input it if one use the name windows shows.

3:28 PM
@PhelypeOleinik lol

@DavidCarlisle @UlrikeFischer Yes, under Linux LuaTeX reports file"with"quotes.tex in the error message but tries to input filewithquotes.tex. Do I dare make a second bug report in a single day? ;-)
@AlanMunn Even non-brazilians know about Acre... That's something :-)

@UlrikeFischer true filenames are like the true time, you should use names that would be used in Greenwich: no accents no quotes no spaces no weird s ligatures

@PhelypeOleinik impressive!

@PhelypeOleinik I'm not totally convinced that is a bug, it's like accessing files on a case insensitive file system, the error message shows the form the user used, even if the underlying access is using a normalised version of the name

@PhelypeOleinik Well I do have lots of inside information.

3:32 PM
@AlanMunn do you know somebody from Acre? :)

@DavidCarlisle Hm... Makes sense. I think quotes and case-insensitive systems can be added to the “deserve no sympathy” list...

@PauloCereda Not that I know of. But maybe they wouldn't divulge this information. :)

@AlanMunn Nobody knows. :)

@AlanMunn If I didn't know better I would say @PauloCereda already made that joke ;-)
@PauloCereda The most famous thing that no one knows about

@PhelypeOleinik exactly! :)

3:34 PM
@PauloCereda on the other hand.....
\immediate\write20{\pdffilesize{file"with"quotes.tex}}

\bye

@DavidCarlisle yay

$ls -l fil*q*tex -rw-rw-r--+ 1 davidc Domain Users 3 Jan 27 15:02 'file"with"quotes.tex' -rw-rw-r--+ 1 davidc Domain Users 19 Jan 27 15:33 filewithquotes.tex$ pdftex inq2
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020) (preloaded format=pdftex)
restricted \write18 enabled.
entering extended mode
(./inq2.tex
19
)
No pages of output.
Transcript written on inq2.log.

@PhelypeOleinik oh no, that is consistent \pdffilesize is finding the file without quotes

Oops. ^^^

3:37 PM
@PhelypeOleinik \input needs to match \pdffilesize if we are to use that as an expandable iffileexists test (although in luatex that's a lua emulation anyway so could do whatever is needed)

@AlanMunn mamma mia
> Will Robertson submitted an update to the fontspec package.

@DavidCarlisle I think that's because that behaviour is implemented in tex.ch, for the quoted file names. But sure, if \pdffilesize already ignores quotes, that's what \input should do (and it's less WEB code for me to change :-)

@PauloCereda which reminded me to update my answer ...

@UlrikeFischer yay!

@PhelypeOleinik does it ignore the quotes also on linux?
@Skillmonlikestopanswers.xyz @Szabolcs @daleif Will you add a suggestion to the hyperref color question? Or do you all agree with @PhelypeOleinik's answer?

3:43 PM
@PhelypeOleinik I think we might need a round of testing, but it's looking good; one to get checked in then move to pre-testing binaries?

@UlrikeFischer Yes. \pdffilesize{file"with"quotes.tex} gives the size of filewithquotes.tex. LuaTeX also inputs the latter.

@UlrikeFischer oh, I had that on the "answer-later" list and forgot about it :) I'm not very good with colours either...

@UlrikeFischer I note you didn't ping me :(

@DavidCarlisle so much is Windows/DOS restriction not ntfs. ntfs is quite flexible with file names...

3:46 PM
@JosephWright Sure. I just need to finish some other stuff first, then I'll work on that. Probably later today or tomorrow

@UlrikeFischer don't let him. He created the colortbl documentation. @DavidCarlisle you could learn so much from the colortab documentation!

I'm now seeing another error message from filecontents. It looks like:
! No room for a new \write .
\ch@ck ...\else \errmessage {No room for a new #3}
\fi

?
I've no idea what might be causing this, though.

@JosephWright I have some tests of some corner cases, like nested \input, forcing errors, and so on. But they probably don't cover everything

@Skillmonlikestopanswers.xyz but @DavidCarlisle made the good "henry ford" color scheme suggestion (but actually I think it is already more or less implemented in the hidelinks option).

3:50 PM
@FaheemMitha presumably you have too many write channels open

@DavidCarlisle I don't know what means. What's a write channel?

@UlrikeFischer I think I should have said in my answer that for print hidelinks is mandatory :-)
2

@PhelypeOleinik I mean that the pool of pre-test users is a pretty good way to push to find bugs!

@FaheemMitha something you allocate with \newwrite there are only 16

@DavidCarlisle Oh.
Never seen that error before.

3:52 PM
@JosephWright Karl arranges that, right?

@PhelypeOleinik Yes

@JosephWright Okay. I'll get this to him as soon as possible

@FaheemMitha which is why \write18 is known not to be a file and can be stolen to mean execute a command (the rules are different in luatex, where there are 128 write channels and write18 isn't special)

@Skillmonlikestopanswers.xyz that's one long user name :-)

@PhelypeOleinik yip, I screwed up. Should've included underscores instead of spaces....

3:53 PM
@FaheemMitha \usepackage{morewrites}, perhaps?

@Skillmonlikestopanswers.xyz It delivers the message :-)

@FaheemMitha did you try with a current lualatex-dev?

@PhelypeOleinik on topanswers my username in pings would just be Skillmon, just saying... :)

@PauloCereda not sure that works with filecontents

@PhelypeOleinik nah, it's not, ocgx2.

3:55 PM
@Skillmonlikestopanswers.xyz It says I must be 16 to enter...

@PhelypeOleinik O.o, most likely something caused by UK laws...

@Skillmonlikestopanswers.xyz we will have no laws after this week

@Skillmonlikestopanswers.xyz I'm not in UK (unfortunately). I'm more than 16 though :-)

@DavidCarlisle :)
@PhelypeOleinik but the hoster is.

@Skillmonlikestopanswers.xyz Working on the keyval article, a structure is starting to develop :)
@Skillmonlikestopanswers.xyz Hope to have something for you by the end of the week

3:57 PM
@DavidCarlisle which reminds me that those servers will not be in the EU...
@JosephWright as I already said, no need to rush it. Deadline for new articles is 5th March, wasn't it?

@Skillmonlikestopanswers.xyz Oh, something like that (@barbarabeeton is normally quite forgiving)

@FaheemMitha how come you have so many files open?

@DavidCarlisle Aliens ;)

@UlrikeFischer Might have found an error in hyperref, try your MWE in that question with
\hypersetup{
citecolor={[rgb]{0,0.6,0.2}},
filecolor={[rgb]{0.8,0,0.8}},
urlcolor={[rgb]{0.8,0,0.8}},
}
the filecolor line makes it fail, I do not see why it shoud
Might be xcolor though, I get this error
! Package xcolor Error: Undefined color [{rgb}]{0.8,0,0.8}'.

4:13 PM
@DavidCarlisle blame Bruno? :)

@PauloCereda s/Bruno/Ulrike/

@DavidCarlisle ooh

@daleif @UlrikeFischer works for file but not for run :
\documentclass{article}

\usepackage{color}

\hypersetup{
citecolor={[rgb]{0,0.6,0.2}},
filecolor={[rgb]{0.8,0,0.8}},
urlcolor={[rgb]{0.8,0,0.8}},
}
\begin{document}

\href{file:abc}{abc}
\href{run:abc}{abc}

\end{document}

4:28 PM
@DavidCarlisle ah. by default \@runcolor=\@filecolor, if one set runcolor too it behaves again.
@DavidCarlisle if one expand the color in hycolor it works:
\documentclass{article}

\usepackage{color}
\makeatletter
\def\HyColor@UseColor#1{%
\ifx#1\relax
\else
\ifx#1\@empty
\else
\edef\next{#1}%expand the color completly ...
\expandafter\HyColor@@UseColor\next\@nil
\fi
\fi
}
\makeatother
\hypersetup{
citecolor={[rgb]{0,0.6,0.2}},
filecolor={[rgb]{0.8,0,0.8}},
urlcolor={[rgb]{0.8,0,0.8}},
%runcolor={[rgb]{0.8,0,0.8}}
}
\begin{document}

\href{file:abc}{abc}
\href{run:abc}{abc}

@egreg yay

@UlrikeFischer yes

4:43 PM
@UlrikeFischer No. Just the current TeX Live 2019. But pdflatex and lualatex fail on this file. But it's an old file, not a new file.
I was just modifying it per your new filecontents changes.
Without those changes it does not fail.

@FaheemMitha try with lualatex-dev.

@UlrikeFischer I don't have that installed.

@UlrikeFischer \edef\next{#1}%expand the color completely ... that is very old-school @JosephWright will be disappointed with you

@FaheemMitha if you have a current texlive you have it.

And I don't understand why pdflatex should suddenly start failing. Am I missing something?
@UlrikeFischer It's the Debian binary packages.

4:45 PM
@FaheemMitha missing telling us what you did:-)

@DavidCarlisle It's a pretty simple file. But I'll try to strip it down.
I'm not clear about this writing business. pdflatex is limited to 16 writes, and that is counted per standalone TeX file?
I mean, each separate TeX compilation is limited to 16 writes? And how is a write counted?

@FaheemMitha it's just like \newcount (which used to have 256 registers but in etex has 2^{15} \newwrite has 16 write streams that may be allocated. but you can write any number of files so long as you open and close the same stream, it's just that you can not have more than 16 open for writing at the same time

@DavidCarlisle It's incredibly unlikely I would have anything like 16 open, even consecutively.
Is a write stream the same idea as a file handler?
Is it possible for a "write stream" to stay open once a TeX file has completed?

@FaheemMitha it is a syntactic restriction it doesn't count anything.. \write2{....} writes on channel 2 if has been associated with a file. \write16 can never be associated to a file as only 0-15 may be used, so \write16{...} writes to the terminal.
@FaheemMitha no

So, is there some way to get TeX to explicitly display these write streams in the log file?
For debugging purposes, obviously.

4:55 PM
@DavidCarlisle You would prefer \csname exp_last_unbraced:Nx\endcsname\HyColor@@UseColor\next\@nil ?
@FaheemMitha there are in the log. E.g. \@outlinefile=\write3

@UlrikeFischer By default?

@FaheemMitha yes

@FaheemMitha did you actually tried if you have it?

I see mentions of \write8 in the log file. But nothing after that. When it hangs on error, what's the correct way to exit?

01:00 - 17:0017:00 - 00:00