restore previous focus upon character match failure in compare_pstr_to_string (#441)
This commit is contained in:
@@ -45,7 +45,7 @@ impl<'a> HeapPStrIter<'a> {
|
|||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub(crate)
|
pub(crate)
|
||||||
fn focus(&'a self) -> Addr {
|
fn focus(&self) -> Addr {
|
||||||
self.machine_st.store(self.machine_st.deref(self.focus))
|
self.machine_st.store(self.machine_st.deref(self.focus))
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -303,6 +303,10 @@ fn compare_pstr_to_string<'a>(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if s[s_offset ..].is_empty() {
|
||||||
|
return Some(s_offset);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Some(s_offset)
|
Some(s_offset)
|
||||||
|
|||||||
@@ -323,21 +323,6 @@ gather_goals([Var = Value | Pairs], VarList, QueryVarList, Goals) :-
|
|||||||
; gather_goals(Pairs, VarList, QueryVarList, Goals)
|
; gather_goals(Pairs, VarList, QueryVarList, Goals)
|
||||||
).
|
).
|
||||||
|
|
||||||
/*
|
|
||||||
gather_goals([], VarList, QueryVarList, Goals) :-
|
|
||||||
gather_query_vars(VarList, Vars),
|
|
||||||
copy_term(Vars, Vars, Goals).
|
|
||||||
% filter_goals(Goals0, Goals, Vars).
|
|
||||||
gather_goals([Var = Value | Pairs], VarList, QueryVarList, Goals) :-
|
|
||||||
( ( nonvar(Value)
|
|
||||||
; is_a_different_variable(Pairs, Value)
|
|
||||||
) ->
|
|
||||||
Goals = [Var = Value | Goals0],
|
|
||||||
gather_goals(Pairs, VarList, QueryVarList, Goals0)
|
|
||||||
; gather_goals(Pairs, VarList, QueryVarList, Goals)
|
|
||||||
).
|
|
||||||
*/
|
|
||||||
|
|
||||||
print_exception(E) :-
|
print_exception(E) :-
|
||||||
( E == error('$interrupt_thrown', repl) -> nl % print the
|
( E == error('$interrupt_thrown', repl) -> nl % print the
|
||||||
% exception on a
|
% exception on a
|
||||||
|
|||||||
Reference in New Issue
Block a user