inline: When the pagenames list includes pages that do not exist, skip them.
bestlink returns '' if no existing page matches a link. This propigated through inline and other plugins, causing uninitialized value warnings, and in some cases (when filecheck was enabled) making the whole directive fail. Skipping the empty results fixes that, but this is papering over another problem: If the missing page is later added, there is not dependency information to know that the inline needs to be updated. Perhaps smcv will fix that later.master
parent
662ea9971c
commit
aaa72a3a80
|
@ -19,7 +19,7 @@ sub import {
|
||||||
hook(type => "checkconfig", id => "inline", call => \&checkconfig);
|
hook(type => "checkconfig", id => "inline", call => \&checkconfig);
|
||||||
hook(type => "sessioncgi", id => "inline", call => \&sessioncgi);
|
hook(type => "sessioncgi", id => "inline", call => \&sessioncgi);
|
||||||
hook(type => "preprocess", id => "inline",
|
hook(type => "preprocess", id => "inline",
|
||||||
call => \&IkiWiki::preprocess_inline, scan => 1);
|
call => \&IkiWiki::preprocess_inline);
|
||||||
hook(type => "pagetemplate", id => "inline",
|
hook(type => "pagetemplate", id => "inline",
|
||||||
call => \&IkiWiki::pagetemplate_inline);
|
call => \&IkiWiki::pagetemplate_inline);
|
||||||
hook(type => "format", id => "inline", call => \&format, first => 1);
|
hook(type => "format", id => "inline", call => \&format, first => 1);
|
||||||
|
@ -155,23 +155,6 @@ sub preprocess_inline (@) {
|
||||||
if (! exists $params{pages} && ! exists $params{pagenames}) {
|
if (! exists $params{pages} && ! exists $params{pagenames}) {
|
||||||
error gettext("missing pages parameter");
|
error gettext("missing pages parameter");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! defined wantarray) {
|
|
||||||
# Running in scan mode: only do the essentials
|
|
||||||
|
|
||||||
if (yesno($params{trail}) && IkiWiki::Plugin::trail->can("preprocess_trailitems")) {
|
|
||||||
# default to sorting age, the same as inline itself,
|
|
||||||
# but let the params override that
|
|
||||||
IkiWiki::Plugin::trail::preprocess_trailitems(sort => 'age', %params);
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (yesno($params{trail}) && IkiWiki::Plugin::trail->can("preprocess_trailitems")) {
|
|
||||||
scalar IkiWiki::Plugin::trail::preprocess_trailitems(sort => 'age', %params);
|
|
||||||
}
|
|
||||||
|
|
||||||
my $raw=yesno($params{raw});
|
my $raw=yesno($params{raw});
|
||||||
my $archive=yesno($params{archive});
|
my $archive=yesno($params{archive});
|
||||||
my $rss=(($config{rss} || $config{allowrss}) && exists $params{rss}) ? yesno($params{rss}) : $config{rss};
|
my $rss=(($config{rss} || $config{allowrss}) && exists $params{rss}) ? yesno($params{rss}) : $config{rss};
|
||||||
|
@ -211,7 +194,8 @@ sub preprocess_inline (@) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@list = map { bestlink($params{page}, $_) }
|
@list = grep { $_ ne '' }
|
||||||
|
map { bestlink($params{page}, $_) }
|
||||||
split ' ', $params{pagenames};
|
split ' ', $params{pagenames};
|
||||||
|
|
||||||
if (yesno($params{reverse})) {
|
if (yesno($params{reverse})) {
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
ikiwiki (3.20120204) UNRELEASED; urgency=low
|
ikiwiki (3.20120204) UNRELEASED; urgency=low
|
||||||
|
|
||||||
* Remove dead link from plugins/teximg. Closes: #664885
|
* Remove dead link from plugins/teximg. Closes: #664885
|
||||||
|
* inline: When the pagenames list includes pages that do not exist, skip
|
||||||
|
them.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Wed, 21 Mar 2012 14:33:14 -0400
|
-- Joey Hess <joeyh@debian.org> Wed, 21 Mar 2012 14:33:14 -0400
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue