@FrankMittelbach The main point I'm making here is that this is silent breakage of previously well-defined behavior. In the case of the UTF-8 change you also broke existing document but at least they broke noisy. Here you are just invalidating people's documents without notice! And don't tell me to read the changelog or test against dev because the overwhelming majority of users will not do that or even cannot do it.
@FrankMittelbach I really do not mind the noisy type of breakage where your document suddently does not compile with an error. Fine, then I know that I have to fix something, but with the new hook mechanism suddenly shadings started disappearing from valid documents and command overrides also don't work anymore without an explicit error. Yet the entire team seems to refuse to acknowledge that this is a problem.
@Skillmon no, because this Pokémon used to be of a psych type and bend spoons, and Geller thought it was a reference to him and prohibited Nintendo to advertise it.
@Skillmon of course Nintendo took inspiration from him, as the Japanese name for Kadabra is Yungeller. :)
@PauloCereda well, they can't even spell that in Japanese... :) But I didn't know that. I still don't understand how he could be able to prohibit that, seems a bit stupid to me.
@PauloCereda Bulbasaur, because there is a better fire Pokemon than Charizard, and a better water type than Blastoise. But young me always picked the fire starter in every Pokemon game I played.
@PauloCereda Once I was playing Pokémon go on a walk with my husband and he said "Catch the next one for me." And I caught a Charmander and named him Burt Charman. He's got like 34 CP but I like him. :p
@Skillmon Never thought of it: picking bulbasaur would make the first two gyms very easy...
@Plergux, @Skillmon: the last installment of Pokémon (Sword/Shield) is said to happen in a region resembling England (Y/X happened in a region resembling France). I always laugh when I see Mr. Mime's evolution, Mr. Rime
@PauloCereda LOL, these are amazing. I'm laughing so hard my husband is concerned :p And they're clever too, cause some of them you have to know the background, like "Kiss from a rose" = Seal. :p
@PauloCereda I played it on Playstation :) I'll have to go dig it out of the storage now and play it again :p (or make the kid play it so I can watch XD)
@PauloCereda I just forgot cause I bought it with my sister and it was at my house for a couple of months and then she just kept it. :p It's been years. :p
@HenriMenke Henri, it's not that we don't acknowledge there is a problem but it's hard to discuss things as responses to somewhat aggressively worded chat messages. The discussion is a lot gentler and hopefully more productive in the gh issue. (@FrankMittelbach)
@Plergux my daughter is saying that that pokemon diamond is a collectible object and that you can sell it for a lot of money... (she is the only one pokemonizing here, I'm too old to even understand --- I fare better with quantum physics)
Although the really valuables ones are Soul Silver and Platinum
@DavidCarlisle So far I have only been told that this is “not a bug” or that this issue is apparently isolated to unicode-math and external because I coincidentally used that in my example.
@HenriMenke it is not "bug" in the sense that it is not something that we overlooked (apart the part of "hidden" top-level chunks in library code). It was a conscious decision that implementing the hook management will change the order. We wanted to get away from the system that people have to move code around in the preamble to get things working. But we are currently discussing if moving the top-level code to the end makes more sense.
@HenriMenke sure but if it's input it's a lot more reasonable that it acts the same way as code in the preamble. (we can still discuss how code in the preamble should work, but I think \input should work the same way)
@HenriMenke that's one option we have been discussing yes, but if we can avoid error cases (ie, make things work) it would be better still.
@HenriMenke that's true, although when we looked at this before the judgement was that this would be a rare case, the tikzlibrary issue made it a lot less rare but as you showed that's fixable in package code with no change to the document. This has been out on the wild for 2 months or 6 if you count -dev releases .....
......so while it's certainly true that you can construct cases that break are there many in practice, and perhaps a better question if the preamble atbegindocument were always sorted last how many would there be? Before the utf-8 change we had several strong messages urging us not to do that and everything would break but in all that tlime I think I have only seen one real user document that needed to revert with userawinputencoding
@HenriMenke most cases that do not error will work now so making them error isn't clearly a gain, the error message in the error cases would be better but it is not as simple a judgement call as you imply. We all want to end up with a situation where most douments simply work with no error.
@DavidCarlisle Are you trying to argue that this is not a real-world example? Or that the user who wrote this is clearly a complete idiot for not anticipating possible reordering?
@HenriMenke that is not most it is a specific ordering that you know breaks, but is also why I asked above how many would break if the preamble AtBeginDocument were by default sorted to the end, which would make that one work?
@DavidCarlisle If you want to allow for reordering you have to topologically sort them but that is impossible without the user explicitly specifying the dependencies (or somehow inferring them which is even more difficult).
@HenriMenke any change is an issue, I literally broke one package some years ago by removing a redundant \relax from a command in the format, as it turned out the package (I forget which) was using that as a delimiter target to patch in some functionality. Everything is a judgement call, there are no completely safe or completely compatible changes.
@DavidCarlisle I agree but the main point here is noisy vs. silent. Silently invalidating documents that were previously accepted is a no-go in my opinion.
@HenriMenke and also probably fixable with package updates. Changes that require updates to packages (even if they annoy the package maintainer) are a lot less problematic than changes that require updates to documents.
@HenriMenke almost always these usepackage,AtBeginDocument,usepackage dances are stepping round incompatibilities between contributed packages, so there is no certainty of them being stable between releases even if we didn't change anything, package updates can change the conflicts, and it is not as if most package authors test or are even aware of the dependencies between packages.
@DavidCarlisle just search for a given prefix, then code everything from primitives up with that prefix. If now there are conflicts, it'll certainly not be your fault :)
@PauloCereda unfortunately, I don't have too much time right now to play :( Have to prepare a talk until 10th December, and continue teaching students while doing that...
@PhelypeOleinik welcome to my world. "Kids, it's easy! The right hand is the one you use to write!", says the teacher to a bunch of pre-schoolers, and me being the only left-handed in the group...
@MarcelKrüger You mean what the difference is between "hola" and "gat"? The hole-type is like something you dig. It's a depression into the ground or another surface but it doesn't go through. So if you wanted to say "I dug a hole in the ground to plant the tree in." in Icelandic you'd have to use "hola", but if you wanted to say "There is a hole in my wall. I can see right through to the kitchen now." you'd have to use "gat".
@Plergux Actually I sent that by accident, but thanks for the answer anyway. If there is a cave under me and my "hola" accidentally reaches the cave, does it become a "gat"?
Does anyone know what xrhrft.blogspot.com are? I found it while googling for some tikz solution and found that there are copies of post including usenames from this site.
Since day one of Stack Overflow, all content posted on Stack Exchange sites by their users (i.e. you wonderful people) has been provided to the whole universe under the CC BY-SA license. For my fellow non-lawyers, that license basically means:
Anyone can use any Stack Exchange posts at any time...
@HenriMenke Pardon? I'm not aware that shading disappeared and the entire team said this is not a problem. Which issue is that that we closed with not a problem? In all case that I know (where we did know in advance that there is a problem, for example with a package overwriting internal kernel commands) we tried 2 month before the release to to get the maintainers to update and helped doing so if possible. But clearly we don't see all possible issues beforehand in all cases.
@HenriMenke to iterate on the a little further: yes silent versus non-silent is a point (though not a shitting on users point) and we may have made the wrong judgement call in that particular case, but if out of a million documents one has an issue and we do put out a warnign or an error for the others then that is equally bad or worse.
and it is not as if we aren't looking at this problem now that it actually showed up in real life (by the way there are at least 6 or seven tikz libraries that use \AtBeginDocument so are format dependent and those would benefit from a push/pop label method).
so where please does the team say we think this is/was not a problem? The fact that packages that overwrite internals of LaTeX may need adjustments doesn't mean that we don't care. What doesn't necessary follow that the kernel needs to revert but that isn't same as not caring or not looking for a solution that works for the users.
@PauloCereda Sometimes "hola hola" is used twice in a row for emphasis. When writing it you should use the "h", otherwise the expression "hola ola" is interpreted as "hello wave" (@PhelypeOleinik) :D