From e66d5c7b31c7a00a70a924297fc79d296701e216 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Mon, 13 May 2019 23:37:03 -0400 Subject: [PATCH] correct #68 in variable_names conformity tests --- Cargo.toml | 2 +- src/prolog/lib/builtins.pl | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 72ea5275..cd90aa10 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scryer-prolog" -version = "0.8.83" +version = "0.8.84" 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 32af6703..d145deac 100644 --- a/src/prolog/lib/builtins.pl +++ b/src/prolog/lib/builtins.pl @@ -247,12 +247,15 @@ must_be_var_names_list(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, List) - ; var(Atom) -> throw(error(instantiation_error, write_term/2)) + ( nonvar(VarName) -> + ( VarName = (Atom = _) -> + ( 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(List)), write_term/2)) + ) ; throw(error(domain_error(write_options, variable_names(List)), write_term/2)) ) - ; throw(error(domain_error(write_options, variable_names(List)), write_term/2)) + ; throw(error(instantiation_error, write_term/2)) % throw(error(domain_error(write_options, variable_names(List)), write_term/2)) ). write_term(_, Options) :- -- 2.54.0