From 8acbdfbf1deed992f9761bebd4d9ce81d15e38ce Mon Sep 17 00:00:00 2001 From: Paulo Moura <> Date: Mon, 10 May 2021 21:27:04 +0100 Subject: [PATCH] Fix char_code/2 predicate wrong error term when the first argument is bound but is not an atom --- src/lib/builtins.pl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/builtins.pl b/src/lib/builtins.pl index 9643d899..ff08ca9d 100644 --- a/src/lib/builtins.pl +++ b/src/lib/builtins.pl @@ -1296,6 +1296,8 @@ char_code(Char, Code) :- '$char_code'(Char, Code) ; throw(error(type_error(integer, Code), char_code/2)) ) + ; \+ atom(Char) -> + throw(error(type_error(character, Char), char_code/2)) ; atom_length(Char, 1) -> ( var(Code) -> '$char_code'(Char, Code) -- 2.54.0