From f988b674038527333b2b0b0d8ed8c5611afc491b Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Thu, 9 May 2019 22:56:15 -0400 Subject: [PATCH] print full list in erroneous variable_names --- Cargo.toml | 2 +- src/prolog/lib/builtins.pl | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 87a3cd2f..493c2f02 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scryer-prolog" -version = "0.8.80" +version = "0.8.81" authors = ["Mark Thom "] repository = "https://github.com/mthom/scryer-prolog" description = "A modern Prolog implementation written mostly in Rust." diff --git a/src/prolog/lib/builtins.pl b/src/prolog/lib/builtins.pl index 7bff4c1c..32af6703 100644 --- a/src/prolog/lib/builtins.pl +++ b/src/prolog/lib/builtins.pl @@ -240,19 +240,19 @@ inst_member_or([], Y, Y). must_be_var_names_list(VarNames) :- '$skip_max_list'(_, -1, VarNames, Tail), - ( Tail == [] -> must_be_var_names_list_(VarNames) + ( Tail == [] -> must_be_var_names_list_(VarNames, VarNames) ; var(Tail) -> throw(error(instantiation_error, write_term/2)) ; throw(error(domain_error(write_options, variable_names(VarNames)), write_term/2)) ). -must_be_var_names_list_([]). -must_be_var_names_list_([VarName | VarNames]) :- +must_be_var_names_list_([], List). +must_be_var_names_list_([VarName | VarNames], List) :- ( nonvar(VarName), VarName = (Atom = _) -> - ( atom(Atom) -> must_be_var_names_list_(VarNames) + ( atom(Atom) -> must_be_var_names_list_(VarNames, List) ; var(Atom) -> throw(error(instantiation_error, write_term/2)) - ; throw(error(domain_error(write_options, variable_names([VarName | VarNames])), write_term/2)) + ; throw(error(domain_error(write_options, variable_names(List)), write_term/2)) ) - ; throw(error(domain_error(write_options, variable_names([VarName | VarNames])), write_term/2)) + ; throw(error(domain_error(write_options, variable_names(List)), write_term/2)) ). write_term(_, Options) :- -- 2.54.0