Eradication de Formatmsg

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@3126 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
master
Xavier Leroy 2000-04-21 11:55:31 +00:00
parent f98aaf3762
commit 9bacf41bfa
14 changed files with 73 additions and 193 deletions

79
.depend
View File

@ -6,8 +6,6 @@ utils/clflags.cmo: utils/config.cmi
utils/clflags.cmx: utils/config.cmx
utils/config.cmo: utils/config.cmi
utils/config.cmx: utils/config.cmi
utils/formatmsg.cmo: utils/formatmsg.cmi
utils/formatmsg.cmx: utils/formatmsg.cmi
utils/misc.cmo: utils/misc.cmi
utils/misc.cmx: utils/misc.cmi
utils/tbl.cmo: utils/tbl.cmi
@ -20,7 +18,6 @@ parsing/lexer.cmi: parsing/parser.cmi
parsing/location.cmi: utils/warnings.cmi
parsing/parse.cmi: parsing/parsetree.cmi
parsing/parser.cmi: parsing/parsetree.cmi
parsing/parser.pw.cmi: parsing/parsetree.cmi
parsing/parsetree.cmi: parsing/asttypes.cmi parsing/location.cmi \
parsing/longident.cmi
parsing/printast.cmi: parsing/parsetree.cmi
@ -48,12 +45,6 @@ parsing/parser.cmo: parsing/asttypes.cmi utils/clflags.cmo \
parsing/parser.cmx: parsing/asttypes.cmi utils/clflags.cmx \
parsing/location.cmx parsing/longident.cmx parsing/parsetree.cmi \
parsing/pstream.cmx parsing/syntaxerr.cmx parsing/parser.cmi
parsing/parser.pw.cmo: parsing/asttypes.cmi utils/clflags.cmo \
parsing/location.cmi parsing/longident.cmi parsing/parsetree.cmi \
parsing/pstream.cmi parsing/syntaxerr.cmi parsing/parser.pw.cmi
parsing/parser.pw.cmx: parsing/asttypes.cmi utils/clflags.cmx \
parsing/location.cmx parsing/longident.cmx parsing/parsetree.cmi \
parsing/pstream.cmx parsing/syntaxerr.cmx parsing/parser.pw.cmi
parsing/printast.cmo: parsing/asttypes.cmi parsing/location.cmi \
parsing/longident.cmi parsing/parsetree.cmi parsing/printast.cmi
parsing/printast.cmx: parsing/asttypes.cmi parsing/location.cmx \
@ -145,14 +136,6 @@ typing/includemod.cmx: typing/ctype.cmx typing/env.cmx typing/ident.cmx \
typing/includeclass.cmx typing/includecore.cmx utils/misc.cmx \
typing/mtype.cmx typing/path.cmx typing/printtyp.cmx typing/subst.cmx \
utils/tbl.cmx typing/typedtree.cmx typing/types.cmx typing/includemod.cmi
typing/includemod.pw.cmo: typing/ctype.cmi typing/env.cmi typing/ident.cmi \
typing/includeclass.cmi typing/includecore.cmi utils/misc.cmi \
typing/mtype.cmi typing/path.cmi typing/printtyp.cmi typing/subst.cmi \
utils/tbl.cmi typing/typedtree.cmi typing/types.cmi
typing/includemod.pw.cmx: typing/ctype.cmx typing/env.cmx typing/ident.cmx \
typing/includeclass.cmx typing/includecore.cmx utils/misc.cmx \
typing/mtype.cmx typing/path.cmx typing/printtyp.cmx typing/subst.cmx \
utils/tbl.cmx typing/typedtree.cmx typing/types.cmx
typing/mtype.cmo: typing/btype.cmi typing/ctype.cmi typing/env.cmi \
typing/ident.cmi typing/path.cmi typing/types.cmi typing/mtype.cmi
typing/mtype.cmx: typing/btype.cmx typing/ctype.cmx typing/env.cmx \
@ -181,14 +164,6 @@ typing/printtyp.cmx: parsing/asttypes.cmi typing/btype.cmx utils/clflags.cmx \
typing/ctype.cmx typing/env.cmx typing/ident.cmx parsing/longident.cmx \
utils/misc.cmx typing/path.cmx typing/predef.cmx typing/primitive.cmx \
typing/types.cmx typing/printtyp.cmi
typing/printtyp.pw.cmo: parsing/asttypes.cmi typing/btype.cmi \
utils/clflags.cmo typing/ctype.cmi typing/env.cmi typing/ident.cmi \
parsing/longident.cmi utils/misc.cmi typing/path.cmi typing/predef.cmi \
typing/primitive.cmi typing/types.cmi
typing/printtyp.pw.cmx: parsing/asttypes.cmi typing/btype.cmx \
utils/clflags.cmx typing/ctype.cmx typing/env.cmx typing/ident.cmx \
parsing/longident.cmx utils/misc.cmx typing/path.cmx typing/predef.cmx \
typing/primitive.cmx typing/types.cmx
typing/subst.cmo: typing/btype.cmi typing/ident.cmi utils/misc.cmi \
typing/path.cmi utils/tbl.cmi typing/types.cmi typing/subst.cmi
typing/subst.cmx: typing/btype.cmx typing/ident.cmx utils/misc.cmx \
@ -207,20 +182,6 @@ typing/typeclass.cmx: parsing/asttypes.cmi typing/btype.cmx utils/clflags.cmx \
typing/predef.cmx typing/printtyp.cmx typing/typecore.cmx \
typing/typedtree.cmx typing/types.cmx typing/typetexp.cmx \
utils/warnings.cmx typing/typeclass.cmi
typing/typeclass.pw.cmo: parsing/asttypes.cmi typing/btype.cmi \
utils/clflags.cmo typing/ctype.cmi typing/env.cmi typing/ident.cmi \
typing/includeclass.cmi parsing/location.cmi parsing/longident.cmi \
utils/misc.cmi typing/parmatch.cmi parsing/parsetree.cmi typing/path.cmi \
typing/predef.cmi typing/printtyp.cmi typing/typecore.cmi \
typing/typedtree.cmi typing/types.cmi typing/typetexp.cmi \
utils/warnings.cmi
typing/typeclass.pw.cmx: parsing/asttypes.cmi typing/btype.cmx \
utils/clflags.cmx typing/ctype.cmx typing/env.cmx typing/ident.cmx \
typing/includeclass.cmx parsing/location.cmx parsing/longident.cmx \
utils/misc.cmx typing/parmatch.cmx parsing/parsetree.cmi typing/path.cmx \
typing/predef.cmx typing/printtyp.cmx typing/typecore.cmx \
typing/typedtree.cmx typing/types.cmx typing/typetexp.cmx \
utils/warnings.cmx
typing/typecore.cmo: parsing/asttypes.cmi typing/btype.cmi utils/clflags.cmo \
typing/ctype.cmi typing/env.cmi typing/ident.cmi parsing/location.cmi \
parsing/longident.cmi utils/misc.cmi typing/parmatch.cmi \
@ -448,8 +409,6 @@ asmcomp/selectgen.cmi: asmcomp/arch.cmo asmcomp/cmm.cmi typing/ident.cmi \
asmcomp/selection.cmi: asmcomp/cmm.cmi asmcomp/mach.cmi
asmcomp/spill.cmi: asmcomp/mach.cmi
asmcomp/split.cmi: asmcomp/mach.cmi
asmcomp/arch.cmo: utils/config.cmi
asmcomp/arch.cmx: utils/config.cmx
asmcomp/asmgen.cmo: utils/clflags.cmo asmcomp/closure.cmi asmcomp/cmm.cmi \
asmcomp/cmmgen.cmi asmcomp/coloring.cmi asmcomp/comballoc.cmi \
utils/config.cmi asmcomp/emit.cmi asmcomp/emitaux.cmi asmcomp/interf.cmi \
@ -522,13 +481,13 @@ asmcomp/compilenv.cmo: asmcomp/clambda.cmi utils/config.cmi typing/env.cmi \
typing/ident.cmi utils/misc.cmi asmcomp/compilenv.cmi
asmcomp/compilenv.cmx: asmcomp/clambda.cmx utils/config.cmx typing/env.cmx \
typing/ident.cmx utils/misc.cmx asmcomp/compilenv.cmi
asmcomp/emit.cmo: asmcomp/arch.cmo asmcomp/cmm.cmi asmcomp/compilenv.cmi \
utils/config.cmi asmcomp/emitaux.cmi asmcomp/linearize.cmi \
parsing/location.cmi asmcomp/mach.cmi utils/misc.cmi asmcomp/proc.cmi \
asmcomp/emit.cmo: asmcomp/arch.cmo utils/clflags.cmo asmcomp/cmm.cmi \
asmcomp/compilenv.cmi utils/config.cmi asmcomp/emitaux.cmi \
asmcomp/linearize.cmi asmcomp/mach.cmi utils/misc.cmi asmcomp/proc.cmi \
asmcomp/reg.cmi asmcomp/emit.cmi
asmcomp/emit.cmx: asmcomp/arch.cmx asmcomp/cmm.cmx asmcomp/compilenv.cmx \
utils/config.cmx asmcomp/emitaux.cmx asmcomp/linearize.cmx \
parsing/location.cmx asmcomp/mach.cmx utils/misc.cmx asmcomp/proc.cmx \
asmcomp/emit.cmx: asmcomp/arch.cmx utils/clflags.cmx asmcomp/cmm.cmx \
asmcomp/compilenv.cmx utils/config.cmx asmcomp/emitaux.cmx \
asmcomp/linearize.cmx asmcomp/mach.cmx utils/misc.cmx asmcomp/proc.cmx \
asmcomp/reg.cmx asmcomp/emit.cmi
asmcomp/emitaux.cmo: asmcomp/emitaux.cmi
asmcomp/emitaux.cmx: asmcomp/emitaux.cmi
@ -560,16 +519,16 @@ asmcomp/printmach.cmo: asmcomp/arch.cmo asmcomp/cmm.cmi asmcomp/mach.cmi \
asmcomp/printmach.cmx: asmcomp/arch.cmx asmcomp/cmm.cmx asmcomp/mach.cmx \
asmcomp/printcmm.cmx asmcomp/proc.cmx asmcomp/reg.cmx \
asmcomp/printmach.cmi
asmcomp/proc.cmo: asmcomp/arch.cmo utils/ccomp.cmi utils/clflags.cmo \
asmcomp/cmm.cmi asmcomp/mach.cmi utils/misc.cmi asmcomp/reg.cmi \
asmcomp/proc.cmi
asmcomp/proc.cmx: asmcomp/arch.cmx utils/ccomp.cmx utils/clflags.cmx \
asmcomp/cmm.cmx asmcomp/mach.cmx utils/misc.cmx asmcomp/reg.cmx \
asmcomp/proc.cmi
asmcomp/proc.cmo: asmcomp/arch.cmo utils/ccomp.cmi asmcomp/cmm.cmi \
asmcomp/mach.cmi utils/misc.cmi asmcomp/reg.cmi asmcomp/proc.cmi
asmcomp/proc.cmx: asmcomp/arch.cmx utils/ccomp.cmx asmcomp/cmm.cmx \
asmcomp/mach.cmx utils/misc.cmx asmcomp/reg.cmx asmcomp/proc.cmi
asmcomp/reg.cmo: asmcomp/cmm.cmi asmcomp/reg.cmi
asmcomp/reg.cmx: asmcomp/cmm.cmx asmcomp/reg.cmi
asmcomp/reload.cmo: asmcomp/reloadgen.cmi asmcomp/reload.cmi
asmcomp/reload.cmx: asmcomp/reloadgen.cmx asmcomp/reload.cmi
asmcomp/reload.cmo: asmcomp/arch.cmo asmcomp/cmm.cmi asmcomp/mach.cmi \
asmcomp/reg.cmi asmcomp/reloadgen.cmi asmcomp/reload.cmi
asmcomp/reload.cmx: asmcomp/arch.cmx asmcomp/cmm.cmx asmcomp/mach.cmx \
asmcomp/reg.cmx asmcomp/reloadgen.cmx asmcomp/reload.cmi
asmcomp/reloadgen.cmo: asmcomp/mach.cmi utils/misc.cmi asmcomp/reg.cmi \
asmcomp/reloadgen.cmi
asmcomp/reloadgen.cmx: asmcomp/mach.cmx utils/misc.cmx asmcomp/reg.cmx \
@ -578,10 +537,8 @@ asmcomp/schedgen.cmo: asmcomp/arch.cmo asmcomp/cmm.cmi asmcomp/linearize.cmi \
asmcomp/mach.cmi utils/misc.cmi asmcomp/reg.cmi asmcomp/schedgen.cmi
asmcomp/schedgen.cmx: asmcomp/arch.cmx asmcomp/cmm.cmx asmcomp/linearize.cmx \
asmcomp/mach.cmx utils/misc.cmx asmcomp/reg.cmx asmcomp/schedgen.cmi
asmcomp/scheduling.cmo: asmcomp/arch.cmo asmcomp/mach.cmi \
asmcomp/schedgen.cmi asmcomp/scheduling.cmi
asmcomp/scheduling.cmx: asmcomp/arch.cmx asmcomp/mach.cmx \
asmcomp/schedgen.cmx asmcomp/scheduling.cmi
asmcomp/scheduling.cmo: asmcomp/schedgen.cmi asmcomp/scheduling.cmi
asmcomp/scheduling.cmx: asmcomp/schedgen.cmx asmcomp/scheduling.cmi
asmcomp/selectgen.cmo: asmcomp/arch.cmo asmcomp/cmm.cmi typing/ident.cmi \
asmcomp/mach.cmi utils/misc.cmi asmcomp/proc.cmi asmcomp/reg.cmi \
utils/tbl.cmi asmcomp/selectgen.cmi
@ -589,10 +546,10 @@ asmcomp/selectgen.cmx: asmcomp/arch.cmx asmcomp/cmm.cmx typing/ident.cmx \
asmcomp/mach.cmx utils/misc.cmx asmcomp/proc.cmx asmcomp/reg.cmx \
utils/tbl.cmx asmcomp/selectgen.cmi
asmcomp/selection.cmo: asmcomp/arch.cmo asmcomp/cmm.cmi asmcomp/mach.cmi \
utils/misc.cmi asmcomp/reg.cmi asmcomp/selectgen.cmi \
utils/misc.cmi asmcomp/proc.cmi asmcomp/reg.cmi asmcomp/selectgen.cmi \
asmcomp/selection.cmi
asmcomp/selection.cmx: asmcomp/arch.cmx asmcomp/cmm.cmx asmcomp/mach.cmx \
utils/misc.cmx asmcomp/reg.cmx asmcomp/selectgen.cmx \
utils/misc.cmx asmcomp/proc.cmx asmcomp/reg.cmx asmcomp/selectgen.cmx \
asmcomp/selection.cmi
asmcomp/spill.cmo: asmcomp/mach.cmi asmcomp/proc.cmi asmcomp/reg.cmi \
asmcomp/spill.cmi

