[previous] [up] [next]     [contents] [index]
Next: Sharing Up: MzLib Libraries Previous: Requiring Libraries and Files

Restarting MzScheme with Arguments

Files: restart.ss, restartu.ss, restartr.ss, restarts.ss, restartc.ss
Requires: cmdlines.ss
Opened form requires: cmdlineu.ss
Signature: mzlib:restart^
Unit: mzlib:restart@, imports mzlib:command-line^



(restart-mzscheme init-argv adjust-flag-table argv init-namespace) PROCEDURE

Simulates starting the stand-alone version of MzScheme with the vector of command-line strings argv. The init-argv, adjust-flag-table, and init-namespace arguments are used to modify the default settings for command-line flags, adjust the parsing of command-line flags, and customize the initial namespace, respectively.

The vector of strings init-argv is read first with the standard MzScheme command-line parsing. Flags that load files or evaluate expressions (e.g., -f and -e) are ignored, but flags that set MzScheme's modes (e.g., -g or -m) effectively set the default mode before argv is parsed.

Before argv is parsed, the procedure adjust-flag-table is called with a command-line flag table as accepted by parse-command-line (see section 15.2.2). The return value must also be a table of command-line flags, and this table is used to parse argv. The intent is to allow adjust-flag-table to add or remove flags from the standard set.

After argv is parsed, a new parameterization and a namespace are created for the ``restarted'' MzScheme. (The new namespace is installed as the current namespace in the new parameterization.) The new parameterization is installed with parameterize while the following actions are performed:

When read-eval-print-loop returns, restart-mzscheme returns void.



PLT