make consult reconsult the original file, so that
[x]. [x]. is more like [x]. [-x].
This commit is contained in:
parent
d8f4a77f47
commit
1db83cc30d
@ -915,7 +915,7 @@ Yap_NewThreadPred(PredEntry *ap USES_REGS)
|
|||||||
p->ExtraPredFlags = 0L;
|
p->ExtraPredFlags = 0L;
|
||||||
#endif
|
#endif
|
||||||
p->src.OwnerFile = ap->src.OwnerFile;
|
p->src.OwnerFile = ap->src.OwnerFile;
|
||||||
p->OpcodeOfPred = UNDEF_OPCODE;
|
p->OpcodeOfPred = FAIL_OPCODE;
|
||||||
p->CodeOfPred = p->cs.p_code.TrueCodeOfPred = (yamop *)(&(p->OpcodeOfPred));
|
p->CodeOfPred = p->cs.p_code.TrueCodeOfPred = (yamop *)(&(p->OpcodeOfPred));
|
||||||
p->cs.p_code.ExpandCode = EXPAND_OP_CODE;
|
p->cs.p_code.ExpandCode = EXPAND_OP_CODE;
|
||||||
p->ModuleOfPred = ap->ModuleOfPred;
|
p->ModuleOfPred = ap->ModuleOfPred;
|
||||||
|
11
C/cdmgr.c
11
C/cdmgr.c
@ -2018,8 +2018,17 @@ not_was_reconsulted(PredEntry *p, Term t, int mode)
|
|||||||
} else {
|
} else {
|
||||||
fp = LOCAL_ConsultBase;
|
fp = LOCAL_ConsultBase;
|
||||||
}
|
}
|
||||||
if (fp != LOCAL_ConsultBase)
|
if (fp != LOCAL_ConsultBase) {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
} else if (!mode) { // consulting again a predicate in the original file.
|
||||||
|
if ((p->cs.p_code.NOfClauses &&
|
||||||
|
p->src.OwnerFile == Yap_ConsultingFile( PASS_REGS1 ) &&
|
||||||
|
p->src.OwnerFile != AtomNil &&
|
||||||
|
p->src.OwnerFile != AtomUserIn) ) {
|
||||||
|
retract_all(p, static_in_use(p,TRUE));
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (mode) {
|
if (mode) {
|
||||||
if (LOCAL_ConsultSp == LOCAL_ConsultLow+1) {
|
if (LOCAL_ConsultSp == LOCAL_ConsultLow+1) {
|
||||||
expand_consult();
|
expand_consult();
|
||||||
|
@ -401,7 +401,7 @@ use_module(M,F,Is) :-
|
|||||||
'$reset_if'(OldIfLevel),
|
'$reset_if'(OldIfLevel),
|
||||||
% take care with [a:f], a is the ContextModule
|
% take care with [a:f], a is the ContextModule
|
||||||
'$current_module'(SourceModule, ContextModule),
|
'$current_module'(SourceModule, ContextModule),
|
||||||
'$lf_opt'(consult, TOpts, Reconsult),
|
'$lf_opt'(consult, TOpts, Reconsult0),
|
||||||
'$lf_opt'('$options', TOpts, Opts),
|
'$lf_opt'('$options', TOpts, Opts),
|
||||||
'$lf_opt'('$location', TOpts, ParentF:Line),
|
'$lf_opt'('$location', TOpts, ParentF:Line),
|
||||||
'$loaded'(Stream, UserFile, SourceModule, ParentF, Line, Reconsult, File, Dir, Opts),
|
'$loaded'(Stream, UserFile, SourceModule, ParentF, Line, Reconsult, File, Dir, Opts),
|
||||||
@ -413,7 +413,7 @@ use_module(M,F,Is) :-
|
|||||||
'$comp_mode'(OldCompMode, CompMode),
|
'$comp_mode'(OldCompMode, CompMode),
|
||||||
( get_value('$syntaxcheckflag',on) -> '$init_style_check'(File) ; true ),
|
( get_value('$syntaxcheckflag',on) -> '$init_style_check'(File) ; true ),
|
||||||
recorda('$initialisation','$',_),
|
recorda('$initialisation','$',_),
|
||||||
( Reconsult = reconsult ->
|
( Reconsult \== consult ->
|
||||||
'$start_reconsulting'(File),
|
'$start_reconsulting'(File),
|
||||||
'$start_consult'(Reconsult,File,LC),
|
'$start_consult'(Reconsult,File,LC),
|
||||||
'$remove_multifile_clauses'(File),
|
'$remove_multifile_clauses'(File),
|
||||||
@ -421,6 +421,7 @@ use_module(M,F,Is) :-
|
|||||||
EndMsg = reconsulted
|
EndMsg = reconsulted
|
||||||
;
|
;
|
||||||
'$start_consult'(Reconsult,File,LC),
|
'$start_consult'(Reconsult,File,LC),
|
||||||
|
( File \= user_input, File \= [] -> '$remove_multifile_clauses'(File) ; true ),
|
||||||
StartMsg = consulting,
|
StartMsg = consulting,
|
||||||
EndMsg = consulted
|
EndMsg = consulted
|
||||||
),
|
),
|
||||||
@ -931,9 +932,10 @@ make_library_index(_Directory).
|
|||||||
|
|
||||||
'$file_name'(Stream,F) :-
|
'$file_name'(Stream,F) :-
|
||||||
stream_property(Stream, file_name(F)), !.
|
stream_property(Stream, file_name(F)), !.
|
||||||
'$file_name'(user_input,user_input).
|
'$file_name'(user_input,user_input) :- !.
|
||||||
'$file_name'(user_output,user_ouput).
|
'$file_name'(user_output,user_ouput) :- !.
|
||||||
'$file_name'(user_error,user_error).
|
'$file_name'(user_error,user_error) :- !.
|
||||||
|
'$file_name'(_,[]).
|
||||||
|
|
||||||
|
|
||||||
'$fetch_stream_alias'(OldStream,Alias) :-
|
'$fetch_stream_alias'(OldStream,Alias) :-
|
||||||
|
Reference in New Issue
Block a user