From 6f039ff21485c951527f5f6ed1fdd5b3e47292e3 Mon Sep 17 00:00:00 2001 From: Ian Butterworth Date: Sun, 8 Sep 2024 23:43:13 -0400 Subject: [PATCH] lookup path using `moduleroot` & `pathof` --- base/loading.jl | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/base/loading.jl b/base/loading.jl index deda741520db54..f3d720dc7d531e 100644 --- a/base/loading.jl +++ b/base/loading.jl @@ -1268,13 +1268,14 @@ function _include_from_serialized(pkg::PkgId, path::String, ocachepath::Union{No end function extension_parent(M::Module) - @show _pkgdir = pkgdir(M) - _pkgdir === nothing && return nothing - pkgdir_parts = splitpath(_pkgdir) + rootmodule = moduleroot(M) + src_path = pathof(rootmodule) + src_path === nothing && return nothing + pkgdir_parts = splitpath(src_path) ext_pos = findlast(==("ext"), pkgdir_parts) - if ext_pos !== nothing && ext_pos >= length(pkgdir_parts) - 1 - @show parent_package_root = joinpath(pkgdir_parts[1:ext_pos-1]...) - @show parent_package_project_file = locate_project_file(parent_package_root) + if ext_pos !== nothing && ext_pos >= length(pkgdir_parts) - 2 + parent_package_root = joinpath(pkgdir_parts[1:ext_pos-1]...) + parent_package_project_file = locate_project_file(parent_package_root) if parent_package_project_file isa String d = parsed_toml(parent_package_project_file) name = get(d, "name", nothing)