lockedit
[ikiwiki] / doc / bugs / links_misparsed_in_CSV_files.mdwn
1 If a link inside a CSV file contains two or more underscores (\_), then it will get mis-parsed by the table plugin.
2
3 e.g. \[[single\_track\_lines]] becomes "em>lines".
4
5 Links with only one underscore are OK.
6
7 Update 2008-11-24: The problem only occurs if the CSV data is in an external file. If I load it using data="""...""" then it works fine.
8
9 The problem appears to be the call to htmlize inside genrow. If the data is inline, then wikilinks get expanded before they get here, and are OK. If the data is from an external file, the wikilinks aren't expanded, and htmlize will expand \[[single\_track\_lines]] into \[[single<em>track</em>lines]].
10
11 Oh, wait, I see the problem. IkiWiki::linkify is only called if the external file doesn't exist. If I remove this check and always call IkiWiki::linkify, then the problem is solved.
12
13 (this is inside /usr/share/perl5/IkiWiki/Plugin/table.pm).
14
15 > To reproduce this bug, I had to install the old, broken markdown 1.0,
16 > instead of the now-default Text::Markdown.
17
18 > Why is linkify not called for external files? Well, I checked the
19 > history, and it's probably best to say "for historical reasons that no
20 > longer apply". So, changed as you suggest. [[done]] --[[Joey]] 
21
22 I am rather confused what this check does, and the fact the comments are very different for CSV and DSV when the code is the same doesn't seem to help.
23
24 > The code is not the same; two operations are run in different orders for
25 > CSV and DSV, as the comments note. --[[Joey]] 
26
27 -- Brian May