HELP POPVARS                                     John Williams, Feb 1991

-- Introduction --------------------------------------------------------

The POPLOG run-time system includes a large number of built-in "system
variables", which define and control many aspects of its behaviour.
Many, but not all, of these variables have names starting with the
prefix "pop", hence the name of this file.

This file lists most of these variables, except for those that control
the VED editor. These are documented in REF * VEDVARS.

To find out more about any of these variables, use one of the following
commands:

    <ENTER> ?? <name>           (extracts description from REF file)
    <ENTER> ref <name>          (edits description in REF file)

(see HELP * QUERY and HELP * REF, respectively).

Also, the name of the relevant REF (or HELP) file is listed alongside
each variable name.


        CONTENTS - (Use <ENTER> g to access required sections)

 -- Introduction
 -- Current POPLOG Status
 -- Operating System Interface
 -- Store Management
 -- Signal Handling
 -- Subsystems
 -- Number Crunching
 -- Character I/O
 -- Item I/O
 -- Library Interface
 -- The POPLOG VM
 -- POP-11 Compiler
 -- Errors & Debugging
 -- Miscellaneous


-- Current POPLOG Status -----------------------------------------------

These variables hold information about the current version and
invocation of POPLOG.

    pop_system_version                  REF * SYSTEM
    popversion                          REF * SYSTEM
    popheader                           REF * SYSTEM

    poparg0                             REF * SYSTEM
    poparglist                          REF * SYSTEM
    poparglist0                         REF * SYSTEM
    pop_nobanner                        REF * SYSTEM
    pop_noinit                          REF * SYSTEM
    pop_runtime                         REF * SYSTEM
    pop_runtime_actions                 REF * SYSTEM
    popunderx                           REF * SYSTEM
    popdirectory                        REF * SYSUTIL
    popenvlist                          REF * SYSUTIL
    poppid                              REF * SYSUTIL
    popusername                         REF * SYSUTIL

    pop_after_restore                   REF * SYSTEM
    pop_exit_ok                         REF * SYSTEM
    pop_first_setpop                    REF * SYSTEM
    popexit                             REF * SYSTEM
    syssetup                            REF * SYSTEM
    sysxsetup                           REF * SYSTEM
    xpopexit                            REF * X


-- Operating System Interface ------------------------------------------

These variables control POPLOG's interface to the operating system.

    current_directory                   REF * SYSUTIL
    pop_file_mode                       REF * SYSIO
    pop_file_versions                   REF * SYSIO
    pop_file_write_error                REF * SYSIO
    pop_max_filename_len                REF * SYSUTIL
    pop_status                          REF * SYSUTIL


-- Store Management ----------------------------------------------------

These variables control POPLOG's memory allocation and garbage
collection mechanisms.

    pop_after_gc                        REF * SYSTEM
    pop_callstack_lim                   REF * PROCEDURE
    pop_gc_copy                         REF * SYSTEM
    pop_gc_use_vadvise                  (not documented)
    pop_prolog_lim                      REF * PROLOG
    pop_prolog_size                     REF * PROLOG    
    pop_record_writeable                REF * SYSTEM
    popgcratio                          REF * SYSTEM
    popgctime                           REF * SYSTEM
    popgctrace                          REF * SYSTEM
    popmemlim                           REF * SYSTEM
    popmemused                          REF * SYSTEM
    popminmemlim                        REF * SYSTEM


-- Signal Handling -----------------------------------------------------

These variables control POPLOG's signal handling and timer mechanisms.

    interrupt                           REF * SYSTEM
    io_interrupt                        REF * SYSTEM
    pop_enable_interrupts               REF * SIGNALS
    pop_timeout                         REF * SYSIO
    popsuspend                          REF * SIGNALS
    sys_max_signal                      REF * SIGNALS
    pop_ast_queue                       REF * ASYNC
    pop_asts_enabled                    REF * ASYNC
    timer_interrupt                     REF * TIMES


-- Subsystems ----------------------------------------------------------

These variables control the "subsystem" mechanism.

    pop_default_type                    REF * CHARIO
    pop_setpop_compiler                 REF * SYSTEM
    popsetpop                           REF * SYSTEM
    subsystem                           REF * SUBSYSTEM
    sys_subsystem_table                 REF * SUBSYSTEM


-- Number Crunching ----------------------------------------------------