View File

@ -99,7 +99,7 @@ TOPOBJS=toplevel/toplevellib.cma $(TOPLEVELMAIN)
OPTOBJS=$(OPTUTILS) $(PARSING) $(TYPING) $(COMP) $(ASMCOMP) $(OPTDRIVER)
EXPUNGEOBJS=utils/misc.cmo utils/formatmsg.cmo utils/tbl.cmo \
EXPUNGEOBJS=utils/misc.cmo utils/tbl.cmo \
utils/config.cmo utils/clflags.cmo \
typing/ident.cmo typing/path.cmo typing/types.cmo typing/btype.cmo \
typing/predef.cmo bytecomp/runtimedef.cmo bytecomp/bytesections.cmo \

View File

@ -76,7 +76,7 @@ COMPOBJS = {UTILS} {PARSING} {TYPING} {COMP} {BYTECOMP} {DRIVER}
TOPLIB = {UTILS} {PARSING} {TYPING} {COMP} {BYTECOMP} {TOPLEVEL}
EXPUNGEOBJS = :utils:misc.cmo :utils:formatmsg.cmo :utils:tbl.cmo ¶
EXPUNGEOBJS = :utils:misc.cmo :utils:tbl.cmo ¶
:utils:config.cmo :utils:clflags.cmo ¶
:typing:ident.cmo :typing:path.cmo ¶
:typing:types.cmo :typing:btype.cmo :typing:predef.cmo ¶

