diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/rdoc/parser.rb | 2 | ||||
-rw-r--r-- | test/rdoc/test_rdoc_parser.rb | 3 |
3 files changed, 9 insertions, 1 deletions
@@ -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 |