From 09e113e2b6ced4df96d0b8de8a0dfa4caf8bd3ab Mon Sep 17 00:00:00 2001 From: Paul Berg Date: Mon, 16 Feb 2026 13:46:38 +0100 Subject: [PATCH 1/4] handle module version --- src/explore.jl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/explore.jl b/src/explore.jl index 4ef3525..d2f4992 100644 --- a/src/explore.jl +++ b/src/explore.jl @@ -769,7 +769,8 @@ end function explore_module!(ex::Expr, scopestate::ScopeState) # Does create it's own scope, but can import from outer scope, that's what `explore_module_definition!` is for symstate = explore_module_definition!(ex, scopestate) - return union(symstate, SymbolsState(assignments = Set{Symbol}([ex.args[2]])))::SymbolsState + module_name_num = ex.args[1] isa VersionNumber ? 3 : 2 + return union(symstate, SymbolsState(assignments = Set{Symbol}([ex.args[module_name_num]])))::SymbolsState end function explore_fallback!(ex::Expr, scopestate::ScopeState) @@ -873,7 +874,8 @@ function explore_module_definition!(ex::Expr, scopestate; module_depth::Number = return symstate elseif ex.head === :module # Explorer the block inside with one more depth added - return explore_module_definition!(ex.args[3], scopestate, module_depth = module_depth + 1) + block_num = ex.args[1] isa VersionNumber ? 4 : 3 + return explore_module_definition!(ex.args[block_num], scopestate, module_depth = module_depth + 1) elseif ex.head === :quote # TODO? Explore interpolations, modules can't be in interpolations, but `import`'s can >_> return SymbolsState() From 0de96cbae6a44a86d12e9d5849866137e9fd1456 Mon Sep 17 00:00:00 2001 From: Paul Berg Date: Mon, 16 Feb 2026 13:51:21 +0100 Subject: [PATCH 2/4] bmp ver --- Project.toml | 2 +- src/explore.jl | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Project.toml b/Project.toml index a4b480f..72f1f34 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "ExpressionExplorer" uuid = "21656369-7473-754a-2065-74616d696c43" license = "MIT" -version = "1.1.3" +version = "1.1.4" authors = ["Paul Berg ", "Fons van der Plas "] [deps] diff --git a/src/explore.jl b/src/explore.jl index d2f4992..1b14290 100644 --- a/src/explore.jl +++ b/src/explore.jl @@ -768,8 +768,7 @@ end function explore_module!(ex::Expr, scopestate::ScopeState) # Does create it's own scope, but can import from outer scope, that's what `explore_module_definition!` is for - symstate = explore_module_definition!(ex, scopestate) - module_name_num = ex.args[1] isa VersionNumber ? 3 : 2 + symstate xp module_name_num = ex.args[1] isa VersionNumber ? 3 : 2 return union(symstate, SymbolsState(assignments = Set{Symbol}([ex.args[module_name_num]])))::SymbolsState end From 2f80bbfb1d2c9e98bdec5fda7b16c2f631a18fbe Mon Sep 17 00:00:00 2001 From: Paul Berg Date: Mon, 16 Feb 2026 13:52:00 +0100 Subject: [PATCH 3/4] aah --- src/explore.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/explore.jl b/src/explore.jl index 1b14290..fe241fd 100644 --- a/src/explore.jl +++ b/src/explore.jl @@ -768,7 +768,7 @@ end function explore_module!(ex::Expr, scopestate::ScopeState) # Does create it's own scope, but can import from outer scope, that's what `explore_module_definition!` is for - symstate xp module_name_num = ex.args[1] isa VersionNumber ? 3 : 2 + module_name_num = ex.args[1] isa VersionNumber ? 3 : 2 return union(symstate, SymbolsState(assignments = Set{Symbol}([ex.args[module_name_num]])))::SymbolsState end From 0444a98b123a6c7ace55431b90de2c3f822dcc40 Mon Sep 17 00:00:00 2001 From: Paul Berg Date: Mon, 16 Feb 2026 13:52:40 +0100 Subject: [PATCH 4/4] microslop --- src/explore.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/explore.jl b/src/explore.jl index fe241fd..d2f4992 100644 --- a/src/explore.jl +++ b/src/explore.jl @@ -768,6 +768,7 @@ end function explore_module!(ex::Expr, scopestate::ScopeState) # Does create it's own scope, but can import from outer scope, that's what `explore_module_definition!` is for + symstate = explore_module_definition!(ex, scopestate) module_name_num = ex.args[1] isa VersionNumber ? 3 : 2 return union(symstate, SymbolsState(assignments = Set{Symbol}([ex.args[module_name_num]])))::SymbolsState end