316
316
317
317
function eval_rex (rex:: RelocatableExpr , exs_sigs_old:: ExprsSigs , mod:: Module ; mode:: Symbol = :eval )
318
318
return with_logger (_debug_logger) do
319
- sigs, includes = nothing , nothing
320
319
rexo = getkey (exs_sigs_old, rex, nothing )
321
320
# extract the signatures and update the line info
322
321
if rexo === nothing
@@ -337,13 +336,16 @@ function eval_rex(rex::RelocatableExpr, exs_sigs_old::ExprsSigs, mod::Module; mo
337
336
end
338
337
end
339
338
storedeps (deps, rex, mod)
339
+ return sigs, includes
340
340
else
341
- sigs = exs_sigs_old[rexo]
341
+ sigs, includes = exs_sigs_old[rexo], nothing
342
342
# Update location info
343
343
ln, lno = firstline (unwrap (rex)), firstline (unwrap (rexo))
344
344
if sigs != = nothing && ! isempty (sigs) && ln != lno
345
345
ln, lno = ln:: LineNumberNode , lno:: LineNumberNode
346
- @debug " LineOffset" _group= " Action" time= time () deltainfo= (sigs, lno=> ln)
346
+ let sigs= sigs # #15276
347
+ @debug " LineOffset" _group= " Action" time= time () deltainfo= (sigs, lno=> ln)
348
+ end
347
349
for sig in sigs
348
350
locdefs = CodeTracking. method_info[sig]:: AbstractVector
349
351
ld = map (pr-> linediff (lno, pr[1 ]), locdefs)
@@ -356,8 +358,8 @@ function eval_rex(rex::RelocatableExpr, exs_sigs_old::ExprsSigs, mod::Module; mo
356
358
locdefs[idx] = (newloc (methloc, ln, lno), methdef)
357
359
end
358
360
end
361
+ return sigs, includes
359
362
end
360
- return sigs, includes
361
363
end
362
364
end
363
365
@@ -655,7 +657,7 @@ function handle_deletions(pkgdata, file)
655
657
end
656
658
topmod = first (keys (mexsold))
657
659
fileok = file_exists (String (filep):: String )
658
- mexsnew = fileok ? parse_source ( filep, topmod) : ModuleExprsSigs (topmod)
660
+ mexsnew = fileok ? Base . invokelatest (parse_source, filep, topmod) : ModuleExprsSigs (topmod)
659
661
if mexsnew != = nothing
660
662
delete_missing! (mexsold, mexsnew)
661
663
end
0 commit comments