Function: run-scheme

run-scheme is an autoloaded, interactive and byte-compiled function defined in cmuscheme.el.gz.

Signature

(run-scheme CMD)

Documentation

Run an inferior Scheme process, input and output via buffer *scheme*.

If there is a process already running in *scheme*, switch to that buffer. With argument, allows you to edit the command line (default is value of scheme-program-name). If the file ~/.emacs_SCHEMENAME or ~/.emacs.d/init_SCHEMENAME.scm exists, it is given as initial input. Note that this may lose due to a timing error if the Scheme processor discards input when it starts up. Runs the hook inferior-scheme-mode-hook (after the comint-mode-hook is run).
(Type C-h m (describe-mode) in the process buffer for a list of commands.)

View in manual

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/cmuscheme.el.gz
;;;###autoload
(defun run-scheme (cmd)
  "Run an inferior Scheme process, input and output via buffer `*scheme*'.
If there is a process already running in `*scheme*', switch to that buffer.
With argument, allows you to edit the command line (default is value
of `scheme-program-name').
If the file `~/.emacs_SCHEMENAME' or `~/.emacs.d/init_SCHEMENAME.scm' exists,
it is given as initial input.
Note that this may lose due to a timing error if the Scheme processor
discards input when it starts up.
Runs the hook `inferior-scheme-mode-hook' (after the `comint-mode-hook'
is run).
\(Type \\[describe-mode] in the process buffer for a list of commands.)"

  (interactive (list (if current-prefix-arg
			 (read-string "Run Scheme: " scheme-program-name)
			 scheme-program-name)))
  (if (not (comint-check-proc "*scheme*"))
      (let ((cmdlist (split-string-and-unquote cmd)))
        (set-buffer (apply #'make-comint "scheme" (car cmdlist)
			   (scheme-start-file (car cmdlist)) (cdr cmdlist)))
	(inferior-scheme-mode)))
  (setq scheme-program-name cmd)
  (setq scheme-buffer "*scheme*")
  (pop-to-buffer "*scheme*" (append display-buffer--same-window-action
                                    '((category . comint)))))