HELP CHAROUT                                       Steven Hardy, January 1982

    charout(<character_code>);

This procedure takes as argument a character code (see HELP *ASCII) and
outputs the corresponding character to the user's terminal. For example, the
character code for the digit `0` is 48, so CHAROUT(48) will print the 0 on
the user's terminal.

CHAROUT prevents output lines becoming too long by keeping track of the column
in which the next output character will be printed. If the column number
exceeds the value of the variable *POPLINEWIDTH and the character is a space
or a tab, it will be replaced by a new line and tab; if the output column
exceeds the value of *POPLINEMAX then a new line and tab will be output prior
to the character. If you increase POPLINEWIDTH and POPLINEMAX and lines are
still broken, it may be necessary in VMS systems to increase the line length
by using the command

    set terms /width=<new_width>

The current output column number is held in the variable POP_CHAROUT_COL.

If POP_BUFFER_CHAROUT is true, then output via CHAROUT will be buffered, for
efficiency. The buffer is flushed whenever it is full (its size is 128
characters) and additionally when a newline character is printed, when a null
character is output, or when CHARIN is called to read a character from the
terminal. Alternatively

    sys_purge_terminal(popdevout);

will force output.

*CUCHAROUT is a variable which holds the standard procedure for outputting
characters to the terminal. Its default value is CHAROUT, but to alter the
output behaviour of standard printing procedures, e.g. *PR, the print arrow
=>, *SPR etc. users can assign a new value to *CUCHAROUT.

See also
REF  *SYSIO       - for more information on Input/Output procedures
HELP *CUCHAROUT   - holds a character consumer as its value
HELP *ASCII       - on character codes in POP_11
HELP *RAWCHAROUT  - sends characters to the terminal via a buffer
HELP *RAWOUTFLUSH - flushes the RAWCHAROUT buffer
HELP *CHARERR     - character consumer used when printing error messages
HELP *POPDEVOUT   - returns the device for the standard output channel
