From 506d16a8a01e563601dee2ddde877cb8210a61ef Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 29 Jun 2011 19:09:23 -0400 Subject: [PATCH 1/1] emails in wikilinks are always email addresses If a page that looks like an email address exists, it can't be linked to. But that's unlikely. Better to be consistent; before this change, a wikilink with an email address in it could link to the email address or a page, depending on when the page was created and when the page with the link was updated. --- IkiWiki/Plugin/link.pm | 10 ++-------- ...mails_should_not_be_considered_as_broken_links.mdwn | 4 +--- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/IkiWiki/Plugin/link.pm b/IkiWiki/Plugin/link.pm index 87e06ca89..ef01f1107 100644 --- a/IkiWiki/Plugin/link.pm +++ b/IkiWiki/Plugin/link.pm @@ -7,7 +7,7 @@ use IkiWiki 3.00; my $link_regexp; -my $email_regexp = qr/^.+@.+$/; +my $email_regexp = qr/^.+@.+\..+$/; my $url_regexp = qr/^(?:[^:]+:\/\/|mailto:).*/i; sub import { @@ -73,13 +73,7 @@ sub is_externallink ($$;$) { $url.="#".$anchor; } - if ($url =~ /$email_regexp/) { - # url looks like an email address, so we assume it - # is supposed to be an external link if there is no - # page with that name. - return (! (bestlink($page, linkpage($url)))) - } - return ($url =~ /$url_regexp/) + return ($url =~ /$url_regexp|$email_regexp/) } sub externallink ($$;$) { diff --git a/doc/bugs/emails_should_not_be_considered_as_broken_links.mdwn b/doc/bugs/emails_should_not_be_considered_as_broken_links.mdwn index 353c3653d..5aad1292a 100644 --- a/doc/bugs/emails_should_not_be_considered_as_broken_links.mdwn +++ b/doc/bugs/emails_should_not_be_considered_as_broken_links.mdwn @@ -9,6 +9,4 @@ The [[ikiwiki/directive/brokenlinks]] directive lists emails when used inside [[ >> and it was easier to make ikiwiki's wikilinks do so too, rather >> than put entirely different link handling into creole. >> ->> Anyway, I've fixed this, although it leaves some weirdness if a page ->> is created with a name like an email address and that same email address ->> was previously used for external links. [[done]] --[[Joey]] +>> Anyway, I've fixed this. [[done]] --[[Joey]] -- 2.45.0