diff --git a/pl/arith.yap b/pl/arith.yap index 8e0aec8c5..4dba7616c 100644 --- a/pl/arith.yap +++ b/pl/arith.yap @@ -406,9 +406,9 @@ expand_expr(Op, X, Y, O, Q, P) :- '$contains_illegal_dcgnt'(NT) :- functor(NT, _, A), between(1, A, I), - arg(I, NT), - nonvar(I), - ( I = ! ; I = phrase(_,_,_) ), !. + arg(I, NT, AI), + nonvar(AI), + ( AI = ! ; AI = phrase(_,_,_) ), !. % write(contains_illegal_nt(NT)), % JW: we do not want to write % nl. diff --git a/pl/modules.yap b/pl/modules.yap index c055fee00..33f50fda4 100644 --- a/pl/modules.yap +++ b/pl/modules.yap @@ -960,7 +960,7 @@ meta_predicate declaration '$meta_expansion0'(G, _HM, _BM, SM, SM:G, _HVars) :- var(G), !. -'$meta_expansion0'(M:G, _HM, _BM, SM, G1, _HVars) :- +'$meta_expansion0'(M:G, _HM, _BM, _SM, G1, _HVars) :- var(M), !, G1 = '$execute_wo_mod'(G,M). % support for all/3 @@ -1006,7 +1006,7 @@ its parent goal. '$is_mt'(M, H, CM, B, (context_module(CM),B)) :- '$module_transparent'(_, M, _, H), !. -'$is_mt'(_M, _H, CM, B, B). +'$is_mt'(_M, _H, _CM, B, B). % comma has its own problems. :- '$install_meta_predicate'(','(0,0), prolog).