14.5 REDUCE Run mode customization

The option reduce-run-commands must be set correctly otherwise REDUCE will not run correctly. The settings of other options are less critical.

REDUCE Run inherits from comint, so comint options also affects this mode. The comint customization group can be accessed via a link in the REDUCE Run customization group.

reduce-input-filter

Default value "\\`\\([ \t;$]*\\|[ \t]*.[ \t]*\\)\\'". What not to save on REDUCE Run mode’s input history. The value is a regular expression (regexp). The default matches any combination of zero or more whitespace characters and/or statement terminators, or any single character (e.g. y or n) possibly surrounded by whitespace.

reduce-packages-directory

Absolute pathname of the directory containing REDUCE packages, or nil. This option should be set automatically when REDUCE Run mode loads. If the directory cannot be found then this option will be set to nil. You can customize this variable to override the default setting. The value may contain spaces and may begin with the shortcut $reduce, which is replaced with the value of the option reduce-root-dir-file-name before it is used.

reduce-root-dir-file-name

Default value ?:/Program Files/Reduce on Microsoft Windows, where ? is a letter CZ, and /usr/share/reduce on other platforms. Absolute root directory file name of the REDUCE installation, or nil if not set. It is the directory containing the packages directory and, on Microsoft Windows, the bin directory containing the user-executable batch files. On Microsoft Windows, REDUCE Run mode attempts to determine the correct drive letter automatically. Note that you can complete the directory name using M-TAB.

reduce-run-autoload

Whether, and if so how, to autoload REDUCE Run mode. Loading it is necessary only if you plan to run REDUCE within REDUCE IDE. If the value is t then load REDUCE Run mode after reduce-mode has loaded; if it is menu (the default) then display a Run REDUCE menu stub that can load REDUCE Run mode; if it is nil then do nothing.

reduce-run-autostart

Default value t. If non-nil then all commands that require a REDUCE process will automatically start a new one if none is already running.

reduce-run-commands

The definition of this option changed in version 1.12.

An association list with an element for each version of REDUCE, which is a list. The first element of each list is the command name as a string, by default either "CSL" or "PSL"; the second element is either nil or the value for the environment variable reduce as a string; the third element is the program to run as a string, which must be either an absolute pathname or a command name to be looked up on the execution path; subsequent elements are optional command arguments as strings. Strings may contain spaces and may begin with the shortcut $reduce, which is replaced with the value of the option reduce-root-dir-file-name before it is used. Each command must run REDUCE using a command-line interface.

By default, REDUCE Run mode on Microsoft Windows uses absolute pathnames and runs REDUCE directly rather than via batch files, whereas on other platforms it uses the shell scripts that should be found on the execution path.

reduce-run-command-name-default

Default value the first command name in reduce-run-commands. If non-nil then the value specifies the default REDUCE command name.

reduce-run-installation-directory

Renamed to reduce-root-dir-file-name with a slightly different definition in version 1.12.

reduce-run-mswin-drives

Subsumed into reduce-root-dir-file-name and removed in version 1.12.

reduce-run-multiple

Default value t. If non-nil then commands that explicitly start REDUCE will always start a new REDUCE process in a new distinct buffer, even if REDUCE is already running. Otherwise, they will re-use any appropriate running REDUCE process.

reduce-run-prompt

Default value "^\\(?:[0-9]+[:*] \\)+". The regexp to recognise prompts in REDUCE Run mode. This variable is used to initialize comint-prompt-regexp in the REDUCE run buffer.

reduce-run-terminal

Default value nil on Microsoft Windows and "Eterm" on all other platforms. If non-nil, this specifies the value of TERM to use, which is intended only for Unix-like platforms. This sets comint-terminfo-terminal to the value of reduce-run-terminal and system-uses-terminfo to t locally within run-reduce so that CSL REDUCE responds appropriately to interrupts, which with a dumb terminal it does not. A nil value means use the Emacs defaults. Possible values to try are "Eterm", "emacs", "xterm".

reduce-source-modes

Default value (reduce-mode). Used to determine if a buffer contains REDUCE source code. If a file is loaded into a buffer that is in one of these major modes then it is considered to be a REDUCE source file by reduce-input-file and reduce-fasl-file. Used by these commands to determine defaults.