diff --git a/doc/scsh-manual/running.tex b/doc/scsh-manual/running.tex index 44db9f6..60f54f0 100644 --- a/doc/scsh-manual/running.tex +++ b/doc/scsh-manual/running.tex @@ -204,6 +204,9 @@ where & \ex{-lm} \var{module-file-name} & Load module into config package. \\ + & \ex{-le} \var{exec-file-name} + & Load module into exec package. \\ + & \ex{-l} \var{file-name} & Load file into current package. \\ @@ -228,8 +231,9 @@ where & \ex{-lp-default} & Reset library path list to system default.\\ - & \ex{-dm} & Do script module. \\ & \ex{-ds} & Do script. \\ + & \ex{-dm} & Do script module. \\ + & \ex{-de} & Do script exec. \\ \\ \var{end-option:} & \ex{-s} \var{script} \\ & \ex{-sfd} \var{num} \\ @@ -239,19 +243,19 @@ where \end{flushleft} \end{inset} % -These command-line switches -essentially provide a little linker language for linking a shell script or a -program together with {\scm} modules. -The command-line processor serially opens structures and loads code into a -given package. -Switches that side-effect a package operate on a particular ``current'' -package; there are switches to change this package. -(These switches provide functionality equivalent to the interactive - \ex{,open} \ex{,load} \ex{,in} and \ex{,new} commands.) -Except where indicated, switches specify actions that are executed in a -left-to-right order. -The initial current package is the user package, which is completely -empty and opens (imports the bindings of) the \RnRS{} and scsh structures. +These command-line switches essentially provide a little linker +language for linking a shell script or a program together with {\scm} +modules or {\scm} exec programs \footnote{See the Section ``Command + programs'' in the {\scm} manual for a description of the exec language.}. +The command-line processor serially opens structures and loads code +into a given package. Switches that side-effect a package operate on +a particular ``current'' package; there are switches to change this +package. (These switches provide functionality equivalent to the +interactive \ex{,open} \ex{,load} \ex{,in} and \ex{,new} commands.) +Except where indicated, switches specify actions that are executed in +a left-to-right order. The initial current package is the user +package, which is completely empty and opens (imports the bindings of) +the \RnRS{} and scsh structures. If the Scheme process is started up in an interactive mode, then the current package in force at the end of switch scanning is the one inside which @@ -296,6 +300,11 @@ The following switches and end options are defined: must contain source written in the Scheme 48 module language (``load module''). Does not alter the current package. +\Item{-le \var{exec-file-name}} + Load the specified file into scsh's exec package --- the file + must contain source written in the Scheme 48 exec language + (``load exec''). Does not alter the current package. + \Item{-l \var{file-name}} Load the specified file into the current package. @@ -331,11 +340,12 @@ The following switches and end options are defined: \Item{-s \var{script}} Specify a file to load. - A \ex{-ds} (do-script) or \ex{-dm} (do-module) switch occurring earlier in - the switch list gives the place where the script should be loaded. If - there is no \ex{-ds} or \ex{-dm} switch, then the script is loaded at the - end of switch scanning, into the module that is current at the end of - switch scanning. + A \ex{-ds} (do-script), \ex{-dm} (do-module), or \ex{-de} + (do-exec) switch occurring earlier in the switch list gives the + place where the script should be loaded. If there is no \ex{-ds}, + \ex{-dm}, or \ex{-de} switch, then the script is loaded at the end of switch + scanning, into the module that is current at the end of switch + scanning. We use the \ex{-ds} switch to violate left-to-right switch execution order as the \ex{-s} switch is \emph{required} to be last @@ -387,6 +397,14 @@ The following switches and end options are defined: This switch is provided to make it easy to write shell scripts in the {\scm} module language. +\Item{-de} + As above, but the current module is ignored. The script is loaded into the + \ex{exec} package (``do-exec''), and hence must be written in the + {\scm} exec language. + + This switch is provided to make it easy to write shell scripts in the + {\scm} exec language. + \Item{-ll \var{module-file-name}} Load library module into config package. This is just like the \ex{-lm} switch, except that it searches the