strip_subst_module(Goal, M1, M2, G) :-
'$strip_module'(Goal, M2, G),
- ( var(M2) ->
+ ( var(M2), \+ functor(Goal, (:), 2) ->
M2 = M1
; true
).
let mut path_buf = current_dir();
path_buf.push("machine/attributed_variables.pl");
- bootstrapping_compile(
- Stream::from_static_string(
- include_str!("attributed_variables.pl"),
- &mut self.machine_st.arena,
- ),
- self,
- ListingSource::from_file_and_path(
- atom!("attributed_variables"),
- path_buf,
- ),
- )
- .unwrap();
+ let stream = Stream::from_static_string(
+ include_str!("attributed_variables.pl"),
+ &mut self.machine_st.arena,
+ );
+
+ self.load_file(path_buf.to_str().unwrap(), stream);
let mut path_buf = current_dir();
path_buf.push("machine/project_attributes.pl");
- bootstrapping_compile(
- Stream::from_static_string(
- include_str!("project_attributes.pl"),
- &mut self.machine_st.arena,
- ),
- self,
- ListingSource::from_file_and_path(atom!("project_attributes"), path_buf),
- )
- .unwrap();
+ let stream = Stream::from_static_string(
+ include_str!("project_attributes.pl"),
+ &mut self.machine_st.arena,
+ );
+
+ self.load_file(path_buf.to_str().unwrap(), stream);
if let Some(module) = self.indices.modules.get(&atom!("$atts")) {
if let Some(code_index) = module.code_dir.get(&(atom!("driver"), 2)) {
),
call_project_attributes(Modules, QueryVars, AttrVars).
-call_attribute_goals([], _, _).
-call_attribute_goals([Module|Modules], GoalCaller, AttrVars) :-
- call(GoalCaller, AttrVars, Module, Goals),
- call_attribute_goals(Modules, GoalCaller, AttrVars).
-
'$print_attribute_goals_exception'(Module, E) :-
( E = error(evaluation_error((Module:attribute_goals)/3), attribute_goals/3)
; E = error(existence_error(procedure, attribute_goals/3), attribute_goals/3)