Next: , Previous: , Up: Manipulating the Editor Process   [Contents][Index]


9.9.2 Eval Mode

Eval mode is a minor mode that simulates a read eval print loop running within the editor process. Since Lisp program development is usually done in a separate eval server process (see page eval-servers), Eval mode is used primarily for debugging code that must run in the editor process. Eval mode shares some commands with Typescript mode: see section typescripts.

Eval mode doesn’t completely support terminal I/O: it binds standard-output to a stream that inserts into the buffer and standard-input to a stream that signals an error for all operations. Hemlock cannot correctly support the interactive evaluation of forms that read from the Eval interactive buffer.

Command: Select Eval Buffer

This command changes to the Eval buffer, creating one if it doesn’t already exist. The Eval buffer is created with Lisp as the major mode and Eval and Editor as minor modes.

Command: Confirm Eval Input (bound to Return in Eval mode)]

This command evaluates all the forms between the end of the last output and the end of the buffer, inserting the results of their evaluation in the buffer. This beeps if the form is incomplete. Use Linefeed to insert line breaks in the middle of a form.

This command uses Unwedge Interactive Input Confirm in the same way Confirm Interactive Input does.

Command: Abort Eval Input (bound to M-i in Eval mode)]

This command moves the the end of the buffer and prompts, ignoring any input already typed in.


Next: Error Handling, Previous: Editor Mode, Up: Manipulating the Editor Process   [Contents][Index]