--- pa_ulex.ml.orig +++ pa_ulex.ml @@ -264,14 +264,16 @@ let () = - let old_parse_implem = !Pcaml.parse_implem in - let new_parse_implem s = - let (items,d) = old_parse_implem s in + let old_transform = !(Pcaml.transduce_implem.transform) in + Pcaml.set_ast_transform Pcaml.transduce_implem (fun (items, d) -> + let (items, d) = match old_transform with + | Some f -> f (items, d) + | None -> (items, d) + in let parts = List.map partition (Ulex.partitions ()) in let tables = List.map table (get_tables ()) in (<:str_item< declare $list:tables@parts$ end >>, loc) :: items, d - in - Pcaml.parse_implem := new_parse_implem + ) (*let change_ids suffix = object