aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/rdoc/parser.rb2
-rw-r--r--test/rdoc/test_rdoc_parser.rb3
3 files changed, 9 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 974f368bde..239dac9995 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri May 4 07:19:02 2012 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * lib/rdoc/parser.rb (RDoc.binary?): fix wrong regexp.
+ [ruby-core:44798] [Bug #6393]
+
Fri May 4 01:33:20 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/rdoc/parser.rb (RDoc.alias_extension): a real file is irrelevant
diff --git a/lib/rdoc/parser.rb b/lib/rdoc/parser.rb
index 2f1b9cde8d..1dee485492 100644
--- a/lib/rdoc/parser.rb
+++ b/lib/rdoc/parser.rb
@@ -85,7 +85,7 @@ class RDoc::Parser
if have_encoding then
mode = "r"
s.sub!(/\A#!.*\n/, '') # assume shebang line isn't longer than 1024.
- encoding = s[/^\s*\#\s*(?:-\*-\s*)?(?:en)?coding:\s*\([^\s;]+?\)(?:-\*-)?/, 1]
+ encoding = s[/^\s*\#\s*(?:-\*-\s*)?(?:en)?coding:\s*([^\s;]+?)(?:-\*-|[\s;])/, 1]
mode = "r:#{encoding}" if encoding
s = File.open(file, mode) {|f| f.gets(nil, 1024)}
diff --git a/test/rdoc/test_rdoc_parser.rb b/test/rdoc/test_rdoc_parser.rb
index 49e845e27b..c323efeac3 100644
--- a/test/rdoc/test_rdoc_parser.rb
+++ b/test/rdoc/test_rdoc_parser.rb
@@ -29,8 +29,11 @@ class TestRDocParser < MiniTest::Unit::TestCase
end
def test_class_binary_large_japanese_rdoc
+ extenc, Encoding.default_external = Encoding.default_external, Encoding::US_ASCII
file_name = File.expand_path '../test.ja.largedoc', __FILE__
assert !@RP.binary?(file_name)
+ ensure
+ Encoding.default_external = extenc
end
def test_class_binary_japanese_rdoc