-- Grapevine: Lily: help command (part 2) -- [Indigo]<Grapevine>Lily>LilyHelp2.mesa -- Andrew Birrell 19-Oct-81 14:39:47 DIRECTORY Ascii, GlassDefs USING[ Handle ], LilyCommandDefs USING[ ], LilyIODefs USING[ Type ]; LilyHelp2: 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; GeneralDocumentation: PUBLIC PROC[str: GlassDefs.Handle] = BEGIN Type[str, " Type DEL (or RubOut) to terminate this type-out. This is ""Lily"", the software for unintelligent terminals to access the Grapevine message system. This software is suitable only for messages in mailboxes on Grapevine servers (not MAXC or on an IFS). DEL (or RubOut) at any time will terminate any type-out and bring you back to command (or sub-command) status. Whenever you are typing text, BS (or Control-H or Control-A) erases the preceding character, Control-W erases the preceding word, and Control-R retypes the current piece of text for you. Text input may always be terminated by ESC, and may be terminated by SP or CR depending on context. When you are asked for confirmation, type ""Y"" or CR to confirm; type ""N"" to deny; type DEL (or RubOut) to abandon the command (or sub-command). Lily attaches message numbers to the messages in your mailboxes. These numbers do not change during a Lily session (unless you log in again), and are not changed by deleting messages. Lily will not provide access to messages which arrive in your mailboxes after you log in. Lily commands are invoked by typing their initial letter. Only the ""Characteristics"", ""Login"", ""Maintain"" and ""Quit"" commands are available before you log in. "L]; HelpCommands[str]; Type[str, " A <msg-list> is a sequence of characters terminated by <SP>, <CR> or <ESC>, of one of the following forms: 1) empty means the current message 2) A all your messages 3) L last msg-list of the form (7), (8), (9) or (10) 4) N new (not-typed) messages (see also ""Ignore"" command) 5) O old (previously-typed) messages 6) R the remainder of your mailbox 7) number a single message 8) number:number an inclusive range of messages (may be decreasing) 9) number-number e.g. ""23-5"" means ""23:25"" 10) <item>,<item> where <item> is one of (7), (8), (9) or (10). For example, ""3,5,11:14,21:19,123-4,9"" is a <msg-list> meaning messages 3,5,11,12,13,14,21,20,19,123,124,9 (in that order). A <msg-number> is an <msg-list> of the form (1) or (7). A command whose argument is a <msg-list> is applied to each of the messages specified by the <msg-list>. When the argument specifies that the command is applied to multiple messages, typing DEL will allow you to exit from the command. Comments, complaints, suggestions and bug reports should be sent to LaurelSupport.pa. There follows 'Help' information on the available commands. Type DEL (or RubOut) to terminate this type-out. "L]; END; HelpCommands: PUBLIC PROC[str: GlassDefs.Handle] = BEGIN Type[str, "The following commands are available: A(nswer) <msg-number> C(haracteristics of terminal) D(elete) <msg-list> E(xamine) <msg-list> F(orward) <msg-number> H(elp) <command-letter> I(gnore) <msg-list> L(ogin) <user-name> <password> M(aintain sub-system) [confirm] N(ext) Q(uit) [confirm] S(end) T(ype) <msg-list>"L]; END; HelpSendOptions: PUBLIC PROC[str: GlassDefs.Handle] = BEGIN Type[str, " Type ""?"" for a list of available options. Type DEL (or RubOut) to terminate this type-out. The following options are available to you for handling the composed message. An option is chosen by typing its initial letter after the ""Option:"" prompt. ""Append"" allows you to append to the composed message. ""Edit"" will allow you to perform primitive editing operations on the composed message. The operations are performed on a single pass through the message, performing repeatedly ""search for pattern"" followed by ""append to matched text"". A pattern is a sequence of characters, possibly including CR's; the character * matches the smallest suitable sequence of zero or more characters; type '* if you really mean asterisk, and type '' if you really mean '. BS, Control-W and Control-R are supported while typing in the pattern. The editor searches for the first match of the pattern from the current position in the message. If a match is found, you are asked for new text to be placed after the match. BS, Control-W and Control-R are supported (including applying them to erase to before the matched text), and the text may contains CR's. To terminate editing, type an empty pattern. To abandon editing (restoring the previous composed message), type DEL when asked for a pattern. ""Help"" will produce this type-out. ""Quit"" will destroy the composed message and return you to normal command level. The composed message is irrecoverably lost. ""Send"" will attempt to send the composed message. The message header is checked for syntactic correctness, and the recipients are checked for validity. Public distribution lists are expanded, and duplicate recipients are eliminated, by the mail servers later in the delivery process. ""Type"" will type the composed message for you. Note that the ""From"" and ""Date"" fields of the message header are normally supplied by Lily when you actually send the message; if you edit the message to include a ""From"" field, Lily will insert a ""Sender"" field when you actually send the message."L]; END; END.