#### 3.1.2 Interrupting ¶

Scheme has several interrupt keys, which vary depending on the underlying operating system; under unix they are `C-g` and `C-c`. The `C-g` key stops any Scheme evaluation that is running and returns you to the top level REPL. `C-c` prompts you for another character and performs some action based on that character. It is not necessary to type `RET` after `C-g` or `C-c`, nor is it needed after the character that `C-c` will ask you for.

Here are the definitions of the more common interrupt keys; on unix, type `C-c ?` for more possibilities.

`C-c C-c` ¶
`C-g`

  Abort whatever Scheme evaluation is currently running and return to the top-level REPL. If no evaluation is running, this is equivalent to evaluating

      (cmdl-interrupt/abort-top-level)

`C-c C-x` ¶

  Abort whatever Scheme evaluation is currently running and return to the “current” REPL. If no evaluation is running, this is equivalent to evaluating

      (cmdl-interrupt/abort-nearest)

`C-c C-u` ¶

  Abort whatever Scheme evaluation is running and go up one level. If you are already at level number 1, the evaluation is aborted, leaving you at level 1. If no evaluation is running, this is equivalent to evaluating

      (cmdl-interrupt/abort-previous)

`C-c C-b` ¶

  Suspend whatever Scheme evaluation is running and start a breakpoint REPL. The evaluation can be resumed by evaluating

      (continue)

  in that REPL at any time.

`C-c q` ¶

  Similar to typing ‘`(exit)`’ at the REPL, except that it works even if Scheme is running an evaluation.

`C-c z` ¶

  Similar to typing ‘`(quit)`’ at the REPL, except that it works even if Scheme is running an evaluation.

`C-c i` ¶

  Ignore the interrupt. Type this if you made a mistake and didn’t really mean to type `C-c`.

`C-c ?` ¶

  Print help information. This will describe any other options not documented here.