These variables affect POPLOG's numeric processing routines.

    pop_float_radix                     REF * NUMBERS
    pop_reduce_ratios                   REF * NUMBERS
    popdprecision                       REF * NUMBERS
    popradians                          REF * NUMBERS
    ranseed                             REF * NUMBERS


-- Character I/O -------------------------------------------------------

These variables may be used to re-direct or modify POPLOG's low-level
character I/O facilities.

    cucharerr                           REF * CHARIO
    cucharin                            REF * POPCOMPILE
    cucharout                           REF * CHARIO
    cuchartrace                         REF * CHARIO
    handlepopescape                     (not documented)
    pop_buffer_charout                  REF * CHARIO
    pop_charerr_col                     REF * CHARIO
    pop_charerr_device                  REF * SYSIO
    pop_charin_device                   REF * SYSIO
    pop_charin_escapes                  REF * CHARIO
    pop_chario_trap                     REF * CHARIO
    pop_charout_col                     REF * CHARIO
    pop_charout_device                  REF * SYSIO
    pop_iso_latin                       REF * STRINGS
    pop_null_device                     REF * SYSIO
    pop_timeout_secs                    REF * SYSIO
    popdeverr                           REF * SYSIO
    popdevin                            REF * SYSIO
    popdevout                           REF * SYSIO
    poplinemax                          REF * CHARIO
    poplinewidth                        REF * CHARIO
    poplogfile                          REF * CHARIO
    popprompt                           REF * SYSIO
    poprawdevin                         REF * SYSIO
    poprawdevout                        REF * SYSIO
    rawcharin                           REF * CHARIO
    rawcharout                          REF * CHARIO
    rawsubstringout                     REF * CHARIO


-- Item I/O ------------------------------------------------------------

These variables control the format in which data items are read and
printed.

    pop_longstrings                     REF * ITEMISE
    popnewline                          REF * ITEMISE

    pop_=>_flag                         REF * PRINT
    pop_pr_exponent                     REF * PRINT
    pop_pr_level                        REF * PRINT
    pop_pr_places                       REF * PRINT
    pop_pr_quotes                       REF * PRINT
    pop_pr_radix                        REF * PRINT
    pop_pr_ratios                       REF * PRINT
    pr                                  REF * PRINT


-- Library Interface ---------------------------------------------------

These variables influence POPLOG's library mechanisms.

    pop_autoload                        REF * LIBRARY
    prautoloadwarn                      REF * LIBRARY

    popincludelist                      REF * PROGLIST
    popautolist                         REF * LIBRARY
    popuseslist                         REF * LIBRARY

    popdisk                             REF * LIBRARY
    popdatalib                          REF * LIBRARY
    poplibdir                           REF * LIBRARY
    popliblibdir                        REF * LIBRARY
    popsunlib                           REF * LIBRARY


-- The POPLOG VM -------------------------------------------------------

