Remove tagged_is_strict option, and just behave as though it was enabled
authorSimon McVittie <smcv@debian.org>
Sat, 3 Apr 2010 23:24:27 +0000 (00:24 +0100)
committerSimon McVittie <smcv@debian.org>
Sat, 3 Apr 2010 23:43:58 +0000 (00:43 +0100)
Jon was worried about the backwards-compatibility break involved in making
tagged() not match non-tag links, but Joey seems less concerned about it.

IkiWiki/Plugin/tag.pm
doc/bugs/tagged__40____41___matching_wikilinks.mdwn
doc/plugins/tag.mdwn
t/tag.t

index af4bff1bc7cfba4c9e6bea452ac8ca90ac55db2c..7a85874f6e928e11e85ec57aee279b0d8197687c 100644 (file)
@@ -34,13 +34,6 @@ sub getsetup () {
                        safe => 1,
                        rebuild => 1,
                },
-               tagged_is_strict => {
-                       type => "boolean",
-                       default => 0,
-                       description => "if 1, tagged() doesn't match normal WikiLinks to tag pages",
-                       safe => 1,
-                       rebuild => 1,
-               },
 }
 
 sub tagpage ($) {
@@ -132,15 +125,7 @@ sub pagetemplate (@) {
 package IkiWiki::PageSpec;
 
 sub match_tagged ($$;@) {
-       my $page = shift;
-       my $glob = shift;
-
-       if ($IkiWiki::config{tagged_is_strict}) {
-               return match_link($page, IkiWiki::Plugin::tag::tagpage($glob), linktype => 'tag');
-       }
-       else {
-               return match_link($page, IkiWiki::Plugin::tag::tagpage($glob));
-       }
+       return match_link($_[0], IkiWiki::Plugin::tag::tagpage($_[1]), linktype => 'tag');
 }
 
 1
index 9037d6c0213fb23a783ad20e0285ef5537471ea8..a211654f14337f4a4fb96002325cf66da2961b1f 100644 (file)
@@ -28,8 +28,7 @@ rationale on this, or what am I doing wrong, and how to achieve what I want?
 >> is valid. [[todo/matching_different_kinds_of_links]] is probably
 >> how it will eventually be solved. --[[Joey]] 
 
->>> [[Done]]: you can now set the `tagged_is_strict` config option to `1`
->>> if you don't want `tagged` to match other wikilinks. --[[smcv]]
+>>> [[Done]]: `tagged` no longer matches other wikilinks. --[[smcv]]
 
 > And this is an illustration why a clean work-around (without changing the software) is not possible: while thinking about [[todo/matching_different_kinds_of_links]], I thought one could work around the problem by simply explicitly including the kind of the relation into the link target (like the tagbase in tags), and by having a separate page without the "tagbase" to link to when one wants simply to refer to the tag without tagging. But this won't work: one has to at least once refer to the real tag page if one wants to talk about it, and this reference will count as tagging (unwanted). --Ivan Z.
 
index 8cd79da4157fd2fe6ab77bd8586601a09d3cc718..8ff70a069ce666cc9fc909878b2a7e93518d8296 100644 (file)
@@ -8,11 +8,6 @@ These directives allow tagging pages.
 It also provides the `tagged()` [[ikiwiki/PageSpec]], which can be used to
 match pages that are tagged with a specific tag.
 
-If the `tagged_is_strict` config option is set, `tagged()` will only match
-tags explicitly set with [[ikiwiki/directive/tag]] or
-[[ikiwiki/directive/taglink]]; if not (the default), it will also match
-any other [[WikiLinks|ikiwiki/WikiLink]] to the tag page.
-
 [[!if test="enabled(tag)" then="""
 This wiki has the tag plugin enabled, so you'll see a note below that this
 page is tagged with the "tags" tag.
diff --git a/t/tag.t b/t/tag.t
index 3383fd475c25d25d73376e56061d8c713d8cfc7f..cf3bbdf01edbacdd691ba758afc25ada80b7969a 100755 (executable)
--- a/t/tag.t
+++ b/t/tag.t
@@ -12,7 +12,6 @@ ok(! system("rm -rf t/tmp; mkdir t/tmp"));
 
 $config{userdir} = "users";
 $config{tagbase} = "tags";
-$config{tagged_is_strict} = 1;
 
 %oldrenderedfiles=%pagectime=();
 %pagesources=%pagemtime=%oldlinks=%links=%depends=%typedlinks=%oldtypedlinks=