Page MenuHomePhabricator

Whitespace in <nowiki>…</nowiki> normalized or something
Closed, ResolvedPublic

Description

Whitespace in <nowiki>…</nowiki> was normalized (or something) in this edit: https://fr.wikipedia.org/w/?oldid=175073844&diff=prev&diffmode=source

Event Timeline

ssastry triaged this task as Medium priority.Oct 1 2020, 4:37 PM
ssastry moved this task from Needs Triage to Current & Upcoming Work on the Parsoid board.

Change 680402 had a related patch set uploaded (by Arlolra; author: Arlolra):

[mediawiki/services/parsoid@master] [WIP] Disable single line context when serializing nowikis

https://gerrit.wikimedia.org/r/680402

Change 680402 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Disable single line context when serializing nowikis

https://gerrit.wikimedia.org/r/680402

Change 682690 had a related patch set uploaded (by Arlolra; author: Arlolra):

[mediawiki/vendor@master] Bump wikimedia/parsoid to v0.14.0-a1

https://gerrit.wikimedia.org/r/682690

Change 682690 merged by jenkins-bot:

[mediawiki/vendor@master] Bump wikimedia/parsoid to 0.14.0-a1 for MW 1.37

https://gerrit.wikimedia.org/r/682690

Change 693970 had a related patch set uploaded (by C. Scott Ananian; author: Jforrester):

[mediawiki/core@REL1_36] composer: Lock Parsoid version to specific 0.13.0 release

https://gerrit.wikimedia.org/r/693970

Change 693972 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/vendor@REL1_36] Bump wikimedia/parsoid to "release version" 0.13.0

https://gerrit.wikimedia.org/r/693972

Change 693971 had a related patch set uploaded (by C. Scott Ananian; author: C. Scott Ananian):

[mediawiki/vendor@REL1_36] Bump wikimedia/parsoid to "release version" 0.13.0

https://gerrit.wikimedia.org/r/693971

Change 693972 abandoned by C. Scott Ananian:

[mediawiki/vendor@REL1_36] Bump wikimedia/parsoid to "release version" 0.13.0

Reason:

in favor of I2bfdd568ba24489830fb0d6799524058b3b6d65f

https://gerrit.wikimedia.org/r/693972

Change 693971 merged by Jforrester:

[mediawiki/vendor@REL1_36] Bump wikimedia/parsoid to "release version" 0.13.0

https://gerrit.wikimedia.org/r/693971

Change 693970 merged by jenkins-bot:

[mediawiki/core@REL1_36] composer: Lock Parsoid version to specific 0.13.0 release

https://gerrit.wikimedia.org/r/693970

Hmm,

> echo -e ": test '''<nowiki>\n123</nowiki>''' asdf" > t
> git co 925136a
> cat t | php bin/parse.php --wt2wt
:test '''<nowiki> 123</nowiki>''' asdf
> git co master
> cat t | php bin/parse.php --wt2wt
:test '''<nowiki>
123</nowiki>''' asdf

However, continuing,

> cat t | php bin/parse.php > t.html
> sed 's/asdf/asdfe/' < t.html > t2.html
> cat t2.html | php bin/parse.php --selser --oldtextfile t --oldhtmlfile t.html
: test '''<nowiki> 123</nowiki>''' asdfe

But note that if we started with : test <nowiki>\n123</nowiki> asdf, it would have been fine. The patch does account for some cases of selser reuse.

This is the limitation of https://github.com/wikimedia/parsoid/blob/master/src/Html2Wt/WikitextSerializer.php#L1172-L1185

The nowiki is nested in the idiomatic text element, which doesn't suppress the single line context.

Presumably this isn't too common since it's true of all the other cases there, not just nowikis.

Also, I'm sure it's discussed elsewhere, but it would really help to not be normalizing the entire list when an item is added.

Change 704591 had a related patch set uploaded (by Arlolra; author: Arlolra):

[mediawiki/services/parsoid@master] Add a note about the limitations of suppressing slc

https://gerrit.wikimedia.org/r/704591

Change 704591 merged by jenkins-bot:

[mediawiki/services/parsoid@master] Add a note about the limitations of suppressing slc

https://gerrit.wikimedia.org/r/704591