JuliaDocs / Documenter.jl

A documentation generator for Julia.

Home Page:https://documenter.juliadocs.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Unhelpful error during ?template expansion?

vchuravy opened this issue · comments

I would have hoped to get a error message that points me back to where I made the mistake.

[ Info: SetupBuildDirectory: setting up build directory.
[ Info: Doctest: skipped.
[ Info: ExpandTemplates: expanding markdown templates.

ERROR: LoadError: UndefVarError: `ScopedValue` not defined in `Main`
Suggestion: check for spelling errors or missing imports.
Stacktrace:
  [1] top-level scope
    @ none:1
  [2] eval
    @ ./boot.jl:428 [inlined]
  [3] runner(::Type{Documenter.Expanders.DocsBlocks}, node::MarkdownAST.Node{Nothing}, page::Documenter.Page, doc::Documenter.Document)
    @ Documenter ~/src/julia/doc/deps/packages/Documenter/1HwWe/src/expander_pipeline.jl:403
  [4] dispatch(::Type{Documenter.Expanders.ExpanderPipeline}, ::MarkdownAST.Node{Nothing}, ::Vararg{Any})
    @ Documenter.Selectors ~/src/julia/doc/deps/packages/Documenter/1HwWe/src/utilities/Selectors.jl:170
  [5] expand(doc::Documenter.Document)
    @ Documenter ~/src/julia/doc/deps/packages/Documenter/1HwWe/src/expander_pipeline.jl:22
  [6] runner(::Type{Documenter.Builder.ExpandTemplates}, doc::Documenter.Document)
    @ Documenter ~/src/julia/doc/deps/packages/Documenter/1HwWe/src/builder_pipeline.jl:222
  [7] dispatch(::Type{Documenter.Builder.DocumentPipeline}, x::Documenter.Document)
    @ Documenter.Selectors ~/src/julia/doc/deps/packages/Documenter/1HwWe/src/utilities/Selectors.jl:170
  [8] #83
    @ ~/src/julia/doc/deps/packages/Documenter/1HwWe/src/makedocs.jl:248 [inlined]
  [9] withenv(::Documenter.var"#83#85"{Documenter.Document}, ::Pair{String, Nothing}, ::Vararg{Pair{String, Nothing}})
    @ Base ./env.jl:257
 [10] #82
    @ ~/src/julia/doc/deps/packages/Documenter/1HwWe/src/makedocs.jl:247 [inlined]
 [11] cd(f::Documenter.var"#82#84"{Documenter.Document}, dir::String)
    @ Base.Filesystem ./file.jl:112
 [12] makedocs(; debug::Bool, format::Documenter.HTMLWriter.HTML, kwargs::@Kwargs{build::String, modules::Vector{Module}, clean::Bool, doctest::Bool, linkcheck::Bool, linkcheck_ignore::Vector{String}, checkdocs::Symbol, sitename::String, authors::String, pages::Vector{Any}, remotes::Dict{String, Tuple{Documenter.Remotes.GitHub, String}}})
    @ Documenter ~/src/julia/doc/deps/packages/Documenter/1HwWe/src/makedocs.jl:247
 [13] top-level scope
    @ ~/src/julia/doc/make.jl:371
in expression starting at /home/vchuravy/src/julia/doc/make.jl:371

With JULIA_DEBUG=Documenter:

┌ Debug: Evaluating @docs block:
│ Base.ScopedValues.ScopedValue
│ Base.ScopedValues.with
│ Base.ScopedValues.@with
│ Base.isassigned(::ScopedValue)
│ Base.ScopedValues.get
└ @ Documenter ~/src/julia/doc/deps/packages/Documenter/1HwWe/src/expander_pipeline.jl:370
...

I'm actually surprised that this throws.. I'd say there's two issues here: (1) adding line numbers and such (related: #1996), but also (2) better error handling for this case.