5.1 Starting the Shell

The IDLWAVE shell can be started with the command M-x idlwave-shell. In idlwave-mode the function is bound to C-c C-s. It creates a buffer *idl* which is used to interact with the shell. If the shell is already running, C-c C-s will simply switch to the shell buffer. The command C-c C-l (idlwave-shell-recenter-shell-window) displays the shell window without selecting it. The shell can also be started automatically when another command tries to send a command to it. To enable auto start, set the variable idlwave-shell-automatic-start to t.

In order to create a separate frame for the IDLWAVE shell buffer, call idlwave-shell with a prefix argument: C-u C-c C-s or C-u C-c C-l. If you always want a dedicated frame for the shell window, configure the variable idlwave-shell-use-dedicated-frame.

To launch a quick IDLWAVE shell directly from a shell prompt without an IDLWAVE buffer (e.g., as a replacement for running inside an xterm), define a system alias with the following content:

emacs -geometry 80x32 -eval "(idlwave-shell 'quick)"

Replace the ‘-geometry 80x32’ option with ‘-nw’ if you prefer the Emacs process to run directly inside the terminal window.

To use IDLWAVE with ENVI or other custom packages which change the ‘IDL> ’ prompt, you must change the idlwave-shell-prompt-pattern, which defaults to ‘"^ ?IDL> "’. Normally, you can just replace the ‘IDL’ in this expression with the prompt you see. A suitable pattern which matches the prompt for both ENVI and IDL simultaneously is ‘"^ ?\\(ENVI\\|IDL\\)> "’.

User Option: idlwave-shell-explicit-file-name (idl)

This is the command to run IDL.

User Option: idlwave-shell-command-line-options

A list of command line options for calling the IDL program.

User Option: idlwave-shell-prompt-pattern

Regexp to match IDL prompt at beginning of a line.

User Option: idlwave-shell-process-name

Name to be associated with the IDL process.

User Option: idlwave-shell-automatic-start (nil)

Non-nil means attempt to invoke idlwave-shell if not already running.

User Option: idlwave-shell-initial-commands

Initial commands, separated by newlines, to send to IDL.

User Option: idlwave-shell-save-command-history (t)

Non-nil means preserve command history between sessions.

User Option: idlwave-shell-command-history-file (~/.emacs.d/idlwave/.idlwhist)

The file in which the command history of the idlwave shell is saved. Unless it’s an absolute path, it goes in idlwave-config-directory.

User Option: idlwave-shell-use-dedicated-frame (nil)

Non-nil means IDLWAVE should use a special frame to display the shell buffer.

User Option: idlwave-shell-use-dedicated-window (nil)

Non-nil means use a dedicated window for the shell, taking care not it replace it with other buffers.

User Option: idlwave-shell-frame-parameters

The frame parameters for a dedicated idlwave-shell frame.

User Option: idlwave-shell-raise-frame (t)

Non-nil means idlwave-shell raises the frame showing the shell window.

User Option: idlwave-shell-temp-pro-prefix

The prefix for temporary IDL files used when compiling regions.

User Option: idlwave-shell-mode-hook

Hook for customizing idlwave-shell-mode.