Next: , Previous: Continuing Execution, Up: Using Guile in Emacs


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.