312312
313313function eval_rex (rex:: RelocatableExpr , exs_sigs_old:: ExprsSigs , mod:: Module ; mode:: Symbol = :eval )
314314 return with_logger (_debug_logger) do
315- sigs, includes = nothing , nothing
316315 rexo = getkey (exs_sigs_old, rex, nothing )
317316 # extract the signatures and update the line info
318317 if rexo === nothing
@@ -333,13 +332,16 @@ function eval_rex(rex::RelocatableExpr, exs_sigs_old::ExprsSigs, mod::Module; mo
333332 end
334333 end
335334 storedeps (deps, rex, mod)
335+ return sigs, includes
336336 else
337- sigs = exs_sigs_old[rexo]
337+ sigs, includes = exs_sigs_old[rexo], nothing
338338 # Update location info
339339 ln, lno = firstline (unwrap (rex)), firstline (unwrap (rexo))
340340 if sigs != = nothing && ! isempty (sigs) && ln != lno
341341 ln, lno = ln:: LineNumberNode , lno:: LineNumberNode
342- @debug " LineOffset" _group= " Action" time= time () deltainfo= (sigs, lno=> ln)
342+ let sigs= sigs # #15276
343+ @debug " LineOffset" _group= " Action" time= time () deltainfo= (sigs, lno=> ln)
344+ end
343345 for sig in sigs
344346 locdefs = CodeTracking. method_info[sig]:: AbstractVector
345347 ld = map (pr-> linediff (lno, pr[1 ]), locdefs)
@@ -352,8 +354,8 @@ function eval_rex(rex::RelocatableExpr, exs_sigs_old::ExprsSigs, mod::Module; mo
352354 locdefs[idx] = (newloc (methloc, ln, lno), methdef)
353355 end
354356 end
357+ return sigs, includes
355358 end
356- return sigs, includes
357359 end
358360end
359361
@@ -651,7 +653,7 @@ function handle_deletions(pkgdata, file)
651653 end
652654 topmod = first (keys (mexsold))
653655 fileok = file_exists (String (filep):: String )
654- mexsnew = fileok ? parse_source ( filep, topmod) : ModuleExprsSigs (topmod)
656+ mexsnew = fileok ? Base . invokelatest (parse_source, filep, topmod) : ModuleExprsSigs (topmod)
655657 if mexsnew != = nothing
656658 delete_missing! (mexsold, mexsnew)
657659 end
0 commit comments