Next: , Previous: , Up: Eval Servers   [Contents][Index]


9.1.2 Slaves

For now, all eval servers are slaves. A slave is a Lisp process that uses a typescript (see page typescripts) to run its top-level read-eval-print loop in a Hemlock buffer. We refer to the buffer that a slave uses for I/O as its interactive or slave buffer. The name of the interactive buffer is the same as the eval server’s name.

Hemlock creates a background buffer for each eval server. The background buffer’s name is Background name, where name is the name of the eval server. Slaves direct compiler warning output to the background buffer to avoid cluttering up the interactive buffer.

Hemlock locally sets Current Eval Server in interactive and background buffers to their associated slave. When in a slave or background buffer, eval server requests will go to the associated slave, regardless of the global value of Current Eval Server.

Command: Select Slave (bound to C-M-c)

This command changes the current buffer to the current eval server’s interactive buffer. If the current eval server is not a slave, then it beeps. If there is no current eval server, then this creates a slave (see section slave-creation). If a prefix argument is supplied, then this creates a new slave regardless of whether there is a current eval server. This command is the standard way to create a slave.

The slave buffer is a typescript (see page typescripts) the slave uses for its top-level read-eval-print loop.

Command: Select Background (bound to C-M-C)

This command changes the current buffer to the current eval server’s background buffer. If there is no current eval server, then it beeps.


Next: Slave Creation and Destruction, Previous: The Current Eval Server, Up: Eval Servers   [Contents][Index]