Skip to content

Confusing type error for typos #4

@Timmmm

Description

@Timmmm

Unfortunate that Asciidoctor is written in a dynamically typed language. If you make a typo like this:

sail::execute[clause="AIUPC(_, _)",part=body,unindent]

You get this helpful error:

/usr/lib/ruby/gems/3.1.0/gems/asciidoctor-sail-0.2/lib/asciidoctor-sail/macros.rb:41:in `read_source': asciidoctor: FAILED: /foo.adoc: Failed to load AsciiDoc document - no implicit conversion of String into Integer (TypeError)
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-sail-0.2/lib/asciidoctor-sail/macros.rb:145:in `get_source'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-sail-0.2/lib/asciidoctor-sail/macros.rb:210:in `process'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:662:in `[]'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:662:in `next_block'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:397:in `next_section'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:382:in `next_section'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:382:in `next_section'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:382:in `next_section'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/parser.rb:97:in `parse'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/document.rb:538:in `parse'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/load.rb:84:in `load'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/convert.rb:78:in `convert'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/convert.rb:190:in `block in convert_file'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/convert.rb:190:in `open'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/convert.rb:190:in `convert_file'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/cli/invoker.rb:129:in `block in invoke!'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/cli/invoker.rb:112:in `each'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-2.0.18/lib/asciidoctor/cli/invoker.rb:112:in `invoke!'
        from /usr/lib/ruby/gems/3.1.0/gems/asciidoctor-pdf-2.3.7/bin/asciidoctor-pdf:46:in `<top (required)>'
        from /usr/bin/asciidoctor-pdf:25:in `load'
        from /usr/bin/asciidoctor-pdf:25:in `<main>'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions