-*-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 <ESCAPE>.
* 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 <user>@<site>, 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:

	<rub>	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).
	<esc>	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 <ESCAPE>:

Hitting <escape> while entering text puts you at a command level for
doing assorted esoteric things, from which you hit <CR> 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 <cr> 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 <cr> 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]
		<text>...

	and FSEND's:	[FOO@xx: <text> ... ]

	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 <hsname>;<xuname> 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
			<keyword> <text> ^_
	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.


<jname>.  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


