From f340f9ac9415154de913cc03f50079a4ac07f013 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Wed, 24 Nov 2021 23:13:14 -0700 Subject: [PATCH] break from loop in get_code upon successful character read --- src/lib/builtins.pl | 5 +++-- src/machine/system_calls.rs | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/builtins.pl b/src/lib/builtins.pl index 41215a80..86d5841f 100644 --- a/src/lib/builtins.pl +++ b/src/lib/builtins.pl @@ -988,8 +988,10 @@ module_abolish(Pred, Module) :- ; Pred = Name/Arity -> ( var(Name) -> throw(error(instantiation_error, abolish/1)) + ; var(Arity) -> + throw(error(instantiation_error, abolish/1)) ; integer(Arity) -> - ( \+ atom(Name) -> + (\+ atom(Name) -> throw(error(type_error(atom, Name), abolish/1)) ; Arity < 0 -> throw(error(domain_error(not_less_than_zero, Arity), abolish/1)) @@ -1003,7 +1005,6 @@ module_abolish(Pred, Module) :- ; throw(error(permission_error(modify, static_procedure, Pred), abolish/1)) ) ) - ; var(Arity) -> throw(error(instantiation_error, abolish/1)) ; throw(error(type_error(integer, Arity), abolish/1)) ) ; throw(error(type_error(predicate_indicator, Module:Pred), abolish/1)) diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index eedb127b..a35a65e8 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -2369,6 +2369,8 @@ impl MachineState { if self.fail { return Ok(()); } + + break; } _ => { self.eof_action( -- 2.54.0