run user-level and module-level initialization goals from loader.pl (#1012)
This commit is contained in:
2
Cargo.lock
generated
2
Cargo.lock
generated
@@ -1,7 +1,5 @@
|
|||||||
# This file is automatically @generated by Cargo.
|
# This file is automatically @generated by Cargo.
|
||||||
# It is not intended for manual editing.
|
# It is not intended for manual editing.
|
||||||
version = 3
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "arrayvec"
|
name = "arrayvec"
|
||||||
version = "0.5.2"
|
version = "0.5.2"
|
||||||
|
|||||||
@@ -87,8 +87,7 @@ unload_evacuable(Evacuable) :-
|
|||||||
'$pop_load_state_payload'(Evacuable),
|
'$pop_load_state_payload'(Evacuable),
|
||||||
'$pop_load_context'.
|
'$pop_load_context'.
|
||||||
|
|
||||||
run_initialization_goals :-
|
run_initialization_goals(Module) :-
|
||||||
prolog_load_context(module, Module),
|
|
||||||
( predicate_property(Module:'$initialization_goals'(_), dynamic) ->
|
( predicate_property(Module:'$initialization_goals'(_), dynamic) ->
|
||||||
findall(Module:Goal, '$call'(builtins:retract(Module:'$initialization_goals'(Goal))), Goals),
|
findall(Module:Goal, '$call'(builtins:retract(Module:'$initialization_goals'(Goal))), Goals),
|
||||||
abolish(Module:'$initialization_goals'/1),
|
abolish(Module:'$initialization_goals'/1),
|
||||||
@@ -99,6 +98,14 @@ run_initialization_goals :-
|
|||||||
; true
|
; true
|
||||||
).
|
).
|
||||||
|
|
||||||
|
run_initialization_goals :-
|
||||||
|
prolog_load_context(module, Module),
|
||||||
|
run_initialization_goals(user),
|
||||||
|
( Module \== user ->
|
||||||
|
run_initialization_goals(Module)
|
||||||
|
; true
|
||||||
|
).
|
||||||
|
|
||||||
file_load(Stream, Path) :-
|
file_load(Stream, Path) :-
|
||||||
file_load(Stream, Path, _),
|
file_load(Stream, Path, _),
|
||||||
false. %% Clear the heap.
|
false. %% Clear the heap.
|
||||||
|
|||||||
Reference in New Issue
Block a user