If a page inlines some other page (such as this page by the bugs page),
and the page is removed (such as by this page being linked to bugs/done),
the inlining page is not updated to remove it.
This only happens if the page is removed from the inlined pagespec due to
a tag changing; the problem is that once the tag is changed, ikiwiki does
not know that the page used to match before.
Another example would be a pagespec that allowed only matching new pages:
newer(1 day)
Obviously, the pages that matches are going to change, and again once they
do, ikiwiki will no longer know that they matched before, so it won't know
to remove them from a page that used that to inline them.
To fix, seems I would need to record the actual list of pages that are
currently included on an inline page, and do a comparison to see if any
have changed.
At first I thought, why not just add them to the dependencies
explicitly, but that failed because the dependencies GlobList failed to match
when a negated expression like "!tag(bugs/done)" is matched. It is,
however, doable with PageSpecs:
(real deps here) or (list of all currently inlined pages here)
However, it's not really clear to me how to remove inlined pages from the
deps when they stop being inlined for whatever reason. So a separate list
would be better.
So this is blocked by [[todo/plugin_data_storage]] I suppose.