Additional Topics > External Development Guide > IDLInternals - Miscellaneous > Ensuring UNIX TTY State

# Ensuring UNIX TTY State

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, because they are written to be aware of this issue and 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.