3.5.7 Associating Buffers with Clients
The first time that you use one of GDS's evaluation, help or completion
commands from a given Scheme mode buffer, GDS will ask which Guile
client program you want to use for the operation, or if you want to
start up a new “utility” client. After that GDS considers the buffer
to be “associated” with the selected client, and so sends all further
requests to that client, but you can override this by explicitly
associating the buffer with a different client, or by removing the
default association.
- M-x gds-associate-buffer
- Associate (or re-associate) the current buffer with a particular Guile
client program. The available clients are listed, and you can also
choose to start up a new “utility” client for this buffer to associate
with.
- M-x gds-dissociate-buffer
- Dissociate the current buffer from its client, if any. This means that
the next time you use an evaluation, help or completion command, GDS
will ask you again which client to send the request to.
When a buffer is associated with a client program, the buffer's modeline
shows whether the client is currently able to accept instruction from
GDS. This is done by adding one of the following suffixes to the
“Scheme” major mode indicator:
- :ready
- The client program (or one of its threads, if multithreaded) is
currently ready to accept instruction from GDS. In other words, if you
send it a help or evaluation request, you should see the result pretty
much immediately.
- :running
- The client program is not currently able to accept instruction from
GDS. This means that it (or all of its threads, if multithreaded) is
busy, or waiting for input other than from GDS.
- :debug
- The client program (or one of its threads, if multithreaded) is stopped
in “debugging mode” with GDS displaying the stack for a trap or
exception. It is waiting for instruction from GDS on what to do next.