These variables control various aspects of the POPLOG VM ("virtual
machine").

    dlocal_context                      REF * VMCODE
    dlocal_process                      REF * VMCODE
    pop_debugging                       REF * VMCODE
    pop_new_lvar_list                   REF * VMCODE
    pop_pas_mode                        REF * VMCODE
    pop_syntax_only                     REF * VMCODE
    pop_vm_compiling_list               REF * VMCODE
    pop_vm_dummy_idents                 REF * VMCODE
    pop_vm_exec_apply                   REF * VMCODE
    pop_vm_flags                        REF * VMCODE
    popexecute                          REF * VMCODE
    set_pop_pas_mode                    REF * VMCODE
    sysAND                              REF * VMCODE
    sysCALL                             REF * VMCODE
    sysCALLQ                            REF * VMCODE
    sysCALLS                            REF * VMCODE
    sysCOMPILE                          REF * VMCODE
    sysCONSTANT                         REF * VMCODE
    sysDLABEL                           REF * VMCODE
    sysDLVARS                           REF * VMCODE
    sysENDLBLOCK                        REF * VMCODE
    sysENDPROCEDURE                     REF * VMCODE
    sysERASE                            REF * VMCODE
    sysEXECUTE                          REF * VMCODE
    sysEXEC_COMPILE                     REF * VMCODE
    sysEXEC_OPTION_COMPILE              REF * VMCODE
    sysFIELD                            REF * VMCODE
    sysGLOBAL                           REF * VMCODE
    sysGOTO                             REF * VMCODE
    sysGO_ON                            REF * VMCODE
    sysIDENT                            REF * VMCODE
    sysIFNOT                            REF * VMCODE
    sysIFSO                             REF * VMCODE
    sysLABEL                            REF * VMCODE
    sysLBLOCK                           REF * VMCODE
    sysLCONSTANT                        REF * VMCODE
    sysLOCAL                            REF * VMCODE
    sysLVARS                            REF * VMCODE
    sysNEW_LABEL                        REF * VMCODE
    sysNEW_LVAR                         REF * VMCODE
    sysOR                               REF * VMCODE
    sysPASSIGN                          REF * VMCODE
    sysPLOG_ARG_PUSH                    REF * PROLOG
    sysPLOG_IFNOT_ATOM                  REF * PROLOG
    sysPLOG_RESTART                     REF * PROLOG
    sysPLOG_RESTORE                     REF * PROLOG
    sysPLOG_SAVE                        REF * PROLOG
    sysPLOG_TERM_SWITCH                 REF * PROLOG
    sysPOP                              REF * VMCODE
    sysPROCEDURE                        REF * VMCODE
    sysPUSH                             REF * VMCODE
    sysPUSHQ                            REF * VMCODE
    sysPUSHS                            REF * VMCODE
    sysSWAP                             REF * VMCODE
    sysSYNTAX                           REF * VMCODE
    sysUCALL                            REF * VMCODE
    sysUCALLQ                           REF * VMCODE
    sysUCALLS                           REF * VMCODE
    sysUFIELD                           REF * VMCODE
    sysUPASSIGN                         REF * VMCODE
    sysVARS                             REF * VMCODE
    sysdeclare                          REF * VMCODE


-- POP-11 Compiler -----------------------------------------------------

These variables hold information about the current state of the POP-11
compiler.

    current_section                     REF * SECTIONS
    define_headers                      REF * SYNTAX
    define_terminators                  REF * SYNTAX
    loadcompiler                        REF * POPCOMPILE
    loadwarning                         REF * POPCOMPILE
    pop11_convert_weakref               (not documented)
    pop11_define_declare                REF * POPCOMPILE
    pop11_define_props                  REF * POPCOMPILE
    pop11_testdef_code                  (not documented)
    pop11_vars_default_check            REF * POPCOMPILE
    pop_#_include_stack                 REF * PROGLIST
    pop_default_section                 REF * SECTIONS
    pop_expr_inst                       REF * POPCOMPILE
    pop_expr_item                       REF * POPCOMPILE
    pop_expr_prec                       REF * POPCOMPILE
    pop_expr_update                     REF * POPCOMPILE
    pop_pop11_flags                     REF * POPCOMPILE
    popclosebracket                     REF * POPCOMPILE
    popclosebracket_exec                REF * POPCOMPILE
    popfilename                         REF * MISHAPS
    poplastchar                         REF * CHARIO
    poplastitem                         REF * PROGLIST
    poplinenum                          REF * CHARIO
    proglist                            REF * PROGLIST
    proglist_macro_pair                 REF * PROGLIST
    proglist_state                      REF * PROGLIST


-- Errors & Debugging --------------------------------------------------

These variables modify the behaviour of POPLOG's error handler, and
various other debugging tools.

    pop_default_prmishap                REF * MISHAPS
    pop_mishap_doing_lim                REF * MISHAPS
    popmessages                         REF * MISHAPS
    popmishaps                          REF * MISHAPS
    popsyscall                          REF * MISHAPS
    popwarnings                         REF * MISHAPS
    prmishap                            REF * MISHAPS
    prwarning                           REF * MISHAPS

    pop_chain_trace                     HELP * TRACE
    pop_process_trace                   HELP * TRACE
    popmaxtraceindent                   HELP * TRACE
    poptraceindent                      HELP * TRACE
    systrace_pr                         HELP * TRACE
    systrace_proc                       HELP * TRACE
    tracing                             HELP * TRACE


-- Miscellaneous -------------------------------------------------------

Some miscellaneous variables.

    database                            HELP * DATABASE
    doctypelist                         REF * DOCUMENTATION
    member                              REF * LISTS
    pop_current_process                 REF * PROCESS
    pop_hash_lim                        REF * PROPS
    pop_readline_prompt                 REF * PROGLIST
    poparray_by_row                     REF * ARRAYS
    popmatchvars                        HELP * POPMATCHVARS
    readline                            REF * PROGLIST
    sys_destroy_dependent               REF * PROPS
    termcap_name                        REF * SYSUTIL       (Unix only)


--- C.all/help/popvars
--- Copyright University of Sussex 1991. All rights reserved. ----------
