Fix bug where -t argument was processed as filename

Fixed issue where `scryer-prolog -t halt` would try to load "halt.pl"
as a file instead of just using halt as the custom toplevel.

The bug was caused by an extra clause `delegate_task([], []).` that
would return control to the calling context instead of continuing to
start_toplevel. This caused the argument processing in delegate_task
to continue and treat the already-consumed toplevel argument as a
filename.

Removing this clause ensures that delegate_task([], Goals0) always
proceeds to load initialization files and start the toplevel, fixing
the double-processing bug.

Co-Authored-By: J.J.'s Robot <jjtolton@gmail.com>
This commit is contained in:
J.J. Tolton
2025-11-06 19:39:21 -05:00
parent 15d112485c
commit 31247545c3

View File

@@ -71,7 +71,6 @@ arg_consults_goals(c(Mod), Args, [c(Mod)|Consults], Goals) :-
arg_consults_goals(g(Goal), Args, Consults, [g(Goal)|Goals]) :-
args_consults_goals(Args, Consults, Goals).
delegate_task([], []).
delegate_task([], Goals0) :-
(\+ disabled_init_file -> load_scryerrc ; true),
reverse(Goals0, Goals1),