]> Repositorios git - scryer-prolog.git/commitdiff
fix looping from issue 2467
authorBennet Bleßmann <[email protected]>
Sat, 17 Aug 2024 21:33:32 +0000 (23:33 +0200)
committerBennet Bleßmann <[email protected]>
Sat, 17 Aug 2024 21:37:12 +0000 (23:37 +0200)
src/toplevel.pl
tests-pl/invalid_decl_issue2467.pl [new file with mode: 0644]
tests/scryer/cli/src_tests/directive_errors.md

index 67408cd2533984c6835dfeb0770dbfee12f27f38..c6e2990d7ec1f430c4a5fabb349b68fba62614c2 100644 (file)
@@ -168,7 +168,9 @@ repl :-
 %% Enable op declarations with lists of operands, i.e.,
 %% :- op(900, fy, [$,@]).
 
-user:term_expansion((:- op(Pred, Spec, [Op | OtherOps])), OpResults) :-
+user:term_expansion((:- op(Pred, Spec, Ops)), OpResults) :- 
+    ground(Ops), 
+    Ops = [Op | OtherOps],
     expand_op_list([Op | OtherOps], Pred, Spec, OpResults).
 
 expand_op_list([], _, _, []).
diff --git a/tests-pl/invalid_decl_issue2467.pl b/tests-pl/invalid_decl_issue2467.pl
new file mode 100644 (file)
index 0000000..e366e33
--- /dev/null
@@ -0,0 +1 @@
+:- D.
\ No newline at end of file
index 48b25fe05a67a0e9425c56b5e23c2200573a08a1..2beb7c73dd4f3a8c66d7f895124b10bfa3c8bf22 100644 (file)
@@ -59,13 +59,14 @@ $ scryer-prolog -f --no-add-history tests-pl/invalid_decl10.pl -g halt
 
 ```
 
-The following test doesn't appear to terminate so its moved to a block quote for now
+FIXME I belive the following test should result in a `error(instantiation_error,load/1)` error instead of the current error.
 
-> ```trycmd
-> $ scryer-prolog -f --no-add-history tests-pl/invalid_decl11.pl -g halt
-> % Warning: singleton variables Var at line 0 of invalid_decl11.pl
->    error(instantiation_error,load/1).
-> ```
+```trycmd
+$ scryer-prolog -f --no-add-history tests-pl/invalid_decl11.pl -g halt
+% Warning: singleton variables Var at line 0 of invalid_decl11.pl
+   error(type_error(list,todo_insert_invalid_term_here),load/1).
+
+```
 
 ```trycmd
 $ scryer-prolog -f --no-add-history tests-pl/invalid_decl12.pl -g halt
@@ -96,3 +97,11 @@ $ scryer-prolog -f --no-add-history tests-pl/invalid_decl16.pl -g halt
    error(permission_error(modify,operator,','),load/1).
 
 ```
+
+
+```trycmd
+$ scryer-prolog -f --no-add-history tests-pl/invalid_decl_issue2467.pl -g halt
+% Warning: singleton variables D at line 0 of invalid_decl_issue2467.pl
+   error(instantiation_error,load/1).
+
+```