Next: , Previous: , Up: Running REDUCE in an Emacs window   [Contents][Index]


14.4 Running, re-running and switching to REDUCE

The command to start REDUCE is run-reduce. If the option reduce-run-multiple is non-nil (which by default it is) then it starts a new REDUCE process every time it is executed; successive REDUCE process buffers have successively higher numbers at the end of their names, e.g. *CSL REDUCE*, *CSL REDUCE 1*, *CSL REDUCE 2*, ... Otherwise it only starts a new REDUCE process if necessary – if an appropriate REDUCE process is already running then it simply switches to it. Finally, these commands run the hooks from reduce-run-mode-hook (after the comint-mode-hook is run).

Command: run-reduce

This command prompts for the name of a REDUCE command in the minibuffer, using completion and ignoring case. The REDUCE command names are as specified by the option reduce-run-commands. If you don’t give a command name, i.e. you just hit RET, then a menu pops up at the current pointer location, from which you can select the name of the command you want to run. The REDUCE process buffer is named using the name of the REDUCE command that it runs, e.g. *CSL REDUCE* or *PSL REDUCE*.

If this command is executed with a prefix argument then it reads an actual command to run REDUCE from the minibuffer and runs that command. In this case, the REDUCE process buffer is named without any reference to the REDUCE command, e.g. *REDUCE*.

A couple of convenience commands allow you to re-start a running REDUCE process in the same buffer and switch from any buffer to a running REDUCE process buffer.

Command: re-run-reduce

This command is only allowed in a REDUCE process buffer. If REDUCE is running in the current buffer then it is terminated. The command then reruns the REDUCE command whose name is shown in the buffer name. (This will not work if you entered the actual command to run REDUCE directly.)

Command: switch-to-reduce

This command is primarily intended for internal use by other commands but it can be used interactively to switch to a running REDUCE process buffer. If the current buffer is an active REDUCE process buffer then the command does nothing; if there is only one active REDUCE process buffer then the command switches to it; otherwise, the command reads the name of an active REDUCE process buffer from the minibuffer with completion. This means that pressing the TAB key will give a list of active REDUCE process buffers from which to select one. It remembers the last buffer used and offers that as the default, making it easy to switch repeatedly to the same REDUCE process buffer. This function is used by all commands described below that send REDUCE code fragments to a running REDUCE process.

If REDUCE is not running then this command will start REDUCE automatically by calling run-reduce if the option reduce-run-autostart is non-nil (which by default it is).


Next: Running complete REDUCE programs, Previous: Running REDUCE on Microsoft Windows, Up: Running REDUCE in an Emacs window   [Contents][Index]