View File

@ -96,7 +96,7 @@ TOPOBJS=toplevel\toplevellib.cma $(TOPLEVELMAIN)
OPTOBJS=$(OPTUTILS) $(PARSING) $(TYPING) $(COMP) $(ASMCOMP) $(OPTDRIVER)
EXPUNGEOBJS=utils\misc.cmo utils\formatmsg.cmo utils\tbl.cmo \
EXPUNGEOBJS=utils\misc.cmo utils\tbl.cmo \
utils\config.cmo utils\clflags.cmo \
typing\ident.cmo typing\path.cmo typing\types.cmo typing\btype.cmo \
typing\predef.cmo bytecomp\runtimedef.cmo bytecomp\bytesections.cmo \

View File

@ -16,7 +16,6 @@
open Misc
open Arch
open Formatmsg
open Cmm
open Reg
open Mach

View File

@ -16,7 +16,6 @@
open Misc
open Arch
open Formatmsg
open Cmm
open Reg
open Mach

View File

@ -29,7 +29,7 @@ INCLUDES=\
OTHEROBJS=\
../otherlibs/unix/unix.cma \
../utils/misc.cmo ../utils/formatmsg.cmo ../utils/config.cmo \
../utils/misc.cmo ../utils/config.cmo \
../utils/tbl.cmo ../utils/clflags.cmo \
../parsing/longident.cmo \
../typing/ident.cmo ../typing/path.cmo ../typing/types.cmo \

