### 8.1 Starting Edwin

To use Edwin, start Scheme with the following command-line options:

    mit-scheme --edit

Alternatively, you can load Edwin by giving the `--edwin` command-line option and then calling the procedure `edit`:

procedure: edit
procedure: edwin

  Enter the Edwin text editor. If entering for the first time, the editor is initialized (by calling `create-editor` with no arguments). Otherwise, the previously-initialized editor is reentered.

  The procedure `edwin` is an alias for `edit`.

variable: inhibit-editor-init-file?

  When Edwin is first initialized, it loads your init file (called `~/.edwin` under unix, `edwin.ini` on PCs) if you have one. If the Scheme variable `inhibit-editor-init-file?` is true, however, your init file will not be loaded even if it exists. By default, this variable is false.

  Note that you can set this variable in your Scheme init file (see Customizing Scheme).

procedure: create-editor arg …

  Initializes Edwin, or reinitializes it if already initialized. `create-editor` is normally invoked automatically by `edit`.

  If no args are given, the value of `create-editor-args` is used instead. In other words, the following are equivalent:

      (create-editor)
      (apply create-editor create-editor-args)

  On the other hand, if args are given, they are used to update `create-editor-args`, making the following equivalent:

      (apply create-editor args)
      (begin (set! create-editor-args args) (create-editor))

variable: create-editor-args

  This variable controls the initialization of Edwin. The following values are defined:

  `(#f)`

    This is the default. Creates a window of some default size, and uses that window as Edwin’s main window. Under unix, if X11 is not available or if the `DISPLAY` environment variable is undefined, Edwin will run on Scheme’s console.

  `(x)`

    Unix only. Creates an X window and uses it as Edwin’s main window. This requires the `DISPLAY` environment variable to have been set to the appropriate value before Scheme was started.

  `(x geometry)`

    Unix only. Like ‘`(x)`’ except that geometry specifies the window’s geometry in the usual way. Geometry must be a character string whose contents is an X geometry specification.

  `(console)`

    Unix only. Causes Edwin to run on Scheme’s console, or in unix terminology, the standard input and output. If the console is not a terminal device, or is not powerful enough to run Edwin, an error will be signalled at initialization time.

  `(win32)`

    Windows only. Creates a window and uses it as Edwin’s main window.