-- Grapevine: Lily: help command

-- [Indigo]<Grapevine>Lily>LilyHelp.mesa

-- Andrew Birrell 19-Oct-81 14:39:47
-- Michael Schroeder November 11, 1981 11:43 AM

DIRECTORY
Ascii,
GlassDefs
USING[ Handle ],
LilyCommandDefs
USING[ ],
LilyIODefs
USING[ Type ];

LilyHelp: PROGRAM
IMPORTS LilyIODefs
EXPORTS LilyCommandDefs =

BEGIN

Type: PROC[str: GlassDefs.Handle, b: STRING] =
BEGIN
lastChar: CHARACTER = 177C;
rPos: CARDINAL ← 0;
Read: PROC RETURNS[ c: CHARACTER ] =
BEGIN
IF rPos = b.length THEN RETURN[ lastChar ];
c ← b[rPos]; rPos ← rPos + 1;
END;
LilyIODefs.Type[str, Read, lastChar];
END;

HelpAnswer: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
""Answer <msg-number>"" constructs a message header suitable for a reply to the given message, then asks you to provide a message body. BS, Control-W and Control-R are supported. There is no limit on the total message size. After message composition, offers options to type the composed message, to edit or append to the composed message, to send the message, or to abandon the message. Abandoning the message causes the text to be unrecoverably lost. Type ""Help"" as an option for more information about the options."L];
END;

HelpCharacteristics: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
The ""Characteristics"" command is used to specify your terminal characteristics, if this should be necessary. It asks you for the line width (in characters) and page height (in lines). Typing 0 for either of these corresponds to an infinite value. Typing DEL instead of a number for either of these leaves the present value unchanged."L];
END;

HelpDelete: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
""Delete <msg-list>"" offers to delete one or more messages. There is no way of un-deleting a message. This command asks for confirmation before deleting each message. Reply ""Y"" or CR to confirm, ""N"" to deny (and continue with the command), or type DEL (or RubOut) to terminate the command. The last message encountered becomes the new current message. Note that, for example, ""Delete All"" may be used to look at all your messages, considering for each one whether to delete it. Deleting a message does not alter the numbering of the messages during a Lily session. If you delete all messages from an inbox during a session, however, then these messages will not be present at your next Lily session. (Deleting all messages is a good way to cleanout your inbox.) Otherwise the deleted message will still occupy a number on your next Lily session, unless the mailbox has been emptied by some other software."L];
END;

HelpExamine: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
""Examine <msg-list>"" types a table-of-contents summary for one or more messages (similar to MSG’s ""Headers"" command). The last message encountered becomes the new current message. During the execution of this command, type DEL (or RubOut) to terminate the command"L];
END;

HelpForward: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
""Forward <msg-number>"" allows you to forward a copy of a message. Prompts you for the normal fields of the message header; if you leave one of those fields empty, it will be omitted from the composed message. Then asks you to provide a covering note, then appends the forwarded message. BS, Control-W and Control-R are supported. There is no limit on the total message size. After message composition, offers options to type the composed message, to edit or append to the composed message, to send the message, or to abandon the message. Abandoning the message causes the text to be unrecoverably lost. Type ""Help"" as an option for more information about the options."L];
END;

HelpHelp: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
Use ""Help <Command-letter>"" for help on any individual command. Use ""Help ?"" for general documentation. Just type ""?"" for a list of commands."L];
END;

HelpIgnore: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
""Ignore <msg-list>"" marks the specified messages as if they had been typed. This causes them to be counted as ""Old"" rather than ""New"", so that they may more easily be ignored. The last message encountered becomes the new current message. During the execution of this command, type DEL (or RubOut) to terminate the command"L];
END;

HelpLogin: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
The ""Login"" command asks for your user name and password. Each is terminated by CR, ESC, or SP. BS, Control-W and Control-R are supported. The user name should normally include your registry, as in ""Birrell.pa"". You should be a registered user of the Grapevine system."L];
END;

HelpMaintain: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
The ""Maintain"" command invokes the Grapevine registration server database maintenance program as a sub-system. That program is documented elsewhere."L];
END;

HelpNext: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
The ""Next"" command finds the next non-deleted message in your mailboxes and makes that the current message. Types the contents of the new current message."L];
END;

HelpQuit: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
The ""Quit"" command terminates your Lily session, and closes the connection."L];
END;

HelpSend: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
The ""Send"" command allows you to compose and send a message. Prompts you for the normal fields of the message header; if you leave one of those fields empty, it will be omitted from the composed message. BS, Control-W and Control-R are supported. There is no limit on the total message size. After message composition, offers options to type the composed message, to edit or append to the composed message, to send the message, or to abandon the message. Abandoning the message causes the text to be unrecoverably lost. Type ""Help"" as an option for more information about the options."L];
END;

HelpType: PUBLIC PROC[str: GlassDefs.Handle] =
BEGIN
Type[str, "
""Type <msg-list>"" types the contents of one or more messages. If you use this to type a single message, you may type DEL (or RubOut) to terminate the command. If you use this for multiple messages, you may type DEL (or RubOut) to terminate typing a particular message; you will then be asked whether you want to continue with typing the remainder of the specified messages. At that time, type ""Y"" or CR to continue, or type ""N"" or DEL to return to command level."L];
END;

END.