View File

@ -6,6 +6,10 @@ bigarray_stubs.o: bigarray_stubs.c ../../byterun/alloc.h \
../../byterun/fix_code.h ../../byterun/memory.h ../../byterun/gc.h \
../../byterun/major_gc.h ../../byterun/freelist.h \
../../byterun/minor_gc.h
mmap_stub.o: mmap_stub.c bigarray.h ../../byterun/mlvalues.h \
../../byterun/config.h ../../byterun/../config/m.h \
../../byterun/../config/s.h ../../byterun/misc.h \
../../byterun/custom.h ../../byterun/fail.h ../../byterun/sys.h
mmap_unix.o: mmap_unix.c bigarray.h ../../byterun/mlvalues.h \
../../byterun/config.h ../../byterun/../config/m.h \
../../byterun/../config/s.h ../../byterun/misc.h \

View File

@ -21,7 +21,7 @@ INCLUDES=-I ../../utils -I ../../typing -I ../../bytecomp
COMPFLAGS=-I ../../stdlib $(INCLUDES)
OBJS=dynlink.cmo
COMPILEROBJS=misc.cmo config.cmo formatmsg.cmo tbl.cmo clflags.cmo \
COMPILEROBJS=misc.cmo config.cmo tbl.cmo clflags.cmo \
ident.cmo path.cmo \
types.cmo btype.cmo predef.cmo runtimedef.cmo \
bytesections.cmo symtable.cmo opcodes.cmo meta.cmo

