summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-24 16:44:39 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-12-24 16:44:39 +0000
commit8db7c837f9bf69ca0264190f36e78cd5d6b12f84 (patch)
tree7614235b37658cd157dc9c3a05b33d1c7a3813a9 /lib
parent6ca558d6ab8e2553b32a415537c484bffd9b189c (diff)
* lib/rdoc/rdoc.rb (parse_files): interpret coding cookie.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/rdoc/rdoc.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/rdoc/rdoc.rb b/lib/rdoc/rdoc.rb
index af4a822da1..51038a1652 100644
--- a/lib/rdoc/rdoc.rb
+++ b/lib/rdoc/rdoc.rb
@@ -220,6 +220,11 @@ module RDoc
$stderr.printf("\n%35s: ", File.basename(fn)) unless options.quiet
content = File.open(fn, "r") {|f| f.read}
+ if /coding:\s*(\S+)/ =~ content[/\A(?:.*\n){0,2}/]
+ if enc = Encoding.find($1)
+ content.force_encoding(enc)
+ end
+ end
top_level = TopLevel.new(fn)
parser = ParserFactory.parser_for(top_level, fn, content, options, @stats)