Skip to content

Aliki: Wrong interpretation of characters with LANG=C #1574

@jackorp

Description

@jackorp

Behavior looks like #183

Reproducer:

$ touch BUG.md
$ LANG=C /builddir/bin/rdoc BUG.md -f aliki --debug
Parsing sources...
100% [ 1/ 1]  BUG.md

Generating Aliki format into /tmp/foo/doc...

You can visit the home page at: file:///tmp/foo/doc/index.html
Copying Aliki static files
mkdir -p ./css
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/css/rdoc.css ./css/rdoc.css
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/css/rdoc.css ./css/rdoc.css
mkdir -p js
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/js/aliki.js js/aliki.js
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/js/aliki.js js/aliki.js
mkdir -p js
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/js/c_highlighter.js js/c_highlighter.js
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/js/c_highlighter.js js/c_highlighter.js
mkdir -p js
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/js/search_controller.js js/search_controller.js
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/js/search_controller.js js/search_controller.js
mkdir -p js
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/js/search_navigation.js js/search_navigation.js
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/js/search_navigation.js js/search_navigation.js
mkdir -p js
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/js/search_ranker.js js/search_ranker.js
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/js/search_ranker.js js/search_ranker.js
mkdir -p js
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/js/theme-toggle.js js/theme-toggle.js
ln /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/js/theme-toggle.js js/theme-toggle.js
Rendering the index page...
Outputting to /tmp/foo/doc/index.html
RDoc::Error: error generating index.html: "\xF0" on US-ASCII (Encoding::InvalidByteSequenceError)
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:691:in 'String#encode'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:691:in 'RDoc::Generator::Darkfish#template_for'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:619:in 'RDoc::Generator::Darkfish#render'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/index.rhtml:167:in 'block in RDoc::Generator::Darkfish#generate_index'
  /usr/share/ruby/erb.rb:1012:in 'Kernel#eval'
  /usr/share/ruby/erb.rb:1012:in 'ERB#result'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:670:in 'RDoc::Generator::Darkfish#template_result'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:649:in 'block in RDoc::Generator::Darkfish#render_template'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:644:in 'Pathname#open'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:644:in 'RDoc::Generator::Darkfish#render_template'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:297:in 'RDoc::Generator::Darkfish#generate_index'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/aliki.rb:28:in 'RDoc::Generator::Aliki#generate'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/rdoc.rb:513:in 'block in RDoc::RDoc#generate'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/rdoc.rb:507:in 'Dir.chdir'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/rdoc.rb:507:in 'RDoc::RDoc#generate'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/rdoc.rb:486:in 'RDoc::RDoc#document'
  /builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/exe/rdoc:20:in '<top (required)>'
  /usr/share/rubygems/rubygems.rb:303:in 'Kernel#load'
  /usr/share/rubygems/rubygems.rb:303:in 'Gem.activate_and_load_bin_path'
  /builddir/bin/rdoc:25:in '<main>'
error generating index.html: "\xF0" on US-ASCII (Encoding::InvalidByteSequenceError)
/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:691:in 'String#encode'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:691:in 'RDoc::Generator::Darkfish#template_for'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:619:in 'RDoc::Generator::Darkfish#render'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/template/aliki/index.rhtml:167:in 'block in RDoc::Generator::Darkfish#generate_index'
	/usr/share/ruby/erb.rb:1012:in 'Kernel#eval'
	/usr/share/ruby/erb.rb:1012:in 'ERB#result'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:670:in 'RDoc::Generator::Darkfish#template_result'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:649:in 'block in RDoc::Generator::Darkfish#render_template'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:644:in 'Pathname#open'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:644:in 'RDoc::Generator::Darkfish#render_template'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/darkfish.rb:297:in 'RDoc::Generator::Darkfish#generate_index'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/generator/aliki.rb:28:in 'RDoc::Generator::Aliki#generate'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/rdoc.rb:513:in 'block in RDoc::RDoc#generate'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/rdoc.rb:507:in 'Dir.chdir'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/rdoc.rb:507:in 'RDoc::RDoc#generate'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/lib/rdoc/rdoc.rb:486:in 'RDoc::RDoc#document'
	/builddir/.local/share/gem/ruby/gems/rdoc-7.1.0/exe/rdoc:20:in '<top (required)>'
	/usr/share/rubygems/rubygems.rb:303:in 'Kernel#load'
	/usr/share/rubygems/rubygems.rb:303:in 'Gem.activate_and_load_bin_path'
	/builddir/bin/rdoc:25:in '<main>'

It seems it tries to encode this file: lib/rdoc/generator/template/aliki/_header.rhtml , I think the emojis https://github.com/ruby/rdoc/blob/master/lib/rdoc/generator/template/aliki/_header.rhtml are not making the encoding happy

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions