Artifact 4c209d5419c6b92cb8ea05d5758b7dbfa5e2ce4f316b2143a6093e7de569ed71:
- File
psl-1983/3-1/doc/nmode/nm-subsystems.r
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 3217) [annotate] [blame] [check-ins using] [more...]
.so pndoc:nman .part NM-SUBSYSTEMS manual @Chapter[Moving Up And Down Levels] 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. @Section[Subsystems] @node("subsystems") A @dfn[subsystem] 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: @DoubleWideCommands{ 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. @Section[Recursive Editing Levels] @node("recursive") @Index{Recursive Editing Level} @Index{Mode Line} A @dfn[recursive editing level] 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 recursive editing levels within which the full power of NMODE is available. @Section[Exiting Levels; Exiting NMODE] @index[stop] @index[C-X C-Z] @index[C-] L] @fncindex{exit-nmode} @fncindex{nmode-exit-to-superior} @index{exiting} 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.