From 61cf317c96a2ca5c1ee9badaa783b335314dd1a9 Mon Sep 17 00:00:00 2001 From: letouzey Date: Tue, 11 Mar 2003 09:11:30 +0000 Subject: pour coq-ide git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@3754 85f007b7-540e-0410-9357-904b9bb8a0f7 --- contrib/extraction/common.ml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/contrib/extraction/common.ml b/contrib/extraction/common.ml index a02dff295b..1a785fe736 100644 --- a/contrib/extraction/common.ml +++ b/contrib/extraction/common.ml @@ -380,14 +380,16 @@ let print_structure_to_file f prm struc = struct_type_search Tunknown struc) in (* print the implementation *) - let cout = match f with None -> stdout | Some (f,_) -> open_out f in - let ft = Pp_control.with_output_to cout in + let cout = option_app (fun (f,_) -> open_out f) f in + let ft = match cout with + | None -> !Pp_control.std_ft + | Some cout -> Pp_control.with_output_to cout in begin try msg_with ft (preamble prm used_modules print_dummys); msg_with ft (pp_struct struc); - if f <> None then close_out cout; + option_iter close_out cout; with e -> - if f <> None then close_out cout; raise e + option_iter close_out cout; raise e end; (* print the signature *) match f with -- cgit v1.2.3