From: Mark Thom Date: Tue, 7 May 2019 02:45:32 +0000 (-0400) Subject: correct error reporting for variable_names write option X-Git-Tag: v0.8.110~66 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=6240f047690a070b924f8cb6178b20793d811940;p=scryer-prolog.git correct error reporting for variable_names write option --- diff --git a/src/prolog/lib/builtins.pl b/src/prolog/lib/builtins.pl index 27047628..5c65e610 100644 --- a/src/prolog/lib/builtins.pl +++ b/src/prolog/lib/builtins.pl @@ -220,7 +220,7 @@ is_write_option(Functor) :- Functor =.. [Name, Arg], ( Arg == true -> true ; Arg == false -> true - ; Name == variable_names -> must_be_var_names_list(Arg) + ; Name == variable_names -> must_be_var_names_list(Arg) ; var(Arg) -> throw(error(instantiation_error, write_term/2)) ; throw(error(domain_error(write_option, Functor), write_term/2)) ), % 8.14.2.3 e) @@ -249,6 +249,7 @@ must_be_var_names_list_([]). must_be_var_names_list_([VarName | VarNames]) :- ( nonvar(VarName), VarName = (Atom = _) -> ( atom(Atom) -> must_be_var_names_list_(VarNames) + ; var(Atom) -> throw(error(instantiation_error, write_term/2)) ; throw(error(domain_error(write_options, variable_names(VarName)), write_term/2)) ) ; throw(error(domain_error(write_options, variable_names(VarName)), write_term/2))