let add_persistent_selection project set =
(* Format.printf "@\nadd_persistent_selection@."; *)
let add_selection prev selection =
let kf = !Slicing.Select.get_function selection in
let r = match prev with
None -> !Slicing.Request.apply_all_internal project ; Some (kf)
| Some prev_kf -> if prev_kf == kf then prev else None
in !Slicing.Request.add_selection_internal project selection; r
in ignore (Slicing.Select.fold_selects_internal add_selection None set)