View File

@ -19,7 +19,7 @@ INCLUDES = -I :::utils: -I :::typing: -I :::bytecomp:
COMPFLAGS = -I :::stdlib: {INCLUDES}
OBJS = dynlink.cmo
COMPILEROBJS = misc.cmo config.cmo formatmsg.cmo tbl.cmo ¶
COMPILEROBJS = misc.cmo config.cmo tbl.cmo ¶
clflags.cmo ident.cmo path.cmo ¶
types.cmo btype.cmo predef.cmo runtimedef.cmo ¶
bytesections.cmo symtable.cmo opcodes.cmo

View File

@ -21,7 +21,7 @@ INCLUDES=-I ..\..\utils -I ..\..\typing -I ..\..\bytecomp
COMPFLAGS=-I ..\..\stdlib $(INCLUDES)
OBJS=dynlink.cmo
COMPILEROBJS=misc.cmo config.cmo formatmsg.cmo tbl.cmo \
COMPILEROBJS=misc.cmo config.cmo tbl.cmo \
clflags.cmo ident.cmo path.cmo \
types.cmo btype.cmo predef.cmo runtimedef.cmo \
bytesections.cmo symtable.cmo opcodes.cmo

View File

@ -38,38 +38,6 @@ external size_y : unit -> int = "gr_size_y"
Drawings outside of this rectangle are clipped, without causing
an error. The origin (0,0) is at the lower left corner. *)
(*** Double buffering *)
external display_mode : bool -> unit = "gr_display_mode"
(* Set display mode on or off. When turned on, drawings are done
in the graphics window. This occurs independently of
drawings into the backing store (see the function [remember_mode]
below). Default display mode is on. *)
external remember_mode : bool -> unit = "gr_remember_mode"
(* Set remember mode on or off. When turned on, drawings are done
in the backing store window (that is in the memory). This
occurs independently of drawings onto the graphics window
(see the function [display_mode] above).
Default remember mode is on. *)
external synchronize : unit -> unit = "gr_synchronize"
(* Synchronizes the backing store and the display, by copying
the contents of the backing store onto the graphics
window. *)
val auto_synchronize : bool -> unit
(* Set automatic synchronization of backing store and display
on or off. When turned on, drawings are done simultaneously
in the backing store and the graphics window (this is equivalent to
setting display and remember modes on, and then calling
[synchronize]).
When automatic synchronization is turned off, drawings are
done in the backing store only.
Default automatic synchronization mode is on. *)
(*** Colors *)
type color = int
@ -274,3 +242,47 @@ val key_pressed : unit -> bool
external sound : freq:int -> ms:int -> unit = "gr_sound"
(* [sound freq dur] plays a sound at frequency [freq] (in hertz)
for a duration [dur] (in milliseconds). *)
(*** Double buffering *)
val auto_synchronize : bool -> unit
(* By default, drawings takes place both on the window displayed
on screen, and in a memory area (the ``backing store'').
The backing store image is used to re-paint the on-screen
window when necessary.
To avoid flicker during animations, it is possible to turn
off on-screen drawing, perform a number of drawing operations
in the backing store only, then refresh the on-screen window
explicitly.
[auto_synchronize false] turns on-screen drawing off. All
subsequent drawing commands are performed on the backing store
only.
[auto_synchronize true] refreshes the on-screen window from
the backing store (as per [synchronize]), then turns on-screen
drawing back on. All subsequent drawing commands are performed
both on screen and in the backing store.
The default drawing mode corresponds to [auto_synchronize true]. *)
external synchronize : unit -> unit = "gr_synchronize"
(* Synchronize the backing store and the on-screen window, by
copying the contents of the backing store onto the graphics
window. *)
external display_mode : bool -> unit = "gr_display_mode"
(* Set display mode on or off. When turned on, drawings are done
in the graphics window; when turned off, drawings do not affect
the graphics window. This occurs independently of
drawings into the backing store (see the function [remember_mode]
below). Default display mode is on. *)
external remember_mode : bool -> unit = "gr_remember_mode"
(* Set remember mode on or off. When turned on, drawings are done
in the backing store; when turned off, the backing store is
unaffected by drawings. This
occurs independently of drawings onto the graphics window
(see the function [display_mode] above).
Default remember mode is on. *)

View File

@ -1,53 +0,0 @@
(***********************************************************************)
(* *)
(* Objective Caml *)
(* *)
(* Xavier Leroy and Jerome Vouillon, projet Cristal, INRIA Rocquencourt*)
(* *)
(* Copyright 1996 Institut National de Recherche en Informatique et *)
(* en Automatique. All rights reserved. This file is distributed *)
(* under the terms of the Q Public License version 1.0. *)
(* *)
(***********************************************************************)
(* $Id$ *)
(* Formatter used for printing the compiler messages *)
open Format
let fmt = ref std_formatter
let open_hbox () = pp_open_hbox !fmt ()
let open_vbox n = pp_open_vbox !fmt n
let open_hvbox n = pp_open_hvbox !fmt n
let open_hovbox n = pp_open_hovbox !fmt n
let open_box n = pp_open_box !fmt n
let close_box () = pp_close_box !fmt ()
let print_string s = pp_print_string !fmt s
let print_as n s = pp_print_as !fmt n s
let print_int n = pp_print_int !fmt n
let print_float f = pp_print_float !fmt f
let print_char c = pp_print_char !fmt c
let print_bool b = pp_print_bool !fmt b
let print_break n1 n2 = pp_print_break !fmt n1 n2
let print_cut () = pp_print_cut !fmt ()
let print_space () = pp_print_space !fmt ()
let force_newline () = pp_force_newline !fmt ()
let print_flush () = pp_print_flush !fmt ()
let print_newline () = pp_print_newline !fmt ()
let printf f = fprintf !fmt f
let set_output f = fmt := f
let with_output_to f fn =
let oldf = !fmt in
fmt := f;
try
fn ();
fmt := oldf
with x ->
fmt := oldf;
raise x

View File

@ -1,38 +0,0 @@
(***********************************************************************)
(* *)
(* Objective Caml *)
(* *)
(* Xavier Leroy and Jerome Vouillon, projet Cristal, INRIA Rocquencourt*)
(* *)
(* Copyright 1996 Institut National de Recherche en Informatique et *)
(* en Automatique. All rights reserved. This file is distributed *)
(* under the terms of the Q Public License version 1.0. *)
(* *)
(***********************************************************************)
(* $Id$ *)
(* Formatter used for printing the compiler messages *)
val open_hbox : unit -> unit
val open_vbox : int -> unit
val open_hvbox : int -> unit
val open_hovbox : int -> unit
val open_box : int -> unit
val close_box : unit -> unit
val print_string : string -> unit
val print_as : int -> string -> unit
val print_int : int -> unit
val print_float : float -> unit
val print_char : char -> unit
val print_bool : bool -> unit
val print_break : int -> int -> unit
val print_cut : unit -> unit
val print_space : unit -> unit
val force_newline : unit -> unit
val print_flush : unit -> unit
val print_newline : unit -> unit
val printf : ('a, Format.formatter, unit) format -> 'a;;
val set_output : Format.formatter -> unit
val with_output_to : Format.formatter -> (unit -> 'a) -> unit