[00:04:08] TimStarling: Oh, sorry. I followed the link from here and forgot I was looking at an older patchset. [05:50:21] Krinkle: you've been eaten by bug 529! [05:51:22] Krinkle: T14974 aka T2529 [05:51:23] T14974: The newline added to a template, magic word, variable, or parser function that returns line-start wikicode formatting (*#:; {|) causes unexpected parsing - https://phabricator.wikimedia.org/T14974 [05:51:23] T2529: Templates inside of tables appear incorrectly - https://phabricator.wikimedia.org/T2529 [05:51:51] Krinkle: https://en.wikipedia.org/w/index.php?title=File%3A2024_Wikitext_WAT_(reprise).pdf&page=3 [05:58:39] T105242 is specific to urlencode [05:58:39] T105242: Urlencoding strip markers - https://phabricator.wikimedia.org/T105242 [06:03:18] The "usual" answer to defeating T2529 is to add at the start. Eg `* foo {{1x|*bar}}` vs `* foo {{1x|*bar}}`. But because T105242 decided to kill strip markers instead of skip strip markers, the trick won't work. [06:03:18] T2529: Templates inside of tables appear incorrectly - https://phabricator.wikimedia.org/T2529 [06:09:43] `{{#tag:nowiki|{{urlencode:*bar}}}}` is a clever workaround. The implicit newline is still added, but {{#tag:nowiki|\n*bar}} becomes *bar because arguments to parser functions are trimmed. If you use `* foo {{#tag:nowiki|x{{urlencode:*bar|wiki}}}}` you can see the newline still becomes a space before the `x`. [06:14:01] anyway, urlencode switch from `markerSkipCallback` to `killMarkers` in 2015 (https://gerrit.wikimedia.org/r/c/mediawiki/core/+/181519) which is when this behavior changed (or, more accurately, when the usual "add " workaround stopped working) [19:35:48] cscott: thanks! So it actually used to work that way.