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/main/cm-boot.sml
ViewVC logotype

Diff of /sml/trunk/src/cm/main/cm-boot.sml

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

revision 1628, Wed Sep 15 20:58:05 2004 UTC revision 1629, Thu Sep 23 22:38:06 2004 UTC
# Line 656  Line 656 
656                      open FormatComb                      open FormatComb
657                      val { help, ctls, subregs, path } = rt                      val { help, ctls, subregs, path } = rt
658    
659                      fun one c = let                      fun one ci = let
660                          val arg = concat (foldr (fn (s, r) => s :: "." :: r)                          val arg = concat (foldr (fn (s, r) => s :: "." :: r)
661                                                  [getarg c] path)                                                  [getarg ci] path)
662                          val value = getval c                          val value = getval ci
663                          val sz = size value                          val sz = size value
664                          val lw = !Control_Print.linewidth                          val lw = !Control_Print.linewidth
665                          val padsz = lw - 6 - size arg - indent                          val padsz = lw - 6 - size arg - indent
# Line 720  Line 720 
720                       \    -h               (produce minimal help listing)\n\                       \    -h               (produce minimal help listing)\n\
721                       \    -h<level>        (help with obscurity limit)\n\                       \    -h<level>        (help with obscurity limit)\n\
722                       \    -S               (list all current settings)\n\                       \    -S               (list all current settings)\n\
723                       \    -s<level>        (limited list of settings)\n\n"];                       \    -s<level>        (limited list of settings)\n\
724                  show_controls (Controls.name,                       \    -E               (list all environment variables)\n\
725                                 fn c => concat ["(", #help (Controls.info c),                       \    -e<level>        (limited list of environment variables)\n\n"];
726                    show_controls (Controls.name o #ctl,
727                                   fn ci =>
728                                      concat ["(", #help (Controls.info (#ctl ci)),
729                                                 ")"],                                                 ")"],
730                                 FormatComb.pad FormatComb.left)                                 FormatComb.pad FormatComb.left)
731                                level)                                level)
732    
733              fun showcur level = let              fun showcur level =
734                  fun nopad (_, s) = s                  show_controls (fn ci => (Controls.name (#ctl ci) ^ "="),
735              in                                 fn ci => Controls.get (#ctl ci),
                 show_controls (fn c => (Controls.name c ^ "="),  
                                fn c => Controls.get c,  
736                                 fn _ => fn ff => ff)                                 fn _ => fn ff => ff)
737                                level                                level
738              end  
739                fun show_envvars level =
740                    show_controls (fn ci => (Controls.name (#ctl ci) ^ ":"),
741                                   fn ci => Option.getOpt (#envName (#info ci),
742                                                           "(none)"),
743                                   FormatComb.pad FormatComb.left)
744                                  level
745    
746              fun badopt opt f () =              fun badopt opt f () =
747                  Say.say ["!* bad ", opt, " option: `", f, "'\n",                  Say.say ["!* bad ", opt, " option: `", f, "'\n",
# Line 793  Line 800 
800                         "" => showcur (SOME 0)                         "" => showcur (SOME 0)
801                       | level => showcur (Int.fromString level);                       | level => showcur (Int.fromString level);
802                     quit_if last)                     quit_if last)
803                  | carg ("-e", f, _, last) =
804                      (case String.extract (f, 2, NONE) of
805                           "" => show_envvars (SOME 0)
806                         | level => show_envvars (Int.fromString level);
807                       quit_if last)
808                | carg (_, f, mk, _) =                | carg (_, f, mk, _) =
809                    p (f, mk, String.map Char.toLower                    p (f, mk, String.map Char.toLower
810                                         (getOpt (OS.Path.ext f, "<none>")))                                         (getOpt (OS.Path.ext f, "<none>")))
# Line 801  Line 813 
813                | args ("-m" :: rest, _) = args (rest, make)                | args ("-m" :: rest, _) = args (rest, make)
814                | args ("-H" :: rest, mk) = (help NONE; args_q (rest, mk))                | args ("-H" :: rest, mk) = (help NONE; args_q (rest, mk))
815                | args ("-S" :: rest, mk) = (showcur NONE; args_q (rest, mk))                | args ("-S" :: rest, mk) = (showcur NONE; args_q (rest, mk))
816                  | args ("-E" :: rest, mk) = (show_envvars NONE; args_q (rest, mk))
817                | args ("-q" :: _, _) = quit ()                | args ("-q" :: _, _) = quit ()
818                | args ("@CMbuild" :: rest, _) = mlbuild rest                | args ("@CMbuild" :: rest, _) = mlbuild rest
819                | args (f :: rest, mk) =                | args (f :: rest, mk) =

Legend:
Removed from v.1628  
changed lines
  Added in v.1629

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