Because I didn't want that behaviour, I wrote a little Patch that will cache just the content of the page (what is returned from WikiToHTML) and create headers and footers each time individually.
CAUTION: If you already used a cache and want to apply this patch, you have to either delete all cache-files or manually recreate all files! Else, there will be lots of confusion, doubled display of HTML-Header, footer and even the http-header!
sub DoCacheBrowsechange
if (-f $idFile) {
local $/ = undef; # Read complete files concat(INFILE, "<$idFile") or return 0; $text = <INFILE>; close INFILE; print $text; return 1; }to
if (-f $idFile) { local $/ = undef; # Read complete files concat(INFILE, "<$idFile") or return 0; $text = &GetHeader($query, &QuoteHtml?($query),''); $text .= <INFILE>; $text .= &GetFooterText($query,''); close INFILE; print $text; return 1; }
In
sub BrowsePagechange the last line from
&UpdateHtmlCache?($id, $fullHtml) if $UseCache;to
&UpdateHtmlCache?($id, &WikiToHTML($Text{'text'})) if $UseCache;
And last, in
sub DoWikiRequestrearrange one line from
&InitLinkPatterns(); if (!&DoCacheBrowse()) { eval $BrowseCode; &InitRequest() or return;to
&InitLinkPatterns(); &InitRequest() or return; if (!&DoCacheBrowse()) {
eval $BrowseCode;(This is done, because GetHeader and GetFooterText rely on variables initialized here)
Note: With this patch applied, the cache gets less efficient, because it just saves the time of executing WikiToHTML! It will most likely only save time on rather big pages! On the other hand it shouldn't be slower than without using a cache at all.
Hmm, I'll look into this. So far I almost never used the caching stuff. Thanks for pointing out this problem. -- MarkusLude