xscheme.el can be used to interact with an inferior [[MitSlashGnuScheme|MIT scheme]] process (meaning it won't work with Guile or other scheme interpreters). See SchemeMode for alternatives.

xscheme is included as of emacs <= 19

[[https://git.savannah.gnu.org/cgit/emacs.git/tree/lisp/progmodes/xscheme.el Source Code]]

== Getting started ==

Load Xscheme with ##M-x load-library xscheme##

Run the scheme interpreter: ##M-x start-scheme##. If desired, select a buffer that will be interacting with the scheme interpreter. By default, it creates a new buffer called ##*scheme*##.

* ##C-x C-e## evaluates the previous expression.
* ##\ei## (##<ESC>## + ##i##) evaluates the entire buffer.

----

Put this function in in your InitFile to load xscheme in the current buffer with only one command:

{{{
(defun xscheme ()
  "Loads xscheme and runs a scheme process in the current buffer."
  (interactive)
  (load-library "xscheme")
  (xscheme-start "scheme -emacs"
                 (buffer-name)
                 (buffer-name)))
}}}

Call it with ##M-x xscheme##.
