Suppose a wiki has a source page a.mdwn, which is then moved to a.wiki. (Suppose both the mdwn and wikitext plugins are enabled, so this changes how "a" is rendered.) Currently, when the wiki is refreshed, ikiwiki doesn't notice the change and the page is not rebuilt.
The patch (ab)uses
%forcerebuild, which is meant for use by plugins.
If, for some reason, a plugin deletes the page's entry in
%forcerebuild, it won't be rebuilt.
This patch uncovers another problem. Suppose a wiki has a source page "a" (no extension) which is then moved to "a.mdwn" (or vice versa). ikiwiki fails when trying to create a directory "a" where there is a file "a" (or vice versa).
The same problem occurs if both "a" and "a.mdwn" exist in the wiki.
Thank you for looking into it!
On the use of forcerebuild, I think it's acceptable; plugins that unset it would break other plugins that set it, too.