From dff44e4a6d98cccd2b4af56397a80dc127b0242b Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Fri, 7 Jan 2011 20:04:45 +0000 Subject: Add add_literal_underlay and use it for the transient underlay This means we don't need to import Cwd and use abs_path. --- IkiWiki.pm | 16 +++++++++++----- IkiWiki/Plugin/transient.pm | 8 ++++---- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/IkiWiki.pm b/IkiWiki.pm index 799236f35..7d1f5c401 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -810,17 +810,23 @@ sub srcfile ($;$) { return (srcfile_stat(@_))[0]; } -sub add_underlay ($) { +sub add_literal_underlay ($) { my $dir=shift; - if ($dir !~ /^\//) { - $dir="$config{underlaydirbase}/$dir"; - } - if (! grep { $_ eq $dir } @{$config{underlaydirs}}) { unshift @{$config{underlaydirs}}, $dir; } +} + +sub add_underlay ($) { + my $dir = shift; + + if ($dir !~ /^\//) { + $dir="$config{underlaydirbase}/$dir"; + } + add_literal_underlay($dir); + # why does it return 1? we just don't know return 1; } diff --git a/IkiWiki/Plugin/transient.pm b/IkiWiki/Plugin/transient.pm index c482b8552..9811aa010 100644 --- a/IkiWiki/Plugin/transient.pm +++ b/IkiWiki/Plugin/transient.pm @@ -25,10 +25,10 @@ sub getsetup () { our $transientdir; sub checkconfig () { - eval q{use Cwd 'abs_path'}; - error($@) if $@; - $transientdir = abs_path($config{wikistatedir})."/transient"; - add_underlay($transientdir); + $transientdir = $config{wikistatedir}."/transient"; + # add_underlay treats relative underlays as relative to the installed + # location, not the cwd. That's not what we want here. + IkiWiki::add_literal_underlay($transientdir); } sub change (@) { -- cgit v1.2.3