Applies to cvs as at 18 Feb 2002 - new markup problem
1) Create a page called NoLinkHere, and enter some
content on it
2) Create another page called PhantomBackLinkBug.
On the page create some content, including the text
3) When rendered with the NewMarkup, the
PhantomBackLinkBug page will display no links.
4) Go to NoLinkHere, and check its BackLinks. The
Bug is revealed!
The bug is in the function ExtractWikiPageLinks
($content) in stdlib.php. Towards the end of the
function, links are matched in the line
if (preg_match_all("/!?$WikiNameRegexp/", $line,
Clearly, this applies to old markup only.
However, the fix is non-trivial. Changing the ! to ~
will not work with old markup. We could just pass a
parameter to detect whether the markup in use is old
or new, and parse accordingly, but it seems to me
that the best fix would be to rewrite the code so
that the transformation engine itself could extract,
rather than just replace, links.
Until then, I thought I'd better log this on SF