diff options
author | Simon McVittie <smcv@debian.org> | 2018-12-01 21:18:23 +0000 |
---|---|---|
committer | Simon McVittie <smcv@debian.org> | 2019-02-24 17:23:34 +0000 |
commit | 824cf7db1b96a16b080e284bc3ebf90c1f14a203 (patch) | |
tree | 2362c20b87d5d434ce6e4e8c3790f5c795299693 /t | |
parent | 94486851176765d5fac2992256039647605976f3 (diff) | |
download | ikiwiki-824cf7db1b96a16b080e284bc3ebf90c1f14a203.tar ikiwiki-824cf7db1b96a16b080e284bc3ebf90c1f14a203.tar.gz |
po: Always filter .po files
The input to filter hooks is meant to be the content of a source file
on disk. If we only filter once per (page, destpage) pair, and a page
is inlined into the same destpage more than once, then the second
occurrence will render as the result of htmlizing .po source as if
it was Markdown (or whatever the type of the corresponding master page
is), which is never going to end well.
The alreadyfiltered mechanism was added in commit 1e874b3f to avoid
preprocessing loops, but I'm not sure where it could lead to a loop:
filter hooks are only called from IkiWiki::filter, which is only called
on page content from disk or on proposed content being previewed.
According to <https://bugs.debian.org/911356#41>, deleting the
alreadyfiltered mechanism resolves the problem, as well as simplifying
the code.
Closes: #911356
Tested-by: intrigeri
Diffstat (limited to 't')
-rwxr-xr-x | t/po.t | 38 |
1 files changed, 0 insertions, 38 deletions
@@ -447,25 +447,10 @@ like($output{'debian911356.fr'}, qr{ \s* <p>Entre\sles\sinlines</p> \s* - .* # TODO: This paragraph gets mangled (Debian #911356) - \s* - <p>Après\sles\sinlines</p> -}sx); - -TODO: { -local $TODO = "Debian bug #911356"; -like($output{'debian911356.fr'}, qr{ - <p>Avant\sla\spremière\sinline</p> - \s* - <p>Contenu\sfrançais</p> - \s* - <p>Entre\sles\sinlines</p> - \s* <p>Contenu\sfrançais</p> \s* <p>Après\sles\sinlines</p> }sx); -}; # Variation of Debian #911356 without using raw inlines. like($output{debian911356ish}, qr{ @@ -511,28 +496,6 @@ like($output{'debian911356ish.fr'}, qr{ \s* <p>Entre\sles\sinlines</p> \s* - .* # TODO: This paragraph gets mangled (Debian #911356) - \s* - <p>Après\sles\sinlines</p> -}sx); - -TODO: { -local $TODO = "Debian bug #911356"; -like($output{'debian911356ish.fr'}, qr{ - <p>Avant\sla\spremière\sinline</p> - \s* - <!--feedlinks--> - \s* - <div\sclass="inlinecontent"> - \s* - <h6>debian911356-inlined\.fr</h6> - \s* - <p>Contenu\sfrançais</p> - \s* - </div><!--inlinecontent--> - \s* - <p>Entre\sles\sinlines</p> - \s* <!--feedlinks--> \s* <div\sclass="inlinecontent"> @@ -545,6 +508,5 @@ like($output{'debian911356ish.fr'}, qr{ \s* <p>Après\sles\sinlines</p> }sx); -}; done_testing; |