File psl-1983/3-1/doc/nmode/nm-subsystems.ibm artifact ac2cd63392 part of check-in 255e9d69e6


,MOD
- R 44X (11 April 1983) <PSL.NMODE-DOC>NM-SUBSYSTEMS.ibm
PLA 97_LAS 80 0_FIR 2_INT 1 6.0_TYP 160 163 162 193_INP 12 101_MAR 2
,END
,PRO
201 OUT 160_202 OUT 163_203 OUT 162_204 OUT 193
205 INP 12 101_206 INP 12 102
,END
,DEFINE
 UNIT SPACE
 FUNCTION
,END

          201/NMODE Manual (Moving Up And Down Levels)                        Page 7-1


          202/7.  Moving Up And Down Levels


            201/Subsystems and recursive editing levels are two states in which you are
          temporarily doing something other than editing the visited file as usual.  For
          example,  you  might  be  editing the arguments prompted for by a M-X
          command, or using a browser.

          202/7.1  Subsystems

            201/A 202/subsystem 201/is an NMODE function which is an interactive program in its
          own right: it reads commands in a language of its own, and displays the
          results.  You enter a subsystem by typing an NMODE command which invokes
          it.  Once entered, the subsystem usually runs until a specific command to
          exit the subsystem is typed.  An example of an NMODE subsystem is the
          buffer-browser, invoked by typing C-X C-B.

            The commands understood by a subsystem are usually not like NMODE
          commands, because their purpose is something other than editing text.  In
          the buffer-browser, for instance, the commands are tailored to moving up and
          down a list of the existing buffers, reordering this list in various ways, and
          to  deleting  buffers.   In  NMODE,  most  commands  are  Control  or  Meta
          characters  because  printing  characters  insert  themselves.     In  most
          subsystems, there is no insertion of text, so non-Control non-Meta characters
          can be the commands.

            While you are inside a subsystem, the mode line identifies the subsystem by
          identifying the mode of the current buffer.  The special properties of the
          subsystem are due to the kinds of commands that are available in this mode,
          and to the keys that the mode associates with them.  Because each buffer has
          its own associated mode at any given time, if a user moves out of the buffer
          associated with the subsystem into an ordinary text buffer, he/she will have
          left the subsystem, even though he/she will not have used the normal
          command for doing so.

            Because each subsystem implements its own commands, we cannot guarantee
          anything about them.   However, there are conventions for what certain
          commands ought to do:

                  Space          Moves downwards, like C-N in NMODE.
                  Q              Exits normally.
                  Help or ?      Prints documentation on the subsystem's commands.

          Not all of these necessarily exist in every subsystem, however.

          202/7.2  Recursive Editing Levels

            201/A 202/recursive editing level 201/is a state in which part of the execution of one
          command involves doing some editing.  You may be editing the file you are
          working on, or you may be editing completely something totally different from
          what you were working on at top level.   Currently, the completion of
          extended commands, the preparation of prompted input strings, and the
          examination of buffers in the kill-some-buffers-command function all involve
          201/Page 7-2                            NMODE Manual (Recursive Editing Levels)


          recursive editing levels within which the full power of NMODE is available.

          202/7.3  Exiting Levels; Exiting NMODE

           201/L]
            On the hp9836, <STOP> will exit from NMODE to the hp9836 workstation top
          level command interpreter.  C-X C-Z will exit from NMODE into the PSL
          interpreter, as will C-] L (Lisp-L) in Lisp mode.

REDUCE Historical
REDUCE Sourceforge Project | Historical SVN Repository | GitHub Mirror | SourceHut Mirror | NotABug Mirror | Chisel Mirror | Chisel RSS ]