fix recent regressions on :- if, etc.
This commit is contained in:
parent
0f10f4332e
commit
5a472616e7
@ -293,11 +293,16 @@ use_module(M,F,Is) :-
|
|||||||
!.
|
!.
|
||||||
|
|
||||||
'$reset_if'(OldIfLevel) :-
|
'$reset_if'(OldIfLevel) :-
|
||||||
catch(nb_getval('$if_level',OldIncludeLevel),_,fail), !,
|
catch(nb_getval('$if_level',OldIfLevel),_,fail), !,
|
||||||
nb_setval('$if_level',0).
|
nb_setval('$if_level',0).
|
||||||
'$reset_if'(0) :-
|
'$reset_if'(0) :-
|
||||||
nb_setval('$if_level',0).
|
nb_setval('$if_level',0).
|
||||||
|
|
||||||
|
'$get_if'(Level0) :-
|
||||||
|
catch(nb_getval('$if_level',Level),_,fail), !,
|
||||||
|
Level0 = Level.
|
||||||
|
'$get_if'(0).
|
||||||
|
|
||||||
'$bind_module'(_, load_files).
|
'$bind_module'(_, load_files).
|
||||||
'$bind_module'(Mod, use_module(Mod)).
|
'$bind_module'(Mod, use_module(Mod)).
|
||||||
|
|
||||||
@ -894,7 +899,7 @@ absolute_file_name(File,Opts,TrueFileName) :-
|
|||||||
%
|
%
|
||||||
'$if'(_,top) :- !, fail.
|
'$if'(_,top) :- !, fail.
|
||||||
'$if'(Goal,_) :-
|
'$if'(Goal,_) :-
|
||||||
nb_getval('$if_level',Level0),
|
'$get_if'(Level0),
|
||||||
Level is Level0 + 1,
|
Level is Level0 + 1,
|
||||||
nb_setval('$if_level',Level),
|
nb_setval('$if_level',Level),
|
||||||
nb_getval('$endif',OldEndif),
|
nb_getval('$endif',OldEndif),
|
||||||
@ -919,7 +924,7 @@ absolute_file_name(File,Opts,TrueFileName) :-
|
|||||||
|
|
||||||
'$else'(top) :- !, fail.
|
'$else'(top) :- !, fail.
|
||||||
'$else'(_) :-
|
'$else'(_) :-
|
||||||
nb_getval('$if_level',0), !,
|
'$get_if'(0), !,
|
||||||
'$do_error'(context_error(no_if),(:- else)).
|
'$do_error'(context_error(no_if),(:- else)).
|
||||||
% we have done an if, so just skip
|
% we have done an if, so just skip
|
||||||
'$else'(_) :-
|
'$else'(_) :-
|
||||||
@ -927,14 +932,14 @@ absolute_file_name(File,Opts,TrueFileName) :-
|
|||||||
nb_setval('$if_skip_mode',skip).
|
nb_setval('$if_skip_mode',skip).
|
||||||
% we can try the elif
|
% we can try the elif
|
||||||
'$else'(_) :-
|
'$else'(_) :-
|
||||||
nb_getval('$if_level',Level),
|
'$get_if'(Level),
|
||||||
nb_getval('$endif',elif(Level,OldEndif,Mode)),
|
nb_getval('$endif',elif(Level,OldEndif,Mode)),
|
||||||
nb_setval('$endif',endif(Level,OldEndif,Mode)),
|
nb_setval('$endif',endif(Level,OldEndif,Mode)),
|
||||||
nb_setval('$if_skip_mode',run).
|
nb_setval('$if_skip_mode',run).
|
||||||
|
|
||||||
'$elif'(_,top) :- !, fail.
|
'$elif'(_,top) :- !, fail.
|
||||||
'$elif'(Goal,_) :-
|
'$elif'(Goal,_) :-
|
||||||
nb_getval('$if_level',0),
|
'$get_if'(0),
|
||||||
'$do_error'(context_error(no_if),(:- elif(Goal))).
|
'$do_error'(context_error(no_if),(:- elif(Goal))).
|
||||||
% we have done an if, so just skip
|
% we have done an if, so just skip
|
||||||
'$elif'(_,_) :-
|
'$elif'(_,_) :-
|
||||||
@ -942,7 +947,7 @@ absolute_file_name(File,Opts,TrueFileName) :-
|
|||||||
nb_setval('$if_skip_mode',skip).
|
nb_setval('$if_skip_mode',skip).
|
||||||
% we can try the elif
|
% we can try the elif
|
||||||
'$elif'(Goal,_) :-
|
'$elif'(Goal,_) :-
|
||||||
nb_getval('$if_level',Level),
|
'$get_if'(Level),
|
||||||
nb_getval('$endif',elif(Level,OldEndif,Mode)),
|
nb_getval('$endif',elif(Level,OldEndif,Mode)),
|
||||||
('$if_call'(Goal)
|
('$if_call'(Goal)
|
||||||
->
|
->
|
||||||
@ -958,11 +963,11 @@ absolute_file_name(File,Opts,TrueFileName) :-
|
|||||||
'$endif'(top) :- !, fail.
|
'$endif'(top) :- !, fail.
|
||||||
'$endif'(_) :-
|
'$endif'(_) :-
|
||||||
% unmmatched endif.
|
% unmmatched endif.
|
||||||
nb_getval('$if_level',0),
|
'$get_if'(0),
|
||||||
'$do_error'(context_error(no_if),(:- endif)).
|
'$do_error'(context_error(no_if),(:- endif)).
|
||||||
'$endif'(_) :-
|
'$endif'(_) :-
|
||||||
% back to where you belong.
|
% back to where you belong.
|
||||||
nb_getval('$if_level',Level),
|
'$get_if'(Level),
|
||||||
nb_getval('$endif',Endif),
|
nb_getval('$endif',Endif),
|
||||||
Level0 is Level-1,
|
Level0 is Level-1,
|
||||||
nb_setval('$if_level',Level0),
|
nb_setval('$if_level',Level0),
|
||||||
|
@ -743,19 +743,19 @@ yap_flag(user_input,OUT) :-
|
|||||||
var(OUT), !,
|
var(OUT), !,
|
||||||
stream_property(OUT,alias(user_input)).
|
stream_property(OUT,alias(user_input)).
|
||||||
yap_flag(user_input,Stream) :-
|
yap_flag(user_input,Stream) :-
|
||||||
set_stream(Stream, alias(user_input).
|
set_stream(Stream, alias(user_input)).
|
||||||
|
|
||||||
yap_flag(user_output,OUT) :-
|
yap_flag(user_output,OUT) :-
|
||||||
var(OUT), !,
|
var(OUT), !,
|
||||||
stream_property(OUT,alias(user_output)).
|
stream_property(OUT,alias(user_output)).
|
||||||
yap_flag(user_output,Stream) :-
|
yap_flag(user_output,Stream) :-
|
||||||
set_stream(Stream, alias(user_output).
|
set_stream(Stream, alias(user_output)).
|
||||||
|
|
||||||
yap_flag(user_error,OUT) :-
|
yap_flag(user_error,OUT) :-
|
||||||
var(OUT), !,
|
var(OUT), !,
|
||||||
stream_property(OUT,alias(user_error)).
|
stream_property(OUT,alias(user_error)).
|
||||||
yap_flag(user_error,Stream) :-
|
yap_flag(user_error,Stream) :-
|
||||||
set_stream(Stream, alias(user_error).
|
set_stream(Stream, alias(user_error)).
|
||||||
|
|
||||||
yap_flag(debugger_print_options,OUT) :-
|
yap_flag(debugger_print_options,OUT) :-
|
||||||
var(OUT),
|
var(OUT),
|
||||||
|
Reference in New Issue
Block a user