sub add_underlay ($) { #{{{
my $dir=shift;
- if ($dir=~/^\//) {
- unshift @{$config{underlaydirs}}, $dir;
+ if ($dir !~ /^\//) {
+ $dir="$config{underlaydir}/../$dir";
}
- else {
- unshift @{$config{underlaydirs}}, "$config{underlaydir}/../$dir";
+
+ if (! grep { $_ eq $dir } @{$config{underlaydirs}}) {
+ unshift @{$config{underlaydirs}}, $dir;
}
return 1;
} #}}}
sub displaytime ($;$) { #{{{
+ my $time=shift;
+ my $format=shift;
+ if (exists $hooks{displaytime}) {
+ my $ret;
+ run_hooks(displaytime => sub {
+ $ret=shift->($time, $format)
+ });
+ return $ret;
+ }
+ else {
+ return formattime($time, $format);
+ }
+} #}}}
+
+sub formattime ($;$) { #{{{
+ # Plugins can override this function to mark up the time for
+ # display.
my $time=shift;
my $format=shift;
if (! defined $format) {