X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/2bfbad7af4e3e09287b4c06c958d0929c0c7bc63..f54a91c3021b304fdde183834542418720e4f792:/doc/bugs/entirely_negated_pagespec_matches_internal_pages.mdwn diff --git a/doc/bugs/entirely_negated_pagespec_matches_internal_pages.mdwn b/doc/bugs/entirely_negated_pagespec_matches_internal_pages.mdwn index 012fcec2c..a9b223a46 100644 --- a/doc/bugs/entirely_negated_pagespec_matches_internal_pages.mdwn +++ b/doc/bugs/entirely_negated_pagespec_matches_internal_pages.mdwn @@ -3,8 +3,8 @@ matches all other pages, including all internal pages. This can lead to unexpected results, since it will match a bunch of recentchanges pages, etc. -Recall that internal-use pages are not matched by a glob. So "*" doesn't -match them. So if the pagespec is "* and !foo and !bar", it won't match +Recall that internal-use pages are not matched by a glob. So "\*" doesn't +match them. So if the pagespec is "\* and !foo and !bar", it won't match them. This is the much more common style. There's an odd inconsistency with entirely negated pagespecs. If "!foo" @@ -21,3 +21,10 @@ pagespec, and implicitly add "and !internal()" to it. Either approach would require fully parsing the pagespec. And consider cases like "!(foo and !bar)". Doesn't seem at all easy to solve. --[[Joey]] + +> It occurs to me that at least one place in ikiwiki optimizes by assuming +> that pagespecs not mentioning the word "internal" never match internal +> pages. I wonder whether this bug could be solved by making that part of +> the definition of a pagespec, rather than a risky optimization +> like it is now? That seems strange, though - having this special case +> would make pagespecs significantly harder to understand. --[[smcv]]