Search                        Top                                  Index
HELP SETPOP                                     Steven Hardy, January 1978
                                          Revised by Ian Rogers, July 1987

This is a most unusual procedure. It reSETs the POP-11 system back to
interactive mode POP.  It does this by clearing the procedure call
stack, by using *CLEARSTACK, and then calls *COMPILE on *CHARIN.  This
means that a call of SETPOP never returns to where it was called from.

Before calling COMPILE, it also resets certain system procedures and
variables.  That is, it ensures that future output comes to the terminal
screen by assigning *CHAROUT to *CUCHAROUT, and *CHARERR to *CUCHARERR,
it resets all interrupt procedures, by calling *SYSCANTIMER, and calls
the procedure *POPSETPOP, a user definable procedure which defaults to

*PROLOG_RESET is also called.

The variables it resets are: *POPPROMPT, which is set to ': ',
*POPNEWLINE, which is set to false, and *POP_CHAROUT_COL is set to 0.

Although it resets these variables, no other variables or procedures are
lost or changed in any way.  One practical upshot of this is that if
SETPOP is called from within VED, then VED may be recalled with all the
edit buffers intact.

A note for the technically minded:  If the default input device *DEV_IN
is not a terminal then none of the above happens, except POPSETPOP is
called, and COMPILE is executed on CHARIN.

See also, HELP
    *POPREADY    - Invokes compiler recursively. Useful for interrupts.
    *VEDPOPREADY - Similar to POPREADY, for use within VED

--- C.all/help/setpop --------------------------------------------------
--- Copyright University of Sussex 1987. All rights reserved. ----------