Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/cm/tools/main/private-tools.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/tools/main/private-tools.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1632, Mon Sep 27 22:18:07 2004 UTC revision 1633, Tue Sep 28 03:08:33 2004 UTC
# Line 371  Line 371 
371                            | SOME subopts => let                            | SOME subopts => let
372                                  fun fields c s =                                  fun fields c s =
373                                      String.fields (fn c' => c = c') s                                      String.fields (fn c' => c = c') s
374                                  fun valsyn what { value, ctlName, tyName } =                                  fun set (c, v) =
375                                      fail (concat ["error ", what,                                      Controls.set' (c, v)
                                                   " controller: unable to parse value `",  
                                                   value, "' for ", ctlName,  
                                                   " : ", tyName])  
                                 fun set (what, c, v) =  
                                     Controls.set (c, v)  
376                                      handle Controls.ValueSyntax vse =>                                      handle Controls.ValueSyntax vse =>
377                                             valsyn what vse                                             fail (concat ["error setting \
378                                                             \ controller: \
379                                                             \unable to parse \
380                                                             \value `",
381                                                             #value vse, "' for ",
382                                                             #ctlName vse, " : ",
383                                                             #tyName vse])
384                                  fun mk (n, v) =                                  fun mk (n, v) =
385                                      case ControlRegistry.control                                      case ControlRegistry.control
386                                               BasicControl.topregistry                                               BasicControl.topregistry
387                                               (fields #"." n)                                               (fields #"." n)
388                                       of NONE =>                                       of NONE =>
389                                            err ("no such control: " ^ n)                                            err ("no such control: " ^ n)
390                                        | SOME c => let                                        | SOME c =>
391                                              fun sr () =                                            { save'restore =
392                                                  let val orig = Controls.get c                                                fn () => Controls.save'restore c,
393                                                  in                                              set = set (c, v) }
                                                  fn () =>  
                                                     set ("restoring", c, orig)  
                                                 end  
                                             fun s () = set ("setting", c, v)  
                                         in  
                                             { save'restore = sr, set = s }  
                                         end  
394                                  fun loop ([], a) = a                                  fun loop ([], a) = a
395                                    | loop (STRING nv :: r, a) =                                    | loop (STRING nv :: r, a) =
396                                        (case fields #"=" (#name nv) of                                        (case fields #"=" (#name nv) of

Legend:
Removed from v.1632  
changed lines
  Added in v.1633

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0