From 246db3b7a52afbf6dde08c6a4afdac46f31a259b Mon Sep 17 00:00:00 2001 From: Pascal Quach Date: Tue, 19 Aug 2025 16:32:41 +0200 Subject: [PATCH] [v1.12] loading bay detected access prior to definition Running the LSP with julia v1.12 can lead to package access prior to their definition. We can use `invokelateset` in `load_package` to fix the issue. --- src/utils.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils.jl b/src/utils.jl index 4efdb7e4..eb96199b 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -628,13 +628,13 @@ function load_package(c::Pkg.Types.Context, uuid, conn, loadingbay, percentage = if pid in keys(Base.loaded_modules) conn !== nothing && println(conn, "PROCESSPKG;$pe_name;$uuid;noversion;$percentage") loadingbay.eval(:($(Symbol(pe_name)) = $(Base.loaded_modules[pid]))) - m = getfield(loadingbay, Symbol(pe_name)) + m = invokelatest(() -> getfield(loadingbay, Symbol(pe_name))) else m = try conn !== nothing && println(conn, "STARTLOAD;$pe_name;$uuid;noversion;$percentage") loadingbay.eval(:(import $(Symbol(pe_name)))) conn !== nothing && println(conn, "STOPLOAD;$pe_name") - m = getfield(loadingbay, Symbol(pe_name)) + m = invokelatest(() -> getfield(loadingbay, Symbol(pe_name))) catch return end