diff --git a/README.md b/README.md index 1b82f6fe..6888cfff 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,7 @@ from scratch. - INQUIR, user account database - PWORD, replacement for sys;atsign hactrn that requires registered logins - PANDA, user account management program + - SEND, REPLY, replacements for DDT :SEND 6. A brand new host table is built from the host table source and installed into SYSBIN; HOSTS3 > using H3MAKE. diff --git a/build/build.tcl b/build/build.tcl index c54ca1ef..2cc5679b 100644 --- a/build/build.tcl +++ b/build/build.tcl @@ -607,6 +607,18 @@ respond "*" ":pdump sysbin;panda bin\r" respond "*" ":link sys;atsign pword,sysbin;pword bin\r" respond "*" ":link sys;ts panda,sysbin;panda bin\r" +# sender +respond "*" ":midas sysbin;sender_sysen1;sender\r" +expect ":KILL" +respond "*" ":link sys;ts freply,sysbin;sender bin\r" +respond "*" ":link sys;ts send,sysbin;sender bin\r" +respond "*" ":link sys2;ts fr,sysbin;sender bin\r" +respond "*" ":link sys2;ts reply,sysbin;sender bin\r" +respond "*" ":link sys3;ts fs,sysbin;sender bin\r" +respond "*" ":link sys1;ts s,sys;ts send\r" +respond "*" ":link sys3;ts snd,sys;ts send\r" +respond "*" ":link sys3;ts sned,sys;ts send\r" + # ndskdmp tape respond "*" ":link kshack;good ram,.;ram ram\r" diff --git a/doc/info/sender.1 b/doc/info/sender.1 new file mode 100755 index 00000000..cff203f9 --- /dev/null +++ b/doc/info/sender.1 @@ -0,0 +1,299 @@ +-*-Text-*- +Last update 10:52pm Saturday, 13 March 1982 + +File: SENDER, Node: Top, Up: (DIR), Next: General + +SENDER is a program used to send messages to other users, be they on an +ITS, some ARPAnet site, or somewhere on the Chaosnet. + +SENDER behaves differently depending on the jname it is run under. See +menu item JNAMES for the list of recognized jobnames, and what they do. + + +* Menu: + +* General:: General outline of what it can do for you. Why use it? +* Control:: Control codes with special meanings, during input. +* Escape:: Command level entered by hitting . +* Errors:: Errors like (Can't) and what they mean. +* Jnames:: Correlates SENDERs running jnames to actions. + + +File: SENDER, Node: General, Next: Control, Up: Top + +SENDER is a single program that can take the place of + + o DDT's :SEND + o :QSEND (mostly) + o :REPLY and variants + o :LMSEND + +In its simplest use, as :SEND, you can send to a user anywhere. There +is no need for you to do :LMSEND for ChaosNet, and :QSEND for ArpaNet, +or whatever. Using SENDER, you just do :SEND @, and it gets +where it needs to. + +SENDER has these advantages over DDT's built-in :SEND: + + o Better editing + o Loading/Dumping of message text + o Allows specification of "From:" and "To:" fields + o Has a re-try and mail command + o Can do multiple-recipient sends + +The disadvantage of using SENDER over DDT's :SEND is that SENDER is a +program, and requires a job slot and all attached frills to work, while +DDT is *always* there, and you can always use it. This, however, is +not all so bad, seeing as how DDT also has the :OSEND command, which +does the same thing as :SEND normally does, no matter what SNDFLG is +set at. So using SENDER, you have the option of either :SEND (using +SENDER), or :OSEND (using :DDT). + +If you want to use SENDER, then what you do is put in ..SNDFLG any non- +zero value. This tells DDT that ":SEND" should look for the program +named SEND, and not use the built-in one. Then you just need a link or +translation of TS SEND to the binary (KP;SENDER BIN on MC), and you're +set. + + +File: SENDER, Node: Control, Next: Escape, Up: Top, Previous: General + +Control codes recognized while typing in text - SENDER's set of editing +characters is a superset of DDT's: + + is delete-back-character + ^U is delete-line + ^W is delete-back-word + +Also, there is + + ^T Transpose last two letters + ^R Retype line + ^Q Quote next character + ^L Retype entire text + ^D,^G Flush program - Must be confirmed if there's any text + +and lastly + + ^C Send message. + ^P Polygramme send (See node on Escape commands). + Enter alternate command mode + +A similar list can be obtained by typing [HELP] or ^_H anytime while +entering text. + + +File: SENDER, Node: Escape, Next: Errors, Up: Top, Previous: Control + +The command break entered by hitting : + +Hitting while entering text puts you at a command level for +doing assorted esoteric things, from which you hit to get back +to entering text. Commands known here are: + + A, I Append/Insert file. The specified file is tacked + onto the end of the text, and number of characters + loaded is shown. + + B Print very Brief list of these Meta commands, for + people who don't want to sit through the long one + (and since it can't be ^S-flushed) + + C Commented mail. Mails the text, putting the + comment [This was a failing send] and a dividing + line of dashes before the actual text - Nice if + the person you're sending to logs off and you + want them to know you *tried* to send. + + D Dump text. Dumps the message text to the specified + file, and shows the number of character saved. + + F Specify the "From:" field for this message. The + text is not parsed, just taken as a literal string. + The verbose header when this is done looks like + + [Message from FRUFRU at MIT-MC (really from Gronk) HH:MMxm] + + and the short header like + + [FRUFRU (Gronk): xxxxxxx ... ] + + Assuming "Gronk" was typed to the From: prompt, and you + are named FRUFRU (I don't know WHY you'd be named FRUFRU, + but there's no accounting for taste). + + H, ? Help - Prints a relatively short (compared to this one) + explanation of these Escape commands. It's relatively + LONG compared to the one given by 'B'. + + J Prints a short table of SENDER jnames and functions: + an exceedingly cut-down version of menu item JNAMES. + + K Kaosnet. When a message is determined to come from an + ITS site, the normal method of replying is via Core + Link Interrupt, or CLI (this is what DDT's send uses). + Doing a "K" toggles this setting, from CLI to Chaosnet, + and back again. + + M Mails the text of the message, then quits. + + N Next send. This takes the Next send physically in your + sends file, and parses it for name@site to reply to. + Note that the next physical send is the previous chron- + ological one. Next prints (n) and then the new name@site + where n is the number of the send in your file (top one + is 1, next is 2, etc) + + P Polygramme send. The rather dubious facility for sending + the message text to multiple recipients. This asks you + "Poly-To:" and takes a line of text. It then sends to the + current name@site (just like Send)... but once done, it + checks to see if you specified anything in the To-list. + If you did, it parses that string for the first name@site, + and then sends the message to that person, and then reads + the next, and sends, and so on. Note that the during a + Polygramme, the Send command is redefined to mean "Send + to the next person on the To-list". + + Q Quit. Must be confirmed if there is any text. + + R Reply. Use the 1st send in your sends file to get the + name@site from, then displays it. Note that this + command forces a re-open of your sends file, so that + a message which came after you've already begun will + be gotten, and not the one which was top When You + Started. + + S Send. Tries to send the message. If it fails, you get + the error (Can't), and return to Escape level. + + T To. Lets you enter explicitly the "To:" name@site for + this message. + + V Verbosity. Toggles the flag that tells whether this + message is to the have a full-length header, or a short + one. This flag only matters for CLI messages. + + W Prints the current name@site: who SENDER will try and + send to if you were to do "S" right now. + + Z Zero buffer. Must be confirmed. Zeroes out the message + buffer, actually just sets the length counter to 0. + + +File: SENDER, Node: Errors, Next: Jnames, Up: Top, Previous: Escape + +Errors that SENDER barfs at you, and what they mean. + + +(Can't) means that the message could not be sent. For CLI messages, + CLI could not be opened, or some such. Often re-trying will + succeed (unless the reason for failure was that no such user + was logged in). ARPAnet QSend-style messages could only fail + if the .MAIL. file couldn't be opened, which isn't likely. + For Chaosnet, who knows? I don't know enough about Chaosnet + to know what caused it. Read the error message supplied by + NETWRK. + +(Author?) means that SENDER could not figure out who to send to itself, + by parsing the sends file. Either there was a message there with + a header it did not understand, or NO header, or the message was + from yourself, or one of your jobs. + +"No." means you're an evil anti-social goon who ought not to do those + things! Shame on you!! + + +File: SENDER, Node: Jnames, Up: Top, Previous: Errors + +Correlations between SENDER's jobnames and functions. + + +S or SEND is like DDT's built-in :SEND command. It sends a message to + the user specified by you, in the form NAME@SITE. Normally, + this is given in JCL, but if it is left out, you are prompted + by "To:" and have the oppurtunity the type it in then. If you + wish, just hit to that prompt, and SENDER will try and + figure out who the message should go to by examining your + sends file, and picking out the name of the last person who + sent you a message. If SENDER was unable to determine the + author of the last message to you, it will give you the error + "Author?" and ask "To:" again. To abort the program now, just + hit again. + + +FS or FSEND is the same as SEND, except that the flag telling how + verbose the message header should be is initially set on + low verbosity. SEND's normal header (tween ITS') is like: + + [Message from FOO at MIT-xx HH:MMxm] + ... + + and FSEND's: [FOO@xx: ... ] + + See the node on Escape commands, specifically the "V"erbosity + toggle, for how to change this once the program has started. + + +LMSEND is like SEND, except that it chooes Chaosnet instead of CLI, + when sending to sites that are on both Chaosnet and Arpanet + This is only here so that people who used the old :LMSEND + will not be greatly confused and distraught and run in circles + when they say :LMSEND and it laughs at them. + + +RP or REPLY is like SEND, except that you are not expected to supply the + NAME@SITE for the message: It is automatically taken from your + sends file. Only if SENDER can't parse the file correctly will + it ask you, via "To:", who the message is for. At that point, + REPLY is identical to SEND. The long header used by REPLY, if + it gets the NAME@SITE itself and didn't need help, is like: + + [Reply from FOO at MIT-ZZ HH:MMpm] + + The header reverts back to "Message from..." if you were needed + to supply the recipient. + + +FR or FREPLY is analagous to FSEND. It does a REPLY but answers using + the short header format of FSEND. + + +RA stands for Reply-Abbreviated. The first word of JCL is expected to + be a keyword of up to six characters (any more are ignored). + SENDER looks for the file ; REPLY, and if it + exists, scans it, entry by entry, for a line starting with the + keyword you specified. If there is a match, the rest of the + file entry is used as the text of the message. If there is + no match, the keyword itself (capitalized) is used as text. + Since this is a REPLY-Abbreviated, the author is taken from + your sends file, ala REPLY. Entries in your REPLY keyword file + are of the form + ^_ + For example: + FOO This is an example.^_ + BYE Good-bye^_ + BUSY I am busy now. Go away...^_ + TEXT When I do :RA TEXT this text you are reading + now will be sent as the message.^_ + + If that were the entire contents of your REPLY file, and you had + done :RA MOOWAH, then the text of the message would be "Moowah". + The message header used is the short form... after all, this IS + Abbreviated. + + +SA stands for Send-Abbreviated. Is is analagous to RA except that the + first thing on the JCL line is assumed to be NAME@SITE, and the + SECOND is the keyword. + + +. If SENDER is run with a jname that is not any of those listed + above, then the jname itself, capitalized, is sent as text. For + example, if you made the link of TS YES to SENDER BIN, then doing + + :YES + would be equivilent to + :FR Yes^C + + diff --git a/src/sysen1/sender.397 b/src/sysen1/sender.397 new file mode 100644 index 00000000..93b2639d Binary files /dev/null and b/src/sysen1/sender.397 differ