]> Repositorios git - scryer-prolog.git/commitdiff
ENHANCED: more specific warning when initialization/1 fails (#1149)
authorMarkus Triska <[email protected]>
Wed, 19 Jan 2022 22:31:55 +0000 (23:31 +0100)
committerMarkus Triska <[email protected]>
Wed, 19 Jan 2022 23:04:09 +0000 (00:04 +0100)
src/loader.pl

index dd26bbb86b7d3098c260e4fff22b1ed5961811f6..7c33d51e61a0d03e0737cdd0a51633404d4721f8 100644 (file)
@@ -92,16 +92,19 @@ run_initialization_goals(Module) :-
        % FIXME: failing here. also, see add_module.
        findall(Module:Goal, '$call'(builtins:retract(Module:'$initialization_goals'(Goal))), Goals),
        abolish(Module:'$initialization_goals'/1),
-       (  maplist(Module:call, Goals) ->
-          true
-       ;  %% initialization goals can fail without thwarting the load.
-          write('Warning: initialization/1 failed for: '),
-          writeq(maplist(Module:call, Goals)),
-          nl
-       )
+       maplist(loader:success_or_warning(Module), Goals)
     ;  true
     ).
 
+success_or_warning(Module, Goal) :-
+    (   Module:call(Goal) ->
+        true
+    ;   %% initialization goals can fail without thwarting the load.
+        write('Warning: initialization/1 failed for: '),
+        writeq(Goal),
+        nl
+    ).
+
 run_initialization_goals :-
     prolog_load_context(module, Module),
     run_initialization_goals(user),