Under some UNIX operating systems, IDL keeps the user's terminal in a raw mode, required to implement command line editing. On these platforms, externally linked code that performs output to the terminal will find that the output does not appear as expected. A usual symptom of this is that newline characters (’\n’) do not move the cursor to the left margin of the screen, and commands such as more(1) (perhaps started via the C runtime library system() function) do not control the screen properly.

This is not an issue for IDL routines such as SPAWN that start sub-programs, as they are written to ensure the TTY is in the correct state before they do their work. Externally linked code can call the IDL_TTYReset() function to do the same thing:

void IDL_TTYReset(void)

This function is available under all operating systems. On systems where such an operation is not needed, it is a stub. On platforms that require the TTY to be managed in this way, this operation ensures that the terminal is returned to its standard configuration.