X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/513486d6a560251a783d1b5dce4609efcf454a76..fb436fec2ca98879769e4ac20d905ed9e717815b:/mr diff --git a/mr b/mr index 18e8761..b7cd3cb 100755 --- a/mr +++ b/mr @@ -563,6 +563,7 @@ use warnings; use strict; use Getopt::Long; use Cwd qw(getcwd abs_path); +use File::Basename; # things that can happen when mr runs a command use constant { @@ -1278,6 +1279,7 @@ sub loadconfig { my @toload; my $in; + my $absf=abs_path($f); my $trusted; if (ref $f eq 'GLOB') { $dir=""; @@ -1285,7 +1287,6 @@ sub loadconfig { $trusted=1; } else { - my $absf=abs_path($f); if ($loaded{$absf}) { return; } @@ -1301,7 +1302,11 @@ sub loadconfig { } $dir=abs_path($dir)."/"; - + + if (chdir($dir)) { + $f=basename($f); + } + if (! exists $configfiles{$dir}) { $configfiles{$dir}=$f; } @@ -1323,7 +1328,12 @@ sub loadconfig { return; } - print "mr: loading config $f\n" if $verbose; + if ($f =~ /\//) { + print "mr: loading config $f\n" if $verbose; + } else { + print "mr: loading config $f (from ".getcwd().")\n" if $verbose; + } + open($in, "<", $f) || die "mr: open $f: $!\n"; } my @lines=<$in>; @@ -1367,7 +1377,7 @@ sub loadconfig { "this can allow arbitrary code execution!)\n"; } else { - die "mr: $msg in untrusted $f line $lineno\n". + die "mr: $msg in untrusted $absf line $lineno\n". "(To trust this file, list it in ~/.mrtrust.)\n"; } };