added use_file;
authorwenzelm
Mon, 11 Dec 2006 19:05:23 +0100
changeset 21770ea6f846d8c4b
parent 21769 b82f344f7922
child 21771 148c8aba89dd
added use_file;
src/Pure/General/secure.ML
src/Pure/ML-Systems/mosml.ML
src/Pure/ML-Systems/polyml.ML
src/Pure/ML-Systems/poplogml.ML
src/Pure/ML-Systems/smlnj.ML
     1.1 --- a/src/Pure/General/secure.ML	Mon Dec 11 19:05:20 2006 +0100
     1.2 +++ b/src/Pure/General/secure.ML	Mon Dec 11 19:05:23 2006 +0100
     1.3 @@ -10,8 +10,9 @@
     1.4    val set_secure: unit -> unit
     1.5    val is_secure: unit -> bool
     1.6    val deny_secure: string -> unit
     1.7 +  val use_text: (string -> unit) * (string -> 'a) -> bool -> string -> unit
     1.8 +  val use_file: (string -> unit) * (string -> 'a) -> bool -> string -> unit
     1.9    val use: string -> unit
    1.10 -  val use_text: (string -> unit) * (string -> 'a) -> bool -> string -> unit
    1.11    val commit: unit -> unit
    1.12    val execute: string -> string
    1.13    val system: string -> int
    1.14 @@ -36,11 +37,12 @@
    1.15  
    1.16  fun secure_mltext () = deny_secure "Cannot evaluate ML source in secure mode";
    1.17  
    1.18 -val orig_use = use;
    1.19  val orig_use_text = use_text;
    1.20 +val orig_use_file = use_file;
    1.21  
    1.22 -fun use file = (secure_mltext (); orig_use file);
    1.23  fun use_text pr verbose txt = (secure_mltext (); orig_use_text pr verbose txt);
    1.24 +fun use_file pr verbose name = (secure_mltext (); orig_use_file pr verbose name);
    1.25 +val use = use_file Output.ml_output true;
    1.26  
    1.27  (*commit is dynamically bound!*)
    1.28  fun commit () = orig_use_text Output.ml_output false "commit();";
    1.29 @@ -58,7 +60,8 @@
    1.30  
    1.31  end;
    1.32  
    1.33 +val use_text = Secure.use_text;
    1.34 +val use_file = Secure.use_file;
    1.35  val use = Secure.use;
    1.36 -val use_text = Secure.use_text;
    1.37  val execute = Secure.execute;
    1.38  val system = Secure.system;
     2.1 --- a/src/Pure/ML-Systems/mosml.ML	Mon Dec 11 19:05:20 2006 +0100
     2.2 +++ b/src/Pure/ML-Systems/mosml.ML	Mon Dec 11 19:05:23 2006 +0100
     2.3 @@ -144,6 +144,8 @@
     2.4      FileSys.remove tmp_name
     2.5    end;
     2.6  
     2.7 +fun use_file _ _ name = PolyML.use name;
     2.8 +
     2.9  
    2.10  
    2.11  (** interrupts **)      (*Note: may get into race conditions*)
     3.1 --- a/src/Pure/ML-Systems/polyml.ML	Mon Dec 11 19:05:20 2006 +0100
     3.2 +++ b/src/Pure/ML-Systems/polyml.ML	Mon Dec 11 19:05:23 2006 +0100
     3.3 @@ -111,6 +111,8 @@
     3.4      if verbose then print (output ()) else ()
     3.5    end;
     3.6  
     3.7 +fun use_file _ _ name = use name;
     3.8 +
     3.9  
    3.10  (*eval command line arguments*)
    3.11  local
     4.1 --- a/src/Pure/ML-Systems/poplogml.ML	Mon Dec 11 19:05:20 2006 +0100
     4.2 +++ b/src/Pure/ML-Systems/poplogml.ML	Mon Dec 11 19:05:23 2006 +0100
     4.3 @@ -378,3 +378,4 @@
     4.4  end;
     4.5  
     4.6  fun use_text _ _ txt = use_string txt;
     4.7 +fun use_file _ _ name = use name;
     5.1 --- a/src/Pure/ML-Systems/smlnj.ML	Mon Dec 11 19:05:20 2006 +0100
     5.2 +++ b/src/Pure/ML-Systems/smlnj.ML	Mon Dec 11 19:05:23 2006 +0100
     5.3 @@ -113,6 +113,9 @@
     5.4      if verbose then print (output ()) else ()
     5.5    end;
     5.6  
     5.7 +fun use_file _ _ name = use name;
     5.8 +
     5.9 +
    5.10  
    5.11  (** interrupts **)
    5.12