Scheme 48 Manual | Contents | In Chapter: Command processor
Previous: Debugging commands | Next: Inspection mode

## Switches

There are a number of binary switches that control the behavior of the command processor. They can be set using the `,set` and `,unset` commands.

  `,set `switch` [on | off | ?]`
  This sets the value of mode-switch `switch`. The second argument defaults to `on`. If the second argument is `?` the value of `switch` is is displayed and not changed. Doing `,set ?` will display a list of the switches and their current values.

  `,unset `switch``
  `,unset `switch`` is the same as `,set `switch` off`.

The switches are as follows:

  `batch`
  In `batch mode' any error or interrupt that comes up will cause Scheme 48 to exit immediately with a non-zero exit status. Also, the command processor doesn't print prompts. Batch mode is off by default.

  `auto-levels`
  Enables or disables the automatic pushing of a new command level when an error, interrupt, or other breakpoint occurs. When enabled (the default), breakpoints push a new command level, and <eof> (see above) or `,reset` is required to return to top level. The effects of pushed command levels include:
  - a longer prompt
  - retention of the continuation in effect at the point of errors
  - confusion among some newcomers
  With `auto-levels` disabled one must issue a `,push` command immediately following an error in order to retain the error continuation for debugging purposes; otherwise the continuation is lost as soon as the focus object changes. If you don't know anything about the available debugging tools, then levels might as well be disabled.

  `inspect-focus-value`
  Enable or disable `inspection' mode, which is used for inspecting data structures and continuations. Inspection mode is desribed below.

  `break-on-warnings`
  Enter a new command level when a warning is produced, just as when an error occurs. Normally warnings only result in a displayed message and the program does not stop executing.

  `ask-before-loading`
  If on, the system will ask before loading modules that are arguments to the `,open` command. `Ask-before-loading` is off by default.

  >     > ,set ask-before-loading
  >     will ask before loading modules
  >     > ,open random
  >     Load structure random (y/n)? y
  >     >

  `load-noisily`
  When on, the system will print out the names of modules and files as they are loaded. `load-noisily` is off by default.

  >     > ,set load-noisily
  >     will notify when loading modules and files
  >     > ,open random
  >     [random /usr/local/lib/scheme48/big/random.scm]
  >     >

  `inline-values`
  This controls whether or not the compiler is allowed to substitute variables' values in-line. When `inline-values` mode is on, some Scheme procedures will be substituted in-line; when it is off, none will. The performance section has more information.

Previous: Debugging commands | Next: Inspection mode