summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-07-03 22:14:52 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-07-03 22:14:52 +0000
commitaf029154d6b145302f8ece0286711f61ea606877 (patch)
treedd5f768ba8cc1ab7a345038ab4d24fac4bc8d056
parent6551c1e5609967c0c7f947fa0e9d85d24e454d37 (diff)
use "use open" pragma to avoid manually needing to specify utf8 everywhere
and also to set default stdio mode change filetype to return undef, not "unknown"
-rw-r--r--IkiWiki.pm24
-rw-r--r--IkiWiki/CGI.pm2
-rw-r--r--IkiWiki/Plugin/inline.pm2
-rw-r--r--IkiWiki/Render.pm2
4 files changed, 10 insertions, 20 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index 39ceec04e..c2c3aac83 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -3,8 +3,8 @@
package IkiWiki;
use warnings;
use strict;
-use encoding "utf8"; # force use of utf8 for io layer
use Encode;
+use open qw{:utf8 :std};
use vars qw{%config %links %oldlinks %oldpagemtime %pagectime
%renderedfiles %pagesources %depends %hooks};
@@ -126,7 +126,7 @@ sub pagetype ($) { #{{{
if ($page =~ /\.(.*)$/) {
return $1 if exists $hooks{htmlize}{$1};
}
- return "unknown";
+ return undef;
} #}}}
sub pagename ($) { #{{{
@@ -134,7 +134,7 @@ sub pagename ($) { #{{{
my $type=pagetype($file);
my $page=$file;
- $page=~s/\Q.$type\E*$// unless $type eq 'unknown';
+ $page=~s/\Q.$type\E*$// if defined $type;
return $page;
} #}}}
@@ -162,12 +162,7 @@ sub readfile ($;$) { #{{{
local $/=undef;
open (IN, $file) || error("failed to read $file: $!");
- if (! $binary) {
- binmode(IN, ":utf8");
- }
- else {
- binmode(IN);
- }
+ binmode(IN) if ($binary);
my $ret=<IN>;
close IN;
return $ret;
@@ -199,12 +194,7 @@ sub writefile ($$$;$) { #{{{
}
open (OUT, ">$destdir/$file") || error("failed to write $destdir/$file: $!");
- if (! $binary) {
- binmode(OUT, ":utf8");
- }
- else {
- binmode(OUT);
- }
+ binmode(OUT) if ($binary);
print OUT $content;
close OUT;
} #}}}
@@ -340,7 +330,7 @@ sub unlockwiki () { #{{{
} #}}}
sub loadindex () { #{{{
- open (IN, "<:utf8", "$config{wikistatedir}/index") || return;
+ open (IN, "$config{wikistatedir}/index") || return;
while (<IN>) {
$_=possibly_foolish_untaint($_);
chomp;
@@ -372,7 +362,7 @@ sub saveindex () { #{{{
if (! -d $config{wikistatedir}) {
mkdir($config{wikistatedir});
}
- open (OUT, ">:utf8", "$config{wikistatedir}/index") ||
+ open (OUT, ">$config{wikistatedir}/index") ||
error("cannot write to $config{wikistatedir}/index: $!");
foreach my $page (keys %oldpagemtime) {
next unless $oldpagemtime{$page};
diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index 73afe2468..5e7f77171 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -4,7 +4,7 @@ use warnings;
use strict;
use IkiWiki;
use IkiWiki::UserInfo;
-use encoding 'utf8'; # force use of utf8 for io layer
+use open qw{:utf8 :std};
use Encode;
package IkiWiki;
diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm
index fc9d5f01c..dc167043f 100644
--- a/IkiWiki/Plugin/inline.pm
+++ b/IkiWiki/Plugin/inline.pm
@@ -101,7 +101,7 @@ sub get_inline_content ($$) { #{{{
my $file=$pagesources{$page};
my $type=pagetype($file);
- if ($type ne 'unknown') {
+ if (defined $type) {
return htmlize($type, preprocess($page, linkify($page, $parentpage, readfile(srcfile($file))), 1));
}
else {
diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm
index 8a4fb89eb..404726930 100644
--- a/IkiWiki/Render.pm
+++ b/IkiWiki/Render.pm
@@ -255,7 +255,7 @@ sub render ($) { #{{{
my $type=pagetype($file);
my $srcfile=srcfile($file);
- if ($type ne 'unknown') {
+ if (defined $type) {
my $content=readfile($srcfile);
my $page=pagename($file);
delete $depends{$page};