$ cat a.rb
# 你
$ RUBYOPT="-Ku" rdoc a.rb --debug
Parsing sources...
Before reporting this, could you check that the file you're documenting
has proper syntax:
/usr/bin/ruby -c a.rb
RDoc is not a full Ruby parser and will fail when fed invalid ruby programs.
The internal error was:
(Encoding::CompatibilityError) incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string)
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/encoding.rb:20:in `sub!'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/encoding.rb:20:in `read_file'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/rdoc.rb:312:in `parse_file'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/rdoc.rb:367:in `block in parse_files'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/rdoc.rb:365:in `map'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/rdoc.rb:365:in `parse_files'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/rdoc.rb:423:in `document'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/bin/rdoc:15:in `<top (required)>'
/usr/bin/rdoc:19:in `load'
/usr/bin/rdoc:19:in `<main>'
incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string)
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/encoding.rb:20:in `sub!'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/encoding.rb:20:in `read_file'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/rdoc.rb:312:in `parse_file'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/rdoc.rb:367:in `block in parse_files'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/rdoc.rb:365:in `map'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/rdoc.rb:365:in `parse_files'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/lib/rdoc/rdoc.rb:423:in `document'
/usr/lib/ruby/gems/1.9.1/gems/rdoc-3.4/bin/rdoc:15:in `<top (required)>'
/usr/bin/rdoc:19:in `load'
/usr/bin/rdoc:19:in `<main>'
rdoc-3.4/lib/rdoc/encoding.rb:20
content = open filename, "rb" do |f| f.read end
utf8 = content.sub!(/\A\xef\xbb\xbf/, '')
in RUBYOPT="-Ku" regexp's encoding is UTF-8 but content's encoding is ASCII-8BIT
solution:
add '# encoding: ascii' in the head of file 'rdoc-3.4/lib/rdoc/encoding.rb'
|