scheme-buffer
scheme-buffer is a variable defined in `
cmuscheme.el
'.
Its value is
nil
Documentation:
The current scheme process buffer.
MULTIPLE PROCESS SUPPORT
===========================================================================
Cmuscheme.el supports, in a fairly simple fashion, running multiple Scheme
processes. To run multiple Scheme processes, you start the first up with
M-x run-scheme. It will be in a buffer named *scheme*. Rename this buffer
with M-x rename-buffer. You may now start up a new process with another
M-x run-scheme. It will be in a new buffer, named *scheme*. You can
switch between the different process buffers with C-x b.
Commands that send text from source buffers to Scheme processes --
like `scheme-send-definition' or `scheme-compile-region' -- have to choose a
process to send to, when you have more than one Scheme process around. This
is determined by the global variable `scheme-buffer'. Suppose you
have three inferior Schemes running:
Buffer Process
foo scheme
bar scheme<2>
*scheme* scheme<3>
If you do a M-x scheme-send-definition-and-go command on some Scheme source
code, what process do you send it to?
- If you're in a process buffer (foo, bar, or *scheme*),
you send it to that process.
- If you're in some other buffer (e.g., a source file), you
send it to the process attached to buffer `scheme-buffer'.
This process selection is performed by function `scheme-proc'.
Whenever M-x run-scheme fires up a new process, it resets `scheme-buffer'
to be the new process's buffer. If you only run one process, this will
do the right thing. If you run multiple processes, you might need to
set `scheme-buffer' to whichever process buffer you want to use.
More sophisticated approaches are, of course, possible. If you find yourself
needing to switch back and forth between multiple processes frequently,
you may wish to consider ilisp.el, a larger, more sophisticated package
for running inferior Lisp and Scheme processes. The approach taken here is
for a minimal, simple implementation. Feel free to extend it.