Merge branch 'master' of git.sv.nongnu.org:/srv/git/nmh
authorDavid Levine <levinedl@acm.org>
Wed, 29 Feb 2012 22:36:59 +0000 (16:36 -0600)
committerDavid Levine <levinedl@acm.org>
Wed, 29 Feb 2012 22:36:59 +0000 (16:36 -0600)
Conflicts:
docs/historical/README

136 files changed:
docs/historical/README [deleted file]
docs/historical/bboards/Makefile [deleted file]
docs/historical/bboards/bboards.tex [deleted file]
docs/historical/bboards/refs.tex [deleted file]
docs/historical/bboards/text.tex [deleted file]
docs/historical/bboards/version [deleted file]
docs/historical/bboards/version.sh [deleted file]
docs/historical/bboards/version.tex [deleted file]
docs/historical/beginners/Makefile [deleted file]
docs/historical/beginners/beginners.tex [deleted file]
docs/historical/changes/MHCHANGES [deleted file]
docs/historical/changes/Makefile [deleted file]
docs/historical/changes/mh-changes.ms [deleted file]
docs/historical/doclib/READ-ME [deleted file]
docs/historical/doclib/amstex.tex [deleted file]
docs/historical/doclib/article.tex [deleted file]
docs/historical/doclib/dcustom.tex [deleted file]
docs/historical/doclib/diss.sty [deleted file]
docs/historical/doclib/sfwmac.tex [deleted file]
docs/historical/doclib/trademark.tex [deleted file]
docs/historical/mh4/MHCHANGES [deleted file]
docs/historical/mh4/Makefile [deleted file]
docs/historical/mh4/mh4.tex [deleted file]
docs/historical/mh4/refs.tex [deleted file]
docs/historical/mh4/text.tex [deleted file]
docs/historical/mh4/version [deleted file]
docs/historical/mh4/version.sh [deleted file]
docs/historical/mh4/version.tex [deleted file]
docs/historical/mh4mm/Makefile [deleted file]
docs/historical/mh4mm/mh4mm.tex [deleted file]
docs/historical/mh5/MHCHANGES [deleted file]
docs/historical/mh5/Makefile [deleted file]
docs/historical/mh5/diagram1.tex [deleted file]
docs/historical/mh5/diagram2.tex [deleted file]
docs/historical/mh5/mh5.tex [deleted file]
docs/historical/mh5/refs.tex [deleted file]
docs/historical/mh5/text.tex [deleted file]
docs/historical/mh5/version [deleted file]
docs/historical/mh5/version.sh [deleted file]
docs/historical/mh5/version.tex [deleted file]
docs/historical/mh6.5/MHCHANGES [deleted file]
docs/historical/mh6.5/Makefile [deleted file]
docs/historical/mh6.5/READ-ME [deleted file]
docs/historical/mh6.5/bcustom.bib [deleted file]
docs/historical/mh6.5/lcustom.tex [deleted file]
docs/historical/mh6.5/mh6.bbl [deleted file]
docs/historical/mh6.5/mh6.major [deleted file]
docs/historical/mh6.5/mh6.minor [deleted file]
docs/historical/mh6.5/mh6.tex [deleted file]
docs/historical/mh6.5/mh6.vrsn [deleted file]
docs/historical/mh6.5/sfwdoc.bib [deleted file]
docs/historical/mh6.5/sfwmac.sty [deleted file]
docs/historical/mh6.5/trademark.tex [deleted file]
docs/historical/mh6.5/version.sh [deleted file]
docs/historical/mh6/MHCHANGES [deleted file]
docs/historical/mh6/Makefile [deleted file]
docs/historical/mh6/READ-ME [deleted file]
docs/historical/mh6/lcustom.tex [deleted file]
docs/historical/mh6/mh6.bbl [deleted file]
docs/historical/mh6/mh6.tex [deleted file]
docs/historical/mh6/sfwmac.sty [deleted file]
docs/historical/mh6/trademark.tex [deleted file]
docs/historical/mh6/version [deleted file]
docs/historical/mh6/version.sh [deleted file]
docs/historical/mh6/version.tex [deleted file]
docs/historical/multifarious/Makefile [deleted file]
docs/historical/multifarious/appendixA.tex [deleted file]
docs/historical/multifarious/diagram2.tex [deleted file]
docs/historical/multifarious/diagram3.tex [deleted file]
docs/historical/multifarious/figure0.pic [deleted file]
docs/historical/multifarious/figure0.tex [deleted file]
docs/historical/multifarious/figure1.pic [deleted file]
docs/historical/multifarious/figure1.tex [deleted file]
docs/historical/multifarious/multifarious.tex [deleted file]
docs/historical/multifarious/refs.tex [deleted file]
docs/historical/multifarious/text.tex [deleted file]
docs/historical/multifarious/version [deleted file]
docs/historical/multifarious/version.sh [deleted file]
docs/historical/multifarious/version.tex [deleted file]
docs/historical/mznet/Makefile [deleted file]
docs/historical/mznet/READ-ME [deleted file]
docs/historical/mznet/figure1.pic [deleted file]
docs/historical/mznet/figure1.tex [deleted file]
docs/historical/mznet/figure2.pic [deleted file]
docs/historical/mznet/figure2.tex [deleted file]
docs/historical/mznet/mznet.bbl [deleted file]
docs/historical/mznet/mznet.tex [deleted file]
docs/historical/realwork/Makefile [deleted file]
docs/historical/realwork/appendixA.tex [deleted file]
docs/historical/realwork/appendixB.tex [deleted file]
docs/historical/realwork/diagram1.tex [deleted file]
docs/historical/realwork/diagram10.tex [deleted file]
docs/historical/realwork/diagram2.tex [deleted file]
docs/historical/realwork/diagram3.tex [deleted file]
docs/historical/realwork/diagram4.tex [deleted file]
docs/historical/realwork/diagram5.tex [deleted file]
docs/historical/realwork/diagram6.tex [deleted file]
docs/historical/realwork/diagram7.tex [deleted file]
docs/historical/realwork/diagram8.tex [deleted file]
docs/historical/realwork/diagram9.tex [deleted file]
docs/historical/realwork/realwork.tex [deleted file]
docs/historical/realwork/refs.tex [deleted file]
docs/historical/realwork/text.tex [deleted file]
docs/historical/realwork/version [deleted file]
docs/historical/realwork/version.sh [deleted file]
docs/historical/realwork/version.tex [deleted file]
docs/historical/trusted/Makefile [deleted file]
docs/historical/trusted/appendixA.tex [deleted file]
docs/historical/trusted/appendixB.tex [deleted file]
docs/historical/trusted/appendixC.tex [deleted file]
docs/historical/trusted/diagramA1-1.tex [deleted file]
docs/historical/trusted/diagramA1-2.tex [deleted file]
docs/historical/trusted/diagramA1-3.tex [deleted file]
docs/historical/trusted/diagramA1-4.tex [deleted file]
docs/historical/trusted/diagramB1-1.tex [deleted file]
docs/historical/trusted/diagramB1-2.tex [deleted file]
docs/historical/trusted/figure1.pic [deleted file]
docs/historical/trusted/figure1.tex [deleted file]
docs/historical/trusted/figure2.pic [deleted file]
docs/historical/trusted/figure2.tex [deleted file]
docs/historical/trusted/figure3.pic [deleted file]
docs/historical/trusted/figure3.tex [deleted file]
docs/historical/trusted/refs.tex [deleted file]
docs/historical/trusted/table4.tex [deleted file]
docs/historical/trusted/text.tex [deleted file]
docs/historical/trusted/trusted.tex [deleted file]
docs/historical/trusted/version [deleted file]
docs/historical/trusted/version.sh [deleted file]
docs/historical/trusted/version.tex [deleted file]
docs/historical/tutorial/Makefile [deleted file]
docs/historical/tutorial/refs.tex [deleted file]
docs/historical/tutorial/text.tex [deleted file]
docs/historical/tutorial/tutorial.tex [deleted file]
docs/historical/tutorial/version [deleted file]
docs/historical/tutorial/version.sh [deleted file]
docs/historical/tutorial/version.tex [deleted file]

diff --git a/docs/historical/README b/docs/historical/README
deleted file mode 100644 (file)
index e5c7666..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-The most recent versions of the documents in this directory were
-downloaded from ftp://ftp.vim.org/pub/mail/mh/doc/
-
-These older versions:
-  ADMIN-19910201.txt
-  MH-19910201.txt
-  MH-19921214.pdf
-  MH-19921214.txt
-were downloaded from ftp://munnari.oz.au/pub/mh/doc/
-
-designOfMH.pdf was downloaded from
-http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA257836
-
-The sources for the papers in these directories:
-  bboards/
-  beginners/
-  changes/
-  doclib/
-  mh4/
-  mh4mm/
-  mh5/
-  mh6.5/
-  mh6/
-  multifarious/
-  mznet/
-  realwork/
-  trusted/
-  tutorial/
-were downloaded from
-http://stuff.mit.edu/afs/sipb/project/sipb-athena/src/mh/papers/
-
-
-The README below is retained in its original form for posterity.  All
-of the txt (.doc and .tty) files have been renamed to .txt.  All of
-the postscript (.ps) files have been converted to pdf using ps2pdf.
-
-D. Levine  28 Feb 2012
-
-------------------------------------------------------------------------
-------------------------------------------------------------------------
-
-mh/doc/README
-
-These are formatted versions of the major MH documents (written
-using the troff "-ms" and "-me" macro packages).  The ".doc" files
-are formatted for 66 lines/page:
-
-  ADMIN.doc    - The MH Administrator's Manual - how to configure MH
-  MH.doc       - The MH User's Manual
-  changes.doc  - Changes from MH 6.6 to MH 6.8
-  mh-gen.doc   - The "READ-ME" file - how to generate MH (aka mh-gen(8))
-
-Postscript versions are also available:
-
-  ADMIN.ps     - The MH Administrator's Manual - how to configure MH
-  MH.ps                - The MH User's Manual
-  changes.ps   - Changes from MH 6.6 to MH 6.8
-  mh-gen.ps    - The "READ-ME" file - how to generate MH (aka mh-gen(8))
-
-------------------------------------------------------------------------
-
-These are postscript conversions of the MH papers which were written
-using the TeX typesetting language:
-
-  bboards.ps           - The UCI BBoards Facility
-  beginners.ps         - UCI MH for Beginners
-  mh4mm.ps             - MH for MM users
-  mh6.ps               - Changes from MH 6.0 to MH 6.5 for 4.3BSD
-  multifarious.ps      - MH: A Multifarious User Agen
-  mznet.ps             - MZnet - Mail Service for Personal Micro Comp. Sys.
-  realwork.ps          - MH.5 - How to process 200 messages...
-  trusted.ps           - Design of the TTI Prototype Trusted Mail Agent
-  tutorial.ps          - The MH Tutorial
-
-These conversions have been provided because they may be of use to some
-sites who retrieved MH using FTP, and who do not have TeX to typeset
-the papers themselves.  Of course, all recipients of an MH distribution
-tape receive a complete set of laser-printed manuals.
-
-These conversions were generated with the "dvips" program.  I have
-printed them on an Imagen 5320 w/ Turboscript, and the output is
-identical to the original "dvi" versions of these papers.
-
-As yet, I have had no success downloading the postscript files to a Mac-
-intosh, and printing them on a Laserwriter.  If you are able to generate
-copies of these papers which will print (identically to the originals or
-otherwise) on a Laserwriter, please contact "Bug-MH@ICS.UCI.EDU".
-
-------------------------------------------------------------------------
-
-These files are tty-readable conversions of the MH papers which were
-written using the TeX typesetting language:
-
-  bboards.tty          - The UCI BBoards Facility
-  beginners.tty                - UCI MH for Beginners
-  mh4mm.tty            - MH for MM users
-  mh6.tty              - Changes from MH 6.0 to MH 6.5 for 4.3BSD
-  multifarious.tty     - MH: A Multifarious User Agen
-  mznet.tty            - MZnet - Mail Service for Personal Micro Comp. Sys.
-  realwork.tty         - MH.5 - How to process 200 messages...
-  trusted.tty          - Design of the TTI Prototype Trusted Mail Agent
-  tutorial.tty         - The MH Tutorial
-
-These conversions have been provided because they may be of use to some
-sites who retrieved MH using FTP, and who do not have TeX or a laser
-printer on which to print the papers.  If you have a Postscript
-printer, you may want to retrieve the Postscript conversion of these
-papers, available in a different tar archive.
-
-Of course, all recipients of an MH distribution tape receive a complete
-set of laser-printed manuals, and these conversions are not a
-substitute for properly-formatted copies of the originals.
-
-The conversion was generated by the "dvi2tty" program.  As full use of
-TeX's rich typesetting environment was used in writing many of these
-papers, and since the output is intended for a line printer, it is
-necessarily quite primitive.
-
-Font changes and special character representations are lost entirely.
-White-space between words may be deleted or expanded, especially near
-punctuation characters.  Blank lines may be added or deleted.
-
-Since typeset lines are typically longer than 80 tty characters, the
-output has been generated for 132-colunm output devices.  A typical
-page has about 76 lines.  Pages are separated by a formfeed character.
-
-/JLR
diff --git a/docs/historical/bboards/Makefile b/docs/historical/bboards/Makefile
deleted file mode 100644 (file)
index 9a8885e..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-#######################################################################
-# Instructions to Make, for generation of nice-looking papers using TeX
-#######################################################################
-
-.SUFFIXES:     .pic .web .tex .dvi .imp
-
-.pic.tex:;     tpic $<
-
-.web.tex:;     sh -c 'if weave $<; then exit 0; else rm $@; exit 1; fi'
-
-.tex.dvi:;     sh -c 'if TEXINPUTS=../doclib:.:${TEXINPUTS} tex \
-                       \\nonstopmode\\input $<\\bye; \
-                         then exit 0; else rm $@; exit 1; fi'
-
-.dvi.imp:;     dviimp $(DFLAGS) -i $@ $<
-
-
-#############################################################
-# Here it is...
-#############################################################
-
-all:           i-all
-print:         i-print
-
-
-#############################################################
-# bboards
-#############################################################
-
-i-all:         bboards.dvi
-
-i-print:       bboards.dvi true
-               dvisp -J BBoards bboards.dvi
-
-i-count:       true
-               detex text.tex | wc -cw
-
-
-# customization files, et. al., not included below
-bboards.dvi:   version.tex
-
-version.tex:   bboards.tex text.tex refs.tex version.sh
-               @: version.sh
-
-true:;
-
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-               rm -f bboards.dvi bboards.imp
-
-clean:;                rm -f bboards.lof bboards.log bboards.lot bboards.toc _*
diff --git a/docs/historical/bboards/bboards.tex b/docs/historical/bboards/bboards.tex
deleted file mode 100644 (file)
index f2e25f6..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-% run this through PhD-TeX
-
-\input dcustom
-\articlestyle
-\draftfalse
-\input version
-
-\input sfwmac
-
-\header
-    The Rand MH Message Handling System:\\\\
-       The UCI BBoards Facility\title
-    Marshall T.~Rose$^\dagger$\author
-    \versiondate/\info
-\footnote{}{\hskip -\parindent $^\dagger$
-Computer Mail: {\tx MRose@NRTC.NORTHROP.COM}.}
-
-\centerline{\sc Abstract}
-{\rightskip=0pt\narrower\narrower
-\noindent
-This document discusses how to process BBoards using the Rand \MH/ system.
-In particular,
-this guide discusses:
-checking the status of a BBoard,
-viewing new messages,
-archive handling,
-composing mail destined for a BBoard,
-and replying to a message posted to a BBoard.
-
-Although this document is based on the standard \MH/ user manual\cite{MH},
-this document is meant to supplement, not supersede,
-that lengthier work.
-
-Comments concerning this documentation should be addressed to the Internet
-mailbox {\tx Bug-MH@ICS.UCI.EDU}.
-\par}
-
-\input text
-\input refs
-\printcontents
-\unskip\footnote{}{\hskip -\parskip This document (version \versiontag/)
-was \TeX set \today\ with DISS.STY v\version.}
-\showsummary
-
-\bye
diff --git a/docs/historical/bboards/refs.tex b/docs/historical/bboards/refs.tex
deleted file mode 100644 (file)
index 4d9b8b7..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-\let\journalinfo=\jourinfo
-\let\thesis=\book                      % experimental
-\let\thesisinfo=\bookinfo              %  ..
-
-\references
-
-\ref{MH}
-\by M.T.~Rose, J.L.~Romine.
-\paper The Rand \MH/ Message Handling System: User's Manual
-\paperinfo UCI Version
-\other
-\publ Department of Information and Computer Science
-\publaddr University of California, Irvine
-\month July\year 1984
-\endref
-
-\ref{MH.TUT}
-\by M.T.~Rose.
-\paper The Rand MH Message Handling System: Tutorial
-\other
-\publ Department of Computer and Information Sciences
-\publaddr University of Delaware
-\month October\year 1984
-\endref
-
-\endreferences
diff --git a/docs/historical/bboards/text.tex b/docs/historical/bboards/text.tex
deleted file mode 100644 (file)
index e8abccf..0000000
+++ /dev/null
@@ -1,537 +0,0 @@
-% begin text
-\banner
-\section{Acknowledgements}
-The \MH/ system described herein is based on the original Rand \MH/ system.
-It has been extensively developed (perhaps too much so) by Marshall Rose and
-John Romine at the University of California, Irvine.
-Einar Stefferud, Jerry Sweet, and Terry Domae provided numerous suggestions
-to improve the UCI version of \MH/.
-
-In particular, the UCI BBoards facility,
-which was suggested by Einar Stefferud,
-has been in place at the University of California, Irvine
-(in one form or another) for the last two and one-half years.
-The UCI BBoards facilities runs under both \MMDF/ and {\sf SendMail},
-and, in a more restricted form, under stand-alone \MH/.
-
-\section{Disclaimer}
-The Regents of the University of California wish to make it known that:
-\bigquote
-Although each program has been tested by its contributor,
-no warranty, express or implied,
-is made by the contributor or the University of California,
-as to the accuracy and functioning of the program
-and related program material,
-nor shall the fact of distribution constitute any such warranty,
-and no responsibility is assumed by the contributor
-or the University of California in connection herewith.
-\endbigquote
-
-\section{Scope}
-This document explains how to use the UCI BBoards facility to a user familiar
-with \MH/ and the \unix/ operating system in general.
-A large degree of expertise is not assumed.
-This document does not attempt to introduce \MH/ to the novice user
-(for that task, consult the \MH/ tutorial known as \cite{MH.TUT}).
-Additional information on the programs discussed here
-(particularly \pgm{bbc\/}) is to be found in \cite{MH}.
-
-\section{Conventions}
-In this document,
-certain \TeX -formatting conventions are adhered to:
-\smallskip
-{\advance\leftskip by\parindent
-\item{1.} The names of \unix/ commands, such as \pgm{comp},
-are presented in {\it text italics}.
-\item{2.} Arguments to programs, such as \arg{msgs},
-are presented in {\tt typewriter style} and delimited by single-quotes.
-\item{3.} \unix/ pathnames and envariables,
-such as \file{/usr/uci/} and \file{\$SIGNATURE},
-are presented in {\sl slanted roman}.
-\item{4.} Text presenting an example, such as
-\example comp\ -editor\ zz\endexample
-is presented in {\tt typewriter style}.
-\smallskip}
-
-\section{Introduction}
-\MH/ is a very powerful message handling system that runs under the \unix/
-operating system.
-One of the many features which \MH/ offers is an interface to the UCI BBoards
-facility.
-This facility permits the efficient distribution of interest group messages
-on a single host, a group of hosts under a single administration, and the
-ARPA Internet community.
-
-Described simply, a interest group is composed of a number of subscribers
-with a common interest.
-These subscribers post mail to a single address, known as a
-{\it distribution} address.
-From this distribution address, a copy of the message is sent to each
-subscriber.
-Each group has a {\it moderator},
-which is the person that runs the the group.
-This moderator can usually be reached at a special address,
-known as a {\it request} address.
-Usually, the responsibilities of the moderator are quite simple,
-since the mail system handles the distribution to subscribers automatically.
-In some cases, the interest group,
-instead of being distributed directly to its subscribers,
-is put into a {\it digest} format by the moderator and then sent to the
-subscribers.
-Although this requires more work on the part of the moderator,
-such groups tend to be better organized.
-
-Unfortunately, there are a few problems with the scheme outlined above.
-First, if two users on the same host subscribe to the same interest group,
-two copies of the message get delivered.
-This is wasteful of both processor and disk resources.
-
-Second,
-some of these groups carry a lot of traffic.
-Although subscription to an group does indicate interest on the part of a
-subscriber,
-it is usually not interesting to get $50$ messages or so delivered to 
-the user's private maildrop each day,
-interspersed with {\it personal} mail,
-that is likely to be of a much more important and timely nature.
-
-Third, if a subscriber on the distribution list for a group becomes ``bad''
-somehow,
-the originator of the message and not the moderator of the group is notified.
-It is not uncommon for a large list to have $10$ or so bogus addresses present.
-This results in the originator being flooded with ``error messages'' from
-mailers across the ARPA Internet stating that a given address on the list was
-bad.
-Needless to say,
-the originator usually could not care less if the bogus addresses got a copy
-of the message or not.
-The originator is merely interested in posting a message to the group at large.
-Furthermore, the moderator of the group does care if there are bogus
-addresses on the list,
-but ironically does not receive notification.
-
-To solve all of these problems,
-the UCI BBoards facility introduces a new entity into the picture:
-all interest group mail is handled by a special component of the mail system.
-The distribution address maps to a special {\it channel} that performs
-several actions.
-First, if local delivery is to be performed,
-then a copy of the message is placed in a global maildrop for the interest
-group with a timestamp and a unique number.
-Local users can read messages posted for the interest group by reading the
-file.
-Second, if further distribution is to take place,
-a copy of the message is sent to the distribution address in such a way that
-if any of the addresses are bogus,
-the failure notice is sent to the maintainer of the group and not the
-originator.
-
-This scheme has several advantages:
-First, messages delivered to the host are processed and saved once
-in a globally accessible area.
-The UCI BBoards facility supports software which allows a user to query the
-interest group for new messages and to read those messages in the \MH/-style.
-Second, once a host subscribes to an interest group,
-a user can add or remove him/herself from the list without contacting the
-moderator.
-Third, a hierarchical distribution scheme can be constructed to further
-reduce the amount of message traffic.
-Fourth, errors are prevented from propagating.
-When an address on the distribution list goes bad,
-the request address immediately responsible for the address is notified.
-Usually, this is the local PostMaster and not the group moderator.
-
-In addition to solving the problems outlined above,
-the UCI BBoards facility supports several other capabilities.
-BBoards may be automatically archived in order to conserve disk space and
-reduce processing time when reading them.
-
-Special alias files may be generated which allow the \MH/ user to shorten
-address type-in.
-For example, instead of sending to \eg{SF-Lovers@Rutgers},
-a user of \MH/ usually sends to \eg{SF-Lovers} and the \MH/ aliasing
-facility automatically makes the appropriate expansion in the headers of the
-outgoing message.
-Hence, one need only know the name of a interest group and not its address.
-
-Finally, the UCI BBoards facility supports {\it private} interest groups
-using the \unix/ group access mechanism.
-This allows a group of people on the same or different machines to conduct a
-private discussion.
-
-The practical upshot of all this is that the UCI BBoards facility automates
-the vast majority of BBoards handling from the point of view of both the
-PostMaster and the user.
-
-\section{BBoard Handling}
-Usually the term {\it BBoard} is used interchangeably with the terms
-{\it discussion group} and {\it interest group}.
-This is true of the discussion that follows.
-
-The messages for a BBoard delivered locally are kept in the same format as
-a maildrop.%
-\nfootnote{Actually,
-your site might be running with all BBoards kept on a single host.
-\MH/ supports the remote access of BBoards using a modified version of the
-ARPA Post Office Protocol (POP).
-This has the advantage that it saves a lot of disk space,
-and incurs only a modest performance penalty.}
-Unlike the user's private maildrop however,
-the \pgm{inc} program is not run to incorporate new BBoard messages into
-the user's \MH/ \eg{+inbox} folder.
-The programs which are used will be discussed momentarily.
-
-Each message in a BBoard maildrop has a unique number and a timestamp.
-The number, called the {\it BBoard-ID}, is always ascending.
-The BBoard-ID of a message should {\bf NOT} be confused with the message
-number of a message, which can change as messages are removed from the BBoard.
-The BBoard-ID is a value which is unique for every message delivered locally
-to the BBoard.
-
-To read BBoards, the \MH/ user invokes \pgm{bbc}.
-The \pgm{bbc} program has several switches to direct it's action.
-The \switch{topics} switch to \pgm{bbc} tells the \MH/ user about the
-status of a BBoard.
-The \switch{check} switch to \pgm{bbc} lets the \MH/ user check on the
-activity of a BBoard.
-The \switch{read} switch to \pgm{bbc} invokes the \pgm{msh} program on the
-BBoard.
-\pgm{msh} is a monolithic program which contains most of the functionality of
-\MH/ in a single program.
-These commands are now discussed in greater detail.
-
-\subsection{BBoard status}
-The \switch{topics} option to the \pgm{bbc} program can be used to report
-information about a BBoard that does not pertain to the user's reading habits.
-If the \MH/ users types \example bbc\ -topics\endexample
-then \pgm{bbc} will list the following information for all BBoards received
-on the host:
-\smallskip
-{\advance\leftskip by\parindent
-\item{$\bullet$} the official name of the BBoard
-\item{$\bullet$} the number of messages delivered to the BBoard
-(but not necessarily present)
-\item{$\bullet$} the date and time of the last message delivered to the BBoard
-\medskip}
-\noindent
-In addition to \switch{topics},
-if the \switch{verbose} option is given to \pgm{bbc},
-then more information is listed:
-\smallskip
-{\advance\leftskip by\parindent
-\item{$\bullet$} any aliases the BBoard is known as
-\item{$\bullet$} the local leaders of the BBoard
-\item{$\bullet$} the file that the BBoard is locally delivered to
-\item{$\bullet$} the ``global'' distribution address
-\item{$\bullet$} the ``global'' request address
-\item{$\bullet$} the host that distributes the BBoard to the local host
-\item{$\bullet$} the addresses to which this host distributes
-\item{$\bullet$} miscellaneous information (presently only archiving status)
-\medskip}
-\noindent
-Naturally, \pgm{bbc} can be invoked with the \switch{topics} option and one or
-more BBoard names listed on its command line.
-For example \example bbc\ -topics\ unix-wizards\endexample is completely
-acceptable~---~it tells \pgm{bbc} to report the status of the BBoard
-\eg{unix-wizards}.
-
-\subsection{BBoard checking}
-The \switch{check} option to the \pgm{bbc} program can be used to check for
-new BBoard messages in a synchronous fashion
-(i.e., when you specifically ask for it).
-The \MH/ users types \example bbc\ -check\endexample and \pgm{bbc} consults
-the profile entry for \eg{bboards:} in the user's \profile/ file.
-For each BBoard listed,
-\pgm{bbc} prints one of several messages depending on the status of both the
-BBoard and the user's reading habits
-(for example, in the case of the mythical BBoard \eg{foo\/}):
-\smallskip
-{\advance\leftskip by\parindent
-\item{1.} \eg{foo -- n items unseen}\hbreak
-This message indicates items in the BBoard have not been seen by the user.
-When \pgm{bbc} is invoked with the \eg{quiet} switch,
-this is the only informative message that \pgm{bbc} will print out.
-Users of \MH/ usually put \example bbc\ -check\ -quiet\endexample
-in their \file{\$HOME/.login} file.
-
-\item{2.} \eg{foo -- empty}\hbreak
-The BBoard is empty.
-
-\item{3.} \eg{foo -- n items (none seen)}\hbreak
-The BBoard has $n$ items in it, but the user hasn't seen any.
-
-\item{4.} \eg{foo -- n items (all seen)}\hbreak
-The BBoard is non-empty, and the user has seen everything in it.
-
-\item{5.} \eg{foo -- n items seen out of m}\hbreak
-The BBoard has at most $m-n$ items that the user has not seen.
-\medskip}
-\noindent
-It is important to note that \pgm{bbc} performs its calculations on
-BBoard-ID:s and not the messages actually present in a BBoard.
-This means that the numbers given by \pgm{bbc} are maximal end-points.
-When \pgm{bbc} says $n$, \pgm{bbc} means ``at most $n$''.
-
-Naturally, \pgm{bbc} can be invoked with the \switch{check} option and one or
-more BBoards listed on its command line.
-For example \example bbc\ -check\ info-c\ poli-sci\endexample is completely
-acceptable~---~it tells \pgm{bbc} to check on the BBoards \eg{info-c} and
-\eg{poli-sci} only.
-
-There are two ways to check for new BBoard messages in an asynchronous fashion:
-using the \pgm{CShell} variable \file{\$mail} and running the \pgm{useto}
-program.
-
-\subsubsection{Asynchronous Checking with the CShell}
-The \pgm{CShell} has a variable called \file{\$mail}.
-This variable can contain one or more words.
-Each word should be a filename where the shell should check for new mail.
-The check is performed after a specified time interval has elapsed just
-before the shell would prompt the user.
-
-If the first word of \file{\$mail} is a number,
-then this number specifies a different checking interval, in seconds,
-than the default, which is 10 minutes.
-
-Whenever the time interval elapses and the shell is ready to prompt the user,
-the shell looks at the file and decides if new messages have arrived.
-If so, it says \example You have new mail.\endexample
-if only one file is present in \file{\$mail}.
-Otherwise,
-if more than one file is present in \file{\$mail},
-then the shell says \example New mail in foo.\endexample whenever there is new
-mail in the file called \eg{foo}.
-
-To find out what file is associated with a BBoard, say \eg{info-unix},
-the \MH/ user types \example bbc\ -topics\ -verbose\ info-unix\endexample
-Usually the local file for a BBoard has an extension of \file{.mbox}.
-
-\subsubsection{Asynchronous Checking with Useto}
-In contrast to using the \file{\$mail} variable in the \pgm{CShell},
-the \MH/ user might employ \pgm{useto} instead.%
-\nfootnote{Not all sites have \pgm{useto};
-contact the same people who supplied \MH/ to get a copy.}
-The \pgm{useto} program is a continuous update display that prints information
-on the status line of your terminal.
-Needless to say,
-your terminal must support a status line in order to run \pgm{useto}.
-Not all terminals have this capability,
-but for those that do it's usually well worth the effort to run \pgm{useto}.
-
-For example, users of \MH/  could put
-\example
-    useto\ -bepf\ \'tcp-ip\ sftp\'\ %
-       \'\%D\ \%M\ \%d\ \%h:\%m\%z\%b\ \%n.tty\%t:\%l1\'%
-\endexample
-in their \file{\$HOME/.login} file.
-This command line to \pgm{useto} says to inform the user of
-\smallskip
-{\advance\leftskip by\parindent
-\item{$\bullet$} the current date and time
-\item{$\bullet$} new mail for the user
-\item{$\bullet$} new messages for the BBoards \eg{tcp-ip} and \eg{sftp}
-\item{$\bullet$} the name of the host and tty that the user is logged in on
-\item{$\bullet$} the 5--minute load average of that host
-\smallskip}
-
-The \pgm{useto} program is really quite amusing and useful.%
-\nfootnote{To be honest,
-the author considers computing environments without \pgm{useto}
-to be less than adequate.}
-
-\subsection{BBoard reading}
-If \pgm{bbc} is not given either the \switch{check} or \switch{topics} option,
-the \pgm{bbc} program reads BBoard messages.
-For each BBoard listed in the \MH/ user's profile entry for \eg{bboards:},
-\pgm{bbc} checks to see if there is unread mail.
-If so, \pgm{bbc} starts \pgm{msh} on the BBoard,
-telling \pgm{msh} which messages haven't been seen.%
-\nfootnote{If the \switch{verbose} option is given to \pgm{bbc},
-then \pgm{bbc} will start \pgm{msh} on the BBoard regardless of whether there
-are unseen messages there.}
-
-When \pgm{msh} starts it identifies the BBoard being read and indicates how
-many messages are present and how many the user has read.
-Usually, in the user's \MH/ profile,
-the user has the entry \example msh:\ -scan\endexample
-This says that when \pgm{msh} starts,
-it should print a {\it scan listing} of the messages which the user
-hasn't seen yet.
-
-The \pgm{msh} program now prompts the user for \MH/ commands.
-The user may type most of the normal \MH/ command.
-The syntax and semantics of the commands typed to \pgm{msh} are identical
-to their \MH/ counterparts.
-For example, to reply to a message on the BBoard,
-the \MH/ user types \eg{repl};
-other \MH/ commands likewise may be applied to BBoard messages.
-In cases where the nature of \pgm{msh} would be inconsistent
-(e.g., specifying a \arg{+folder} with some commands),
-\pgm{msh} will duly inform the user.
-In addition to supporting most \MH/ commands,
-\pgm{msh} also has a \eg{help} command which gives a brief overview.
-
-The only command that behaves entirely differently in \pgm{msh} is the
-\eg{mark} command when given no arguments.
-The \pgm{msh} program maintains a special sequence, \eg{unseen},
-which it uses to keep track of the messages you've seen.
-If the \eg{mark} command is given without any arguments,
-then \pgm{msh} will interpret it as
-\example mark\ -sequence\ unseen\ -delete\ -nozero\ all\endexample
-Hence, to discard all of the messages in the current BBoard being read,
-the \MH/ user types \eg{mark} which says to remove all messages from sequence
-called \eg{unseen}.
-
-To leave \pgm{msh} use the \eg{quit} command.
-This tells \pgm{msh} to terminate and \pgm{bbc} to go to the next BBoard.
-Instead, if the user types EOT (usually CTRL-D),
-then \pgm{bbc} will exit as well,
-updating whatever information was appropriate.
-
-\section{Current BBoards}
-There are many, many active interest groups.
-Consult the BBoard called \eg{list-of-lists} for a comprehensive description.
-Here are a few of the more popular:
-\smallskip
-{\advance\leftskip by\parindent
-\item{\tx system}
-Important announcements for the local system are posted here.
-
-\item{\tx mh-users}
-A discussion group for users of \MH/.
-
-\item{\tx arpanet-bboards}
-Redistribution address for all known BBoards on the ARPAnet.
-
-\item{\tx editor-people}
-Discussion of topics related to computerized text editing, display editors, 
-and human factors in man/machine interaction.
-The theoretical discussion is catholic,
-but practical discussion focuses particularly on \tops20/ and \unix/.
-
-\item{\tx franz-friends}
-Discusses the Franz Lisp language.
-
-\item{\tx header-people}
-Interest specifically in the format of message headers and related issues 
-such as inter-network mail formats/standards, etc.
-
-\item{\tx human-nets}
-{\sf Human-Nets} has discussed many topics,
-all of them related in some way to the theme of a world-wide computer and
-telecommunications network usually called WorldNet.
-The topics have ranged very widely, from something like tutorials,
-to state of the art discussions,
-to rampant speculation about technology and its impact.
-
-\item{\tx info-micro}
-Information/discussion list on the general interest topic of microcomputers.
-
-\item{\tx info-unix}
-{\sf Info-UNIX} is intended for question/answer discussion,
-where ``novice'' system administrators can pose questions.
-
-\item{\tx msggroup}
-Interest in electronic mail, message formats, message systems, and the 
-sociological implications of the above.
-
-\item{\tx poli-sci}
-A permanent distributed political ``bull'' session.
-
-\item{\tx sf-lovers}
-Science Fiction lovers.
-{\sf SF-Lovers} has discussed many topics,
-all of them related in some way to the theme of science fiction or fantasy.  
-
-\item{\tx space}
-Discussions (daily digest) on space-related topics.
-
-\item{\tx telecom}
-A broad spectrum moderated-digest-format discussion on telecommunictions 
-technology: the telephone system, modems, and other more technical aspects 
-of telecommunications systems.  
-
-\item{\tx unix-emacs}
-Used for new release announcements and general discussions of Gosling's
-\EMACS/.
-
-\item{\tx unix-wizards}
-Distribution list for people maintaining machines running the \unix/ operating
-system.
-\medskip}
-\noindent
-As discussed earlier,
-to find out about all of the BBoards that the local host subscribes to,
-the \MH/ users types \example bbc\ -topics\endexample
-
-\section{More on BBoards}
-Finally, here are a few more operational details:
-
-\subsection{Creating a BBoard}
-Contact the PostMaster at your host to have a BBoard created.
-Be sure to indicate its status (public or private)
-and scope (where distribution should occur).
-
-\subsection{Subscribing to a BBoard}
-If your local host already receives an interest group,
-then simply add the name of the BBoard to the \eg{bboards:} entry in your
-\MH/ profile.
-If not, ask the PostMaster to create the BBoard and contact the global
-request address for you.
-
-\subsection{BBoard Archives}
-BBoard messages are automatically archived on a weekly basis.
-Usually, this results in messages older than 12 days being moved to an
-{\it archive} area.
-To read the archives for a BBoard, the \switch{archive} option is used.
-For example, \example bbc\ -archive\ telecom\endexample
-tells \pgm{bbc} to invoke \pgm{msh} on the archives for the \eg{telecom}
-BBoard.
-
-Note that the archives may not be present for all BBoards on a given host;
-also note that the archives may be periodically moved to tape and expunged
-from the system.
-Contact your local PostMaster for the details.
-
-\subsection{BBoard Addresses}
-Each BBoard has associated with it 4 addresses
-(for example, in the case of the mythical BBoard \eg{foo\/}):
-\smallskip
-{\advance\leftskip by\parindent
-\item{\tx foo} The global distribution list\hbreak
-If you post a message addressed to {\tx foo} then the message is distributed
-to everyone who subscribes to \eg{foo}.
-
-\item{\tx dist-foo} The local distribution list\hbreak
-If you post a message addressed to {\tx dist-foo} then the message is
-distributed to the local BBoard for \eg{foo}
-and to any sites which the local system distributes to.
-
-\item{\tx foo-request} The global moderator\hbreak
-If you post a message addressed to {\tx foo-request} then the message is
-sent to the moderator for the entire interest group called \eg{foo}.
-
-\item{\tx local-foo-request} The local moderator\hbreak
-If you post a message addressed to {\tx local-foo-request} then the message is
-sent to the person responsible for the BBoard \eg{foo} on the local system.
-\medskip}
-\noindent
-These addresses are defined by the \MH/ alias facility.
-Users of the BBoards facility who do not use \MH/ may not be able to make use
-of them.
-
-\subsection{Leading a BBoard}
-Except for special circumstances, this task is wholly automated.
-For more information though,
-see the manual entries for \man bbl(1) and \man bbleaders(8).
-
-\section{Extra for Experts}
-Some clever \MH/ users might ask why BBoards aren't kept as folders instead
-of \pgm{pack}'d files.
-This is a good question.
-Perhaps some future release of \MH/ and the UCI BBoards facility will treat
-BBoards as a variant of read-only folders.
-
-The problem with \pgm{msh}, of course, is that it's a monolithic program,
-and although it does support input/output redirection and a few other
-primitive shell-like properties, it's still not the \pgm{CShell}.
diff --git a/docs/historical/bboards/version b/docs/historical/bboards/version
deleted file mode 100644 (file)
index 1e8b314..0000000
+++ /dev/null
@@ -1 +0,0 @@
-6
diff --git a/docs/historical/bboards/version.sh b/docs/historical/bboards/version.sh
deleted file mode 100644 (file)
index 9cad3a1..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-if [ ! -r version ]; then echo 0 > version; fi
-touch version
-echo '\catcode`\#=12' > version.tex
-awk '  { version = $1 + 1; }\
-END    { printf "\\def\\versiontag/{#2.%d}%%\n", version >> "version.tex"; \
-         printf "%d\n", version > "version"; }' < version
-echo '\def\versiondate/{'`date`'}%' >> version.tex
-echo '\catcode`\#=6' >> version.tex
-echo '\tell{Version \versiontag/ of \versiondate/}' >> version.tex
diff --git a/docs/historical/bboards/version.tex b/docs/historical/bboards/version.tex
deleted file mode 100644 (file)
index 7c3cad9..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\catcode`\#=12
-\def\versiontag/{#2.6}%
-\def\versiondate/{Wed May 21 21:03:57 PDT 1986}%
-\catcode`\#=6
-\tell{Version \versiontag/ of \versiondate/}
diff --git a/docs/historical/beginners/Makefile b/docs/historical/beginners/Makefile
deleted file mode 100644 (file)
index 7de8644..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#########################################################################
-# Instructions to Make, for generation of nice-looking papers using LaTeX
-#########################################################################
-
-.SUFFIXES:     .pic .web .tex .dvi .imp
-
-.pic.tex:;     tpic $<
-
-.web.tex:;     sh -c 'if weave $<; then exit 0; else rm $@; exit 1; fi'
-
-.tex.dvi:;     sh -c 'if latex \\nonstopmode\\input $<; \
-                         then exit 0; else rm $@; exit 1; fi'
-
-.dvi.imp:;     dviimp $(DFLAGS) -i $@ $<
-
-
-#############################################################
-# Here it is...
-#############################################################
-
-all:           i-all
-print:         i-print
-
-
-#############################################################
-# beginners
-#############################################################
-
-i-all:         beginners.dvi
-
-i-print:       beginners.dvi true
-               dvisp $(DFLAGS) -J Beginners beginners
-
-true:;
-
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-               rm -f beginners.dvi beginners.imp
-
-clean:;                rm -f beginners.log beginners.blg beginners.tmp _*
diff --git a/docs/historical/beginners/beginners.tex b/docs/historical/beginners/beginners.tex
deleted file mode 100644 (file)
index a418644..0000000
+++ /dev/null
@@ -1,617 +0,0 @@
-\documentstyle [12pt]{article}
-\parindent=0pt
-\parskip=7pt plus 2pt
-
-%beginners.tex,v 1.1.1.1 1993/01/30 04:41:03 jtc Exp
-
-\def\oneline#1{\par\bigskip\leftline{\tt\hskip.75in#1}}
-\def\command#1{\par\bigskip\leftline{\tt\hskip.75in\% #1}}
-\def\comarg#1#2{\par\bigskip\leftline{\tt\hskip.75in\% #1 {\it#2}}}
-\def\MH/{{\sf MH}}
-\def\MM/{{\sc mm}}
-\def\unix/{{\sc Unix}}
-\newfont{\itt}{cmti10}
-\begin{document}
-
-\title{MH for Beginners}
-\author{Mary Hegardt \and Tim Morgan}
-\maketitle
-
-This document is intended to be an introduction for new users to the
-\MH/ mail system. For more detailed information, users will want to
-read the document called {\sl The Rand MH Message Handling System:
-User's Manual\/} by Marshall~T. Rose and John~L. Romine. It is available
-for Xeroxing in suite CS408.
-\footnote{This document is specific to the environment
-at the ICS department of U.~C.~Irvine.  For a more general document,
-see {\sl The Rand MH Message Handling System: Tutorial\/}.}
-
-\section{Using Electronic Mail}
-
-Electronic mail (e-mail) is a quick, convenient way to send a message
-to another person (or persons).  The message recipient can read and
-reply to the message at his convenience. E-mail is much faster than
-a paper memo and avoids inconveniences associated with the telephone
-such as unwanted interruptions and ``phone tag.''
-
-At UCI, one can send e-mail to people within the ICS department, people
-in other units on campus, and to people at some other institutions
-off campus (usually other universities).
-
-An electronic mail message consists of two parts: the headers and the
-body.  The body comes after the headers and consists of the ``message'':
-whatever the sender types in. The headers are the lines at the top
-of the message including the subject and addresses of the people
-to whom the message is addressed.  It is similar to the top lines
-of a memo: {\tt To:}, {\tt From:}, {\tt Subject:}, and so on.  The headers
-are separated from the body by a blank line. As in memos, the people
-listed in the {\tt Cc:}\ field are not intended to be the primary recipients 
-of the message. The message is for their information only, and they
-are not expected to reply.
-
-
-E-mail is also useful for discussions among groups of people.  This
-``bboards'' (electronic bulletin boards) facility will be discussed later.
-
-An electronic mail address looks like ``{\it name\/}{\tt@}{\it site\/}''.
-The {\it name\/} is
-a person's ``mail handle'' --- usually his first initial followed by his
-last name.   For example, Mary Hegardt's mail handle is ``mhegardt''.
-The {\it site\/} is the system where the addressee receives mail.  Within
-the ICS Department, you need only know the person's mail handle;
-the mail system will automatically fill in the ``{\tt @}{\it site\/}'' part.
-
-\section{Why MH ?}
-
-The \MH/ system is very different from most mail user agents.  Instead of 
-running one large program which handles all mail functions and keeps
-messages in one large file, \MH/ is a collection of smaller 
-single-purpose programs used to manipulate mail messages
-which are kept in individual files.  \MH/ may seem to be more complicated
-or harder to use than other mail systems (MM, for example), but  
-\MH/ has been designed to allow
-you to take full advantage of existing {\sc Unix}\footnote{{\sc Unix} is 
-a trademark of AT\&T Bell Laboratories} commands and programs
-in connection with mail messages.
-For example, you can use your usual text editor, spelling program, and
-printer commands on individual messages.  
-
-
-\section{The Basics}
-
-The first time you use an \MH/ command (probably {\it inc\/}), 
-\MH/ will create a directory called ``Mail'' in your home (login) directory. All
-your mail will be stored in directories beneath this one.  It will also
-create a file in your home directory called \verb|.mh_profile|.  It is
-a file that allows you to tailor your \MH/ environment.  We'll discuss
-this more later.  
-
-
-\subsection{Reading Mail}
-
-When someone sends a mail message to you, it is delivered to a file
-called your ``mail drop'' file.  When you are ready to read your mail,
-you have to incorporate (or ``inc'') your mail messages from the mail
-drop area into your account.
-
-Everytime you log in to your {\sc Unix} account, you will be told if you
-have new mail messages.  When you are ready to read them, type \verb|inc|.
-The {\it inc\/} program will copy your mail into your ``inbox'' and generate
-a ``scan'' listing of the new messages. For example,
-
-\begin{scriptsize}
-\begin{verbatim}
-4.2 BSD UNIX #116: Mon Jul 15 14:03:21 PDT 1985
-You have new ZOTnet mail, type "inc" (or mail)
-
-TERM = (dm1520)
-
-% inc
-
-Incorporating new mail into inbox ...
-   1+ 10/29 1732-PST Tim Morgan        new bboard!  <<Please add us to the uni
-   2  11/12 0016-PST ROODE@uci-20b     CP6 from the 20s  <<What is (will be) t
-   4  11/15 1909-EDT tts@tts           Hello, got a few questions
-   5  11/15 2134-PST Marshall Rose     MH.6 on 750a  <<Mary, I've left the dis
-   6  11/16 0808-PST Mail Delivery Su  Returned mail: Host unknown
-   7  11/16 1021-PST Tim Morgan        Unix-wizards/info-unix move
-   8  11/18 0952-PST freeman@icsd.UCI  Re:New system wide aliases for ICS facu
-   9  11/18 1346-EDT tts@tts           Have we got a problem?
-\end{verbatim}
-\end{scriptsize}
-
-This is what a typical ``inc'' session for the Postmaster looks like.  
-{\it Inc\/} copies my mail into my ``inbox'' folder, assigns a unique number to
-each message, and scans them for me.  The numbers allow you to refer
-to each message individually.  After the message number, you see the
-date and time the message was sent, the name of the sender, and the
-subject of the message. The ``current'' message is indicated by a 
-``{\tt +}'' sign. To read it, type ``{\tt show}'':
-
-\begin{scriptsize}
-\begin{verbatim}
-% show
-
-   (Message inbox:1)
-   Received: from localhost by UCI.EDU id a005369; 29 Oct 85 17:32 PST
-   To: postmaster@UCI.EDU
-   Subject: new bboard!
-   Date: 29 Oct 85 17:32:24 PST (Tue)
-   From: Tim Morgan <morgan@UCI.EDU>
-   
-   Please add us to the unix-sw list.  Also, if RAJ hasn't mentioned it,
-   and if it still exists, we should get on the Astronomy bboard.
-
-   Tim
-\end{verbatim}
-\end{scriptsize}
-
-If the message is
-longer than one screenful, you will see the word ``more'' at the bottom
-of the screen.  When you are ready to see ``more'' of the message,
-press the \fbox{space bar} to see another screenful, or press the 
-\fbox{return} key to see just one more line.
-
-To see the next message, you could type a couple of different commands:
-
-
-\oneline{\% next}
-or
-\oneline{\% show next}
-or
-\oneline{\% show 2}
-
-All of these commands would have the same effect: to type out the next message
-in the list.  The most efficient thing to do is to type ``{\tt next}''.  When
-You do that, message number 2 will be shown and become the ``current message''.
-
-\begin{footnotesize}
-\begin{verbatim}
-% next
-
-(Message inbox:2)
-Received: from UCI-20B by UCI-ICSA id aa01222; 12 Nov 85 0:23 PST
-Date: 12 Nov 1985 0016-PST
-From: ROODE@uci-20b
-Subject: CP6 from the 20s
-To: zotnet@uci-20b
-cc: dana_roode%ucicp6@UCI.EDU
-
-What is (will be) the prescribed method of addressing for sending
-CP6 mail from the 20s?  They dont seem to know about @CF, @UCICP6,
-but "Name_Name%UCICP6"@ICSA seems to fly.
-
-       dana
-\end{verbatim}
-\end{footnotesize}
-
-\subsection{Selecting Messages}
-
-As you have seen, messages can be referred to by their message numbers.
-Some \MH/ commands, such as {\it show,} can act upon more than one
-message at a time. A range of messages can be specified using the
-form ``{\it name1-name2\/}'' where {\it name\/} is a message number or
-one of the reserved message names described below:
-
-\bigskip
-
-\def\titem[#1]{\par\noindent\hbox to .5in{\hfil\it #1\/}\qquad}
-
-\titem[cur] The current message (the last one that was handled)
-\titem[next] The next message (same as ${\it cur\/} + 1$)
-\titem[prev] The previous message (${\it cur\/} - 1$)
-\titem[first] The first message in the current folder
-\titem[last] The last message in the folder
-\titem[all] All messages ($\it first-last$)
-
-\bigskip
-
-If you do not name a specific message, the command will act upon
-the ``current message''.
-
-\subsection{Sending Messages}
-
-A mail message consists of two parts: the headers and the body.  The
-headers are the lines at the top of the message that say ``{\tt To:}''
-and so on.  The body is the actual text of the message (what you
-want to say).  To send someone a message, you start with the
-{\it comp\/} command.  This will start up an editor called {\it prompter\/}
-that will prompt you to fill in the headers. You should type the
-requested information for that header or a \fbox{return} to omit it.  
-You should end the message by typing control-D (press down the key
-marked \fbox{ctrl} and strike the D key) at the beginning of a new
-line.  Here's an example:
-
-\begin{verbatim}
-       % comp
-       To: morgan, raj
-       Cc: 
-       Subject: Lunch
-       ---------
-       Where are we going for lunch today ?  
-
-       Mary
-       <control-D>
-       --------
-       What now ?  send
-\end{verbatim}
-
-At the ``\verb|What now ?|'' prompt you can type a {\tt?} to see 
-what commands you can type next.
-One of the most useful options at this point is to edit the draft
-of the message to correct any mistakes.  To do this you type:
-
-\oneline{What now ?  edit vi}
-
-This will put you in the {\it vi\/} editor to edit the message.  If you use
-{\it emacs\/} or any other editor, just type ``edit emacs'' or whatever.
-When you have finished editing, just exit the editor as you would 
-normally.  You will then get another ``\verb|What now ?|'' prompt. Here are some
-of the ``What now'' options:
-
-\bigskip
-
-\begingroup
-\def\titem[#1]{\par\hangafter=1\hangindent=1.4in\noindent
-       \hbox to\hangindent{\hfil#1\qquad}\ignorespaces}
-
-\titem[\tt edit \it editor\/] Edit the message using the specified
-                               editor.  When you exit, you will be
-                               back at \verb|What now|.
-
-\titem[\tt list] Shows the message you just typed
-
-\titem[\tt whom -check] Verifies that the addresses you have
-                               used are valid as far as our system
-                               can tell
-
-\titem[\tt send] Sends the message to the recipients
-
-\titem[\tt push] Sends the message in the background
-
-\titem[\tt quit] Quits without sending the message.
-                               Saves the text of the message as
-                               a ``draft''. Type \verb|comp -use| to
-                               get back to that draft later.
-
-\titem[\tt quit -delete] Quit, throwing away the draft
-\endgroup
-
-\bigskip
-
-Make sure you are happy with your message before typing \verb|send|.  There
-is no way to recall a message once it has been sent.
-
-\subsection{Replying to Messages}
-
-To reply to the current message type {\it repl.}  When you do this, 
-the reply headers will be printed out and you will be put in the prompter
-editor to type in your reply text. When you are replying  to a message,
-the name of the sender of the original message will appear in the
-``To:'' field.  Any people on the ``To:'' or ``Cc:'' lists will also
-be copied on your reply message. As with {\it comp,} when you have
-finished, type control-D and \verb|send| (or whatever) at \verb|What now ?|.
-
-\subsection{Forwarding Messages}
-
-If you receive a particularly interesting message and can't resist
-sharing it with others, you can forward it using the {\it forw\/}
-command.  You will be prompted to fill in the headers (the address
-to which the message is to be forwarded, etc.). When you have done this,
-you will see the text of the message which you are forwarding and will be
-given the opportunity to add some enlightening text to the message.
-Exit with control-D and do whatever feels good at the \verb|What now ?|
-prompt.
-
-\subsection{The Advanced Features}
-
-You will probably want to master the beginning \MH/ concepts before you
-tackle the following\dots
-
-\subsection{Folders}
-
-Folders are really just directories for storing mail messages in an
-organized way.   To store a message in a folder named
-``inbox'', type:
-
-\oneline{\% refile 5 +inventory}
-
-If the folder doesn't exist yet, you will be asked if it should be created.
-To access messages in another folder, you can change your current
-folder from ``inbox'' to something else.  If you want to look at all
-the messages pertaining to the inventory, you type:
-
-\oneline{\% folder +inventory}
-
-and now you use {\it scan,} {\it show,} etc., to manipulate the messages
-in that folder.
-To change back to inbox, type:
-
-\oneline{\% folder +inbox}
-
-Using the {\it inc\/} command will change your current folder to be the
-``inbox'' automatically.
-       
-\section{Mailing files}
-
-Mailing files is usually not a good idea, especially for large files.  
-The mail system was never designed for moving big files. You
-can use the {\it cp\/} file to move the file to another account much more
-efficiently:
-
-\oneline{\% cp \char`\~frated/desired-file \char`\~./newfile}
-
-This will copy the file from frated's account to the current directory and
-call it ``newfile''. 
-
-You can also copy files across the network using {\it rcp\/}:
-
-\oneline{\% rcp icsd:frated/desired-file ./newfile}
-
-This copies frated's file on the system icsd to the current directory.
-
-If you {\it really\/} have to mail a file, you use the {\it mhmail\/} program.
-To mail a file ``myfile'' to another user ``frated'', with ``MyFile'' as
-the subject type:
-
-\oneline{\% mhmail frated -subject MyFile < myfile}
-
-
-\section{Searching for messages}
-
-The {\it pick\/} program allows you to search your inbox (or any other)
-folder to find messages which contain a certain word.  If you want to 
-list all messages from Smith you can type:
-
-\oneline{\% pick -from smith -list}
-
-and it will list the numbers of all messages from Smith that are in the
-current folder.  You can {\it pick\/} messages according to any of the
-headers ({\tt -to -from -subj -cc {\rm or} -date}) or just search all the
-messages for a given word ({\tt -search}).
-
-\section{The MH Profile}
-
-Each \MH/ user has a file in his directory called \verb|.mh_profile|.  This
-file contains a list of user-specified default options for \MH/ programs.
-The only required
-entry is the name of your \MH/
-directory:
-
-\oneline{Path: Mail}
-or
-\oneline{Path: mhbox}
-
-To make a change to your \verb|.mh_profile|, you edit the file and add a
-line for the applicable program.  For example, if you would like to use {\it
-vi\/} instead of {\it prompter\/} as your initial editor when composing
-messages, you would add this line to your \verb|.mh_profile|:
-
-\oneline{comp: -editor vi}
-
-or, if you want to have a format file for {\it scan\/} to use, you should
-have:
-
-\oneline{scan: -form {\it formatfile}}
-
-Almost all of the \MH/ programs have options that can be set using the
-\verb|.mh_profile|. You should consult the {\sl MH User's Manual\/}
-for more information about this.
-
-Many people will want to add a signature line to their \verb|.mh_profile|.
-This line  will appear as your signature on the From: line in messages
-you send. It looks like this:
-
-\oneline{Signature: John Q. Public}
-
-
-Occasionally people express an interest in getting rid of some of the
-header lines in their mail messages.  They don't want to see the
-``Received from'', ``Via'' information, or some other header.  It
-is possible to prevent these and other annoying headers from being
-displayed by changing your {\it show\/} processor to be {\it mhless.}
-To do this you must add this line 
-
-\oneline{showproc: mhless}
-
-to your \verb|.mh_profile|. You also must create a file 
-called ``.mhlessrc'' containing the words which
-appear at the beginning of the lines you don't want to see.
-The typical ``.mhlessrc'' file will look like this:
-\begin{verbatim}
-       Received
-       Via
-       BB-Posted
-       Return-Path
-\end{verbatim}
-
-The ``.mhlessrc'' file must be in your home directory.
-
-
-\section{BBoards}
-
-Electronic bulletin boards (BBoards) are a convenient way for a group
-of people to discuss a particular topic.  Messages are sent to
-an address where they can be read and replied to by all interested
-parties. In the ICS department we have some ``local'' BBoards which
-involve only people in the department.  We also subscribe to many
-nationally distributed BBoards.  BBoards are read using the {\it bbc\/}
-program which will allow you to read the messages with
-an \MH/-like interface. 
-
-One very important BBoard is ``system''.
-It contains vital news about changes in software, system
-downtime, new programs, and other information useful to all users.
-
-To read a BBoard, you type ``\verb|bbc| {\it BBoard\_name\/}''. The {\it
-bbc\/} program will check to see if there are new messages in the named
-BBoard and if there are, it will start up {\it msh\/} so you can read them.
-The {\it msh\/} program allows you to use regular \MH/ commands when reading
-BBoards. Type ``{\tt show}'' to see the current message, ``{\tt next}'' to
-see the next message, and so on.  Type ``{\tt quit}'' to quit reading the
-current BBoard. If you have named more than one BBoard on the command line
-or in your \verb|.mh_profile|, {\it bbc\/} will continue processing the next
-BBoard in the list.
-
-Here is an example of using {\it bbc\/} to read the system BBoard:
-
-\newpage
-\begin{footnotesize}
-\baselineskip=12pt\parskip=0pt
-\leftline{\tt\% bbc \itt system}
-\leftline{\tt Reading system, currently at message 1 of 22}
-\leftline{\tt(msh) \itt show}
-\begin{verbatim}
-(Message 1, BBoard-ID: 1360)
-BBoard-ID: 1360
-BB-Posted: Wed, 29 Jan 86 15:36:39 PST
-Received: from localhost by UCI.EDU id a006693; 29 Jan 86 15:20 PST
-To: network@UCI.EDU
-Subject: Imagen 24300
-Date: Wed, 29 Jan 86 15:19:43 -0800
-From: Tinh Tang <ttang@UCI.EDU>
-
-The Imagen 24300 is now operating normally.  It was broken down
-due to the paper jammed in the drum.  Luckily, it didn't cause
-any damage.
-
-/ttang
-\end{verbatim}\leftline{\tt(msh) \itt next}\begin{verbatim}
-(Message 4, BBoard-ID: 1363)
-BBoard-ID: 1363
-BB-Posted: Fri, 31 Jan 86 13:33:37 PST
-Received: from localhost by UCI.EDU id a001631; 31 Jan 86 13:30 PST
-To: msgs@UCI.EDU
-Subject: uci.edu down 2/7/86 17:10 - 2/7/86 20:30
-Date: Fri, 31 Jan 86 13:30:27 -0800
-From: root@UCI.EDU
-
-The uci.edu will be down from
-       February  7,1986 17:10 till February  7,1986 20:30.
-The reason for the downtime is:
-Both, the Computing Facility and the Physical Sciences Dataswitches 
-will be unavailable from 5:10pm until 8:30pm on Friday, February 7th. 
-Therefore all the Computers attached to those switches and the 
-corresponding tandem link will be unavailable to users on 
-the specified time.              (RJ).
-
-Downtime Scheduler
-\end{verbatim}\leftline{\tt(msh) \itt quit}
-\leftline{\tt \%}
-\end{footnotesize}
-\newpage
-
-You can see a list of all the available BBoards by typing:
-
-\command{bbc -topics}
-
-You can also put a line in your ``\verb|.mh_profile|'' listing all
-the BBoards you want to read on a regular basis:
-
-\oneline{bboards: system movies mh-users events}
-
-Then you only need to type ``\verb|bbc|'' to read all your BBoards. 
-
-
-\section{Checking for Mail}
-
-Under \unix/, there are many different ways to check for new mail. The
-easiest way to do it is to set the {\it csh\/} variable named ``mail''
-to tell {\it csh\/} to check for new mail for you periodically. To
-do this, add the line
-
-       \oneline{set mail=(60 /usr/spool/mail/\$USER)}
-
-to the {\tt .login} file in your home directory.  This command says
-to check for mail if {\it csh\/} is about to prompt you with a
-{\tt \%} sign, and if it has been at least 60 seconds since it last
-checked for mail.  The advantage of this method of mail notification,
-besides simplicity, is that you will never be interrupted by a mail
-notification.  You will only be notified about new mail when you
-are between commands.
-
-If you want asynchronous mail notification, which will print to your
-terminal regardless  of what you are currently doing, you may make
-use of a ``receive mail hook'' called ``rcvtty''.  To do this, 
-create a file in your home directory called ``{\tt .maildelivery}''.
-In this file, put the line
-
-       \oneline{* - pipe R /usr/uci/lib/mh/rcvtty}
-
-Then, each time mail arrives, you will receive a one--line ``scan''
-listing of the mail if your terminal is world-writable.  For more
-information on mail delivery files, type:
-
-       \command{man 5 maildelivery}
-
-This will tell you about all the options available to you if you
-use maildelivery files.
-
-
-\section{Aliases}
-
-Using \MH/, you may specify your own private mail aliases.  This feature
-allows you to store lists of addresses or long internet addresses of people
-with whom you frequently correspond in one file, and then to address them
-using short mnemonic names.  Typically, you will call your alias file ``{\tt
-aliases}''; it must be stored in your \MH/ directory.  The format of this
-file is simple. The alias is given, followed by a colon, followed by one or
-more legal mail addresses separated by commas.  For example, you might for
-some reason have an alias for all the users named ``Rose'' in the ICS
-department:
-
-       \oneline{roses: prose, srose, mrose, drose}
-
-In addition to your ``{\tt aliases}'' file, you will need to modify your\break
-\verb|.mh_profile| in order to use aliases.  You should add the flag
-``{\tt -alias aliases}'' to the entries for the commands {\it ali, whom,
-send,} and {\it push,} creating entries for these programs if they aren't
-already in your \verb|.mh_profile|.
-Now, messages addressed to ``{\tt roses}'' will be distributed to all
-the people listed in the alias.
-
-The {\it ali\/} command is used to show you what an alias expands to.
-You just type
-
-       \comarg{ali}{alias}
-
-and {\it ali\/} will respond with the expansion of the {\it alias.}  {\it
-Ali\/} searches the system aliases file in addition to your private ones.
-
-\section{Blind Lists}
-
-There are two different types of so-called ``blind addressing'' of messages.
-The {\tt BCC:} field allows you to add recipients to your message just
-like those who are CC'd, but the normal recipients will not see that the
-BCC recipients were copied on the message, their replies will not go to the
-blind recipients, and the blind recipients cannot (easily) reply to the
-message.
-
-The second type of blind mailing is actually called a ``group address list'',
-although it is commonly referred to as a ``blind list''.
-The format of this type of address is
-
-       \oneline{{\it phrase\/}: {\it address\_list\/};}
-
-where the ``{\it phrase\/}'' is any English phrase of one or more words,
-and the {\it address\_list\/} consists of one or more addresses separated by
-commas.  The recipients of a message addressed in this fashion will
-see simply
-
-       \oneline{{\it phrase\/}: ;}
-
-so when they reply to the message, their reply will come only to the sender
-(or the {\tt Reply-To:} field, if one was specified), rather than going to
-all the recipients of the original list. For example, to use a group
-address list for the ``{\tt roses}'' alias you would type:
-
-       \oneline{To: People Named Rose: roses;}
-
-This type of group address is very
-useful for making up lists of related people, such as all the people working
-on a particular research project.
-
-
-\end{document}
diff --git a/docs/historical/changes/MHCHANGES b/docs/historical/changes/MHCHANGES
deleted file mode 100644 (file)
index f1051e2..0000000
+++ /dev/null
@@ -1,1539 +0,0 @@
-                      MHCHANGES from MH 6.1 to MH 6.5
-
-
-Tue Nov 12 11:24:46 1985  /mtr <mrose@nrtc-gremlin>
-
-       MH 6.1 is official.
-
-
-Fri Nov 15 19:14:44 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/{rcvtty,slocal}.c: touch-ups
-
-
-Sun Nov 17 16:28:23 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/{ap,mhl,repl,scan}.rf: note that #ifdef BERK kills
-           address parsing
-       conf/makefiles/{doc,uip,support/*,zotnet/*}: make tar command visible
-       sbr/m_convert.c: oops, new message numbering resulted in bad
-           diagnostic
-       papers/*/Makefile: fix LaTeX rule for v2.08
-
-
-Tue Nov 19 23:06:16 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/send.c: de-referencing NULL due to bad precedence, tsk
-
-
-Wed Nov 20 10:58:40 1985  /mtr <mrose@nrtc-gremlin>
-
-       MH 6.1 covert update for sbr/m_convert.c, uip/send.c
-
-
-Sun Nov 24 18:58:41 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/slocal.c: some tuning, also fix a bug in usr_pipe()
-       uip/dropsbr.c: have mbx_copy support noisy
-       uip/{packf,post,rcvpack,sbboards,slocal}.c: use this change
-
-
-Tue Nov 26 00:22:17 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/refile.c: oops, forgot copy-back on optimzied m_remsg
-
-
-Sat Nov 30 22:36:49 1985  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/tws/dtime.c: add #ifdef INETONLY
-       uip/post.c: for #ifdef BERK don't say {Local,UUCP,Network}
-           Recipients
-       conf/doc/sortm.rf: note problem with errors
-       uip/bbc.c: for getbbvis() insist on readability
-       support/bboards/bbexp.c: oops, calling pick wrong
-       conf/doc/pick.rf: document -datefield anomaly
-       conf/makefiles/support/bboards: oops, left context owned by root
-       h/mh.h: ruserpass -> _ruserpass for SUN.  why?
-
-
-Sun Dec  1 07:58:50 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/vmh.c: remove double-scroll
-       uip/annosbr.c: oops, closing fd: without unlocking!
-       sbr/makedir.c: plug an obscure security hole in inc
-       uip/mhlsbr.c: read_termcap being called prematurely
-       zotnet/tws/dtime.c: load tw_sday appropriately
-       zotnet/tws/*.c: try using numeric timezone for official renditions,
-           under #ifdef MTR for now
-
-
-Sun Dec  1 16:11:03 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/inc.c: more idiotic de-referncing of NULL, found on SUNs
-       uip/replsbr.c: ditto
-       uip/show.c: recognize more of mhl's switches
-
-
-Wed Dec  4 23:38:06 1985  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/mts/mts.h: oops for MMDFONLY
-       conf/{mh-gen.8,makefiles/zotnet/mts}: talk about -Dlocname
-
-
-Thu Dec  5 19:55:11 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/scansbr.c: fix machine dependency pointed out by Chuck Collins
-       dist/READ-ME: new file talking about make bug
-       COVER-LETTER, conf/{mh-gen.8,doc/MH.rf}: change UCI -> UCI.EDU
-
-
-Fri Dec  6 11:08:20 1985  /mtr <mrose@nrtc-gremlin>
-
-       support/bboards/mmdfII/gen: wrong filename
-
-
-Sun Dec  8 18:39:01 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/send.c: always remove dist file
-       uip/vmh.c: work on erase-word handling, a bit
-       uip/folder.c: -fast -vs- -pack fixup
-       uip/mhlsbr.c: %text defined for date fields
-
-
-Tue Dec 10 18:39:37 1985  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/mts/client.c: moved from mts/sendmail/client.c
-       conf/makefiles/{mts/sendmail,zotnet/mts}: changed
-       mts/support/llib-lsendmail, zotnet/mts/llib-lmts: changed
-       mts/sendmail/client.c: 4.2BSD specific only!
-       conf/config/mts.c, zotnet/mts/mts.h: update
-       conf/mhconfig.c: update
-       conf/Makefile: simplify
-
-
-Tue Dec 10 21:11:45 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/mh-gen.8: clear up some sys5 stuff
-       zotnet/mf/umhook.c: sys5-ize
-       uip/addrsbr.c: alternate-mailboxes: defaulted wrong under #ifdef
-           BERK, it's now "<userid>*"
-       conf/doc/mh-profile.rf: fix documentation to reflect reality
-
-
-Tue Dec 10 22:38:23 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/addrsbr.c: normalize a bit (finally)
-       uip/addrsbr.c: new routine adrsprintf() to remove #ifdef BANG
-               dependencies
-       uip/{post,rcvdist,replsbr,sbboards}.c: use adrsprintf()
-       uip/post.c: remove #ifdef MF dependency for stand-alone MH,
-           remove #ifdef DUMB dependency by making addrsbr.c smarter
-           about being dumber
-       mts/mmdf/hosts.c: remove #ifdef DUMB dependency (right now,
-           addrsbr:getm() is the only one that calls it and it doesn't
-           call it under #ifdef DUMB...
-
-
-Tue Dec 10 23:28:20 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/sbboards.c: oops, typo found by lint
-
-
-Wed Dec 11 19:08:20 1985  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/libndir: -lndir for non-BSD sites, graciously supplied
-           by Kirk McKusick
-
-
-Tue Dec 17 08:36:59 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/send.c: different alert announcement based on -forward
-
-
-Tue Dec 17 08:53:52 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/makefiles/sbr, sbr/cndfree.c: clean-up a bit
-
-
-Tue Dec 17 18:26:34 1985  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getfld.c, uip/{format,mhl,pick}sbr.c: clean-up indirection
-           code for less tolerant compilers
-       uip/bbc.c: add -[no]rcfile switch
-       uip/msh.c: clean up a diagnostic
-
-
-Tue Dec 17 21:42:44 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/makefiles/sbr, h/mh.h, sbr/llib-lmh: cndfree() removed
-       sbr/{add,m_{delete,replace}}.c, uip/{mhl,vmh}sbr.c: replace cndfree
-       sbr/m_foil.c, uip/install-mh.c: compensate
-
-
-Wed Dec 18 13:37:09 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: make second, optimized pass to catch private bboards
-           that the user knows about
-       uip/popsbr.c: ditto
-       uip/popser.c: slight tune-up
-
-
-Wed Dec 18 20:27:38 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/slocal.c: minor touch up
-       uip/umhook.c: moved from zotnet/mf
-
-
-Wed Dec 18 22:51:58 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: optimize on calling mshproc, check size of maildrop
-           first; if empty, don't invoke it!
-
-
-Thu Dec 19 08:16:54 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/refile.c: better diagnostic from Fred Blonder
-
-
-Thu Dec 19 22:34:23 1985  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/mts/client.c: #ifdef BIND code when no gethostent()
-       conf/{mh-gen.8,doc/mh-tailor.rf}: document it
-
-
-Thu Dec 19 23:58:44 1985  /mtr <mrose@nrtc-gremlin>
-
-       Release MH 6.2 to selected sites, including Berkeley for 4.3BSD testing
-
-
-Sun Dec 29 19:58:43 1985  /mtr <mrose@nrtc>
-
-       zotnet/mts/client.c: fix #ifdef BIND stuff a bit
-       h/mshsbr.h, uip/{mhlsbr,msh,mshcmds}.c: try to fix lost peer
-           problems...
-       conf/doc/vmh.rf: update
-       zotnet/drop/lock.c: not returning right errno
-       uip/dropsbr.c: ditto, plus not trying enough
-       conf/makefiles/doc: "make tar" forgetting tmac.h
-       uip/addrsbr.c: strcpy de-referencing NULL
-       uip/refile.c: got rid of a spurious \n (!!)
-       conf/examples/{udel,nrtc-mtr}: new files
-       h/mh.h, sbr/m_{convert,gmsg}.c, uip/{msh,rcvstore,refile}.c: fix
-           LOWSEL logic
-       uip/vmh.c: fix slight bug in sideground handling (misspelled
-           #ifdef, oops!)
-       conf/{mh-gen.8,config/mts.c},mts/*/hosts.c: remove the NETWORK option
-
-
-Mon Dec 30 20:03:25 1985  /mtr <mrose@nrtc>
-
-       conf/Makefile: options mangled(!?!)
-       uip/msh.c: if update of mailbox fails, it gets zero'd(!!)
-           (oops, not checking error condition)
-       support/pop/popser.c: if update of mailbox fails, clean-up
-           correctly (no zero problem here!)
-       uip/inc.c: on truncate of maildrop, remove mailbox map (XXX)
-       conf/makefiles/uip, uip/{send,whatnowsbr}.c: move send into
-           the WhatNow shell
-       uip/sendsbr.c: new file
-       conf/doc/whatnow.rf: update
-
-
-Tue Dec 31 10:13:44 1985  /mtr <mrose@nrtc>
-
-       conf/doc/vmh.rf: back-down last update
-       conf/mh-gen.8: forgot an \&
-       conf/examples/nrtc-{gw,mtr}, h/rcvmail.h: tsk, NRTC running an old
-           MMDF-II
-
-
-Tue Dec 31 13:53:14 1985  /mtr <mrose@nrtc>
-
-       conf/doc/whatnow.rf, uip/whatnowsbr.c: remove "headers" option
-       conf/doc/ADMIN.rf: clear-up post -debug documentation
-       conf/doc/{mh-chart,send,post}.rf, uip/{post,send,whatnowsbr}.c: remove
-           -[no]remove switches
-       uip/{repl,post}.c: some touch-ups
-
-
-Tue Dec 31 19:16:23 1985  /mtr <mrose@nrtc>
-
-       zotnet/tws/{dtime,dtimep}.c: dst fix-ups
-       conf/doc/send.rf: append, not prepend
-       uip/rmail.c: slight touch-up
-       uip/ap.c: oops, not printing all info
-       zotnet/mf/mf.c: botching trailing comment handling!
-       uip/scansbr.c: have cpy() omit trailing >>blank<<
-       sbr/m_gmsg.c: not zero'ing msgstats[] under non-MTR code
-
-
-Tue Dec 31 22:23:43 1985  /mtr <mrose@nrtc>
-
-       conf/doc/mhook.rf: minor typos
-       miscellany/rcvtrip/*: update
-
-
-Tue Dec 31 23:21:21 1985  /mtr <mrose@nrtc>
-
-       uip/mhlsbr.c: a bit more pipe trickyness (this gets old real fast)
-       conf/doc/ADMIN.rf: talk about popd and /etc/rc.local
-       papers/{myths,mznet}/Makefile: update
-       uip/bbc.c: augment XTND2 botch diagnostic
-       uip/msh.c: if popd says BBoard-ID: for a message is 0, read it
-           ourselves
-
-
-Fri Jan  3 13:11:03 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: SIGTSTP race condition, #undef for now
-
-
-Sun Jan  5 20:06:03 1986  /mtr (agent: Marshall Rose) <uci@dewey>
-
-                 -- Interface TTI TMA to MH #6.2 --
-       [ N.B.: The TTI TMA is NOT in the public domain; the MH support for
-               the TTI TMA IS in the public domain! ]
-       conf/{mh-gen.8,mhconfig.c,doc/ADMIN.rf}: support "tma on"
-       conf/makefiles/{doc,uip}: ditto
-       Makefile: for the moment
-
-
-Mon Jan  6 15:25:20 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{msh,mshcmds}.c: work on refile
-       uip/{vmh,msh}.c: support FAST quit (no final refresh on
-           updated mailbox)
-
-
-Tue Jan  7 15:06:05 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: got the SIGTSTP problem, now wait on child to stop prior
-           to stopping ourselves...
-
-
-Wed Jan  8 23:16:10 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/trmsbr.c: better defaults for "li" and "co"
-
-
-Thu Jan  9 15:29:09 1986  /mtr <mrose@nrtc-gremlin>
-
-                  -- Fixes Suggested by Craig Partridge --
-       support/bboards/mmdfII/bboards/mmdfonly.h: if V4_2BSD on, set BSD42
-       conf/doc/{mhl,show}.rf: talk more about moreproc
-       uip/mhlsbr.c: have INTR work as advertised
-       uip/{send,whatnowsbr}.c: link on dist botched, oops!
-
-
-Thu Jan  9 16:31:28 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/mshcmds.c: don't rmm() messages which don't get refiled
-       uip/vmh.c: truncate stuff on Scan window (finally)
-       uip/scansbr.c: work on diagnostics a bit
-
-
-Thu Jan  9 22:37:29 1986  /mtr <mrose@nrtc-gremlin>
-
-       MH 6.2 is official, awaiting enhancements Berkeley!
-
-
-Fri Jan 10 10:17:57 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/sbboards.c: botch multiple bboard handling (forgot to rewind
-           input, thanks to Larry Henry)
-       support/bboards/mmdfII/bboards/bb_wtmail.c: not handling errors
-           right
-       sbr/cpydgst.c: stay symmetric with change to bb_wtmail.c, the code
-           worked fine, adding matching braces for clarity (!!)
-
-
-Sun Jan 12 14:01:25 1986  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/mh-e: new version from James Larus
-
-
-Sun Jan 12 22:58:34 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: getbbvis a bit too agressive, use popd algorithm
-
-
-Wed Jan 15 04:43:33 1986  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/netnews/: more stuff
-
-
-Wed Jan 15 18:44:32 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/addrsbr.c: ismymbox() losing under #ifdef DUMB, oops!
-
-
-Wed Jan 15 19:03:54 1986  /mtr <mrose@nrtc-gremlin>
-
-       COVER-LETTER: update
-
-
-Wed Jan 15 23:15:54 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/pop/popsbr.c: pophack on PASS command
-
-
-Fri Jan 17 13:19:23 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/ali.c: add -noalias for RaJ
-
-
-Wed Jan 22 11:13:08 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/pop/popwrd.c: squash bug
-       h/mh.h: remove sigmask definition
-       uip/{bbc,vmh}.c: add sigmask if not defined in <signal.h>
-           (4.3BSD finally wised up!)
-
-
-Sun Jan 26 16:57:18 1986  /mtr <mrose@nrtc-gremlin>
-
-       {conf/makefiles/uip,uip/post.c}: lint touch-up
-       conf/doc/{inc,mh-chart,send,post}.rf: add the #ifdef TMA stuff
-       sbr/m_remsg.c: tuning
-       uip/mark.c: re-arrange debug output slightly
-       h/mh.h: add some padding to fix some m_remsg bugs
-       uip/{inc,rcvstore}.c: oops, mp -> hghmsg not keeping pace with
-           m_remsg!
-
-
-Mon Jan 27 17:51:07 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/whatnowsbr.c: forgot to put -[no]push for built-in send
-       h/addrsbr.h, uip/{addrsbr,post}.c: introduce auxformat(), the
-           back-end to adrformat(); post calls auxformat directly in
-           certain cases
-       uip/{dp,forw}.c: was cheating on adrformat, now on auxformat
-
-
-Fri Jan 31 13:25:17 1986  /mtr <mrose@nrtc-gremlin>
-
-       COVER-LETTER: update
-       support/general/mhl.format: Remove length/width constraints
-
-
-Sun Feb  2 14:01:28 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/tws/dtime.c: twsort() fix from John Romine for ALTOS
-       uip/addrsbr.c: smarter ismymbox for default case
-       conf/{mh-gen.8,doc/repl.rf}, uip/repl.c: add #ifdef ATHENA code
-
-
-Sun Feb  2 20:47:36 1986  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/replies/: new directory
-
-
-Mon Feb  3 11:21:49 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/whatnowsbr.c: oops, slight dist botch
-       support/general/mhl.format: make date display user-friendly
-       conf/mh-gen.8: clean-up descriptions of options
-       uip/sbboards.c: normalize code wrt to MMDF-II BBoards channel
-       uip/msh.c: when running under vmh and not in control of TTY,
-           ignore TSTP so BPOP can spool ahead!
-       papers/{usenix/usenix,multifarious/multifarios,trusted/trusted}.tex:
-           fix up banners a bit
-
-
-Wed Feb  5 09:32:08 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/bboards/mmdfII/READ-ME: update
-
-
-Wed Feb  5 11:25:05 1986  /mtr <mrose@nrtc-gremlin>
-       
-       MH 6.3 #1[UCI] (nrtc-gremlin) is official, still awaiting Berkeley
-           enhancements
-
-
-Wed Feb  5 14:42:55 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/tws/{tws.h,dtime.c}: new argument to dasctime()
-       uip/{format,pick}sbr.c: make use of it
-
-
-Sun Feb  9 22:14:10 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/pop/syslog.c: #ifdef BSD43 means use standard syslog
-
-
-Sun Feb 16 15:40:20 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_setvis.c: oops, fix-up unseen sequence stuff
-       uip/whatnowsbr.c: oops, a couple of typos
-
-
-Sun Feb 16 19:11:33 1986  /mtr <mrose@nrtc-gremlin>
-
-       -- Incorporate Berkeley enhancements, courtesy of Van Jacobson --
-       h/{format,scan}sbr.h: updated for new formatsbr stuff
-       h/mh.h: updated for new m_getfld
-       conf/MH: new default file
-       conf/config/config.c: support spost under BERK and SENDMTS
-       conf/mhconfig.c: support new zotnet/fmt/ directory
-       conf/makefiles/uip: support spost
-       conf/makefiles/zotnetM: support new zotnet/fmt/ directory
-       conf/makefiles/zotnet/fmt: new Makefile
-       conf/makefiles/zotnet/tws: support for new lex-based date parser
-       sbr/m_gmsg.c,uip/msh.c: change init of READONLY
-       sbr/m_getfld.c: re-written, super optimized!
-       support/general/{digestcomps,mhl.digest,mhl.forward,scan.*}: use
-           new fmt stuff
-       zotnet/fmt/: new directory
-       zotnet/tws/{dtimep.lex,lexedit.sed,lexstring.c}: new files
-       zotnet/tws/dtime.c: update
-       uip/{forw,scan,scansbr}.c: use new format stuff
-       uip/{inc,mhlsbr,mshcmds,replsbr}.c: use new format stuff
-       uip/trmsbr.c: use stderr for ioctl()s
-       uip/spost.c: new file
-       uip/{addr,format}sbr.c: remove, they're in zotnet/fmt/
-
-
-Sun Feb 16 23:04:34 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/fmt/: move into sbr/ to avoid loading problems
-       sbr/{addrsbr,formatsbr,fmtcompile,formataddr}.c: new files
-       h/fmtcompile.h: new file
-       conf/makefiles/{sbr,zotnetM}: update
-       sbr/llib-lmh: update
-
-
-Mon Feb 17 20:14:35 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/general/scan.{time,size}: mday/month inverted
-       sbr/{formatsbr,fmtcompile}.c: bring upto date with MH 6.3+
-       sbr/formatsbr.c: missing tzone/sday/dst handling!
-       h/scansbr.h: slight update
-       uip/scansbr.c: try using formataddr() routine to do "correct"
-           formatting of scan'd addresses, didn't work! use friendly
-       zotnet/tws/dtimep.lex: tsk, use lint!  also, fix numeric timezones
-       sbr/addrsbr.c: some ismymbox fixes for non-BERK code (from 6.3)
-       sbr/formatsbr.c: not priming the pump!
-       h/fmtcompile.h, sbr/{formatsbr,fmtcompile}.c: add "friendly"
-       support/general/scan.time2: call it scan.timely
-       conf/makefiles/support/general: support scan.timely
-
-
-Tue Feb 18 01:13:51 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/formatsbr.h: updates from Van
-
-
-Tue Feb 18 02:15:00 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: upgrade for new m_getfld()
-       support/general/scan.*, h/scansbr.h: still more changes
-       support/general/replcomps: still more changes
-
-
-Tue Feb 18 22:14:51 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getfld.c: eom_action() lacking argument
-       sbr/m_getfld.c: not working right on packf'd files
-       uip/{msh,mshcmds}.c: under BPOP, need to fix things so m_getfld()
-           doesn't dump core!
-
-
-Wed Feb 19 00:16:55 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/dist.c, support/general/distcomps, sbr/fmtcompile.c: updates
-           from Van
-       sbr/formatsbr.c: remove ismymbox prime
-       sbr/fmtcompile.c: use adios(), not exit()!
-
-
-Wed Feb 19 00:56:30 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getfld.c: different fix for packf'd files from Van
-
-
-Wed Feb 19 01:55:40 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/mh.h: add msg_* vars in m_getfld() as externs
-       uip/{msh,{repl,scan}sbr}.c: remove msg_* declarations
-       sbr/m_getfld.c: add a bit of BODYEOF support (without slowing it
-           down, wouldn't want to upset Van!)
-
-
-Wed Feb 19 03:11:42 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/{formataddr,fmtcompile,m_{draft,getfld,maildir},printsw,pwd}.c:
-           lint it
-       uip/{formatsbr,forw,msh,replsbr,scan,scansbr,spost}.c: lint it
-       support/pop/popser.c: lint it
-       sbr/formatsbr.c: remove MHFMTDEBUG code
-       */Makefile: depend 'em
-
-
-Wed Feb 19 10:50:04 1986  /mtr <mrose@nrtc-gremlin>
-
-       papers/mh6.4: new interim documentation directory, for 4.3BSD
-       conf/doc/{MH,ap,dp,mh,mh-chart,mhl,repl,scan}.rf: update
-       conf/doc/mh-format.rf: new file
-       support/general/replcomps: oops, should call formataddr on all
-           addrs
-
-
-Thu Feb 20 08:07:49 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{a,d}p.c: start working on it
-       h/formatsbr.h: new variable fmt_norm
-       sbr/formatsbr.c: use it
-       h/fmtcompile.c, sbr/{fmtcompile,formatsbr}.c: define "pretty"
-       sbr/formataddr.c: sight touch-up
-       uip/formatsbr.c: oops, bug in PUTD()
-       uip/{fmtcompile,formatsbr}.c: init mn structures in case of error.
-           This is still buggy since: 1) the structure still doesn't get
-           reset on errors, and 2) you can still dereference nulls
-       zotnet/tws/dtimep.lex: slight touch-up
-
-
-Thu Feb 20 19:55:20 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/mhlsbr.c: add formatsbr support
-       sbr/addrsbr.c: use better default matching in ismymbox
-       miscellany/mtrenv: update
-       support/general/mhl.*: update
-
-
-Thu Feb 20 22:57:33 1986  /mtr <mrose@nrtc-gremlin>
-       
-       MH 6.4 #1[UCI] (nrtc-gremlin) made available to Van Jacobson
-           for inclusion in 4.3BSD UNIX
-
-
-Sun Feb 23 13:59:46 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_gmsg.c: big bug fix from Terry West.  Thanks, Terry!
-       h/strings.h: System5 bcopy-equivalents from Doug Gwyn
-       zotnet/tws/tws.h: support #ifdef ATZ
-       conf/makefiles/uip: slight lint botch
-
-
-Mon Feb 24 17:14:39 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/inc.c: have -host/-file ask if file doesn't exist
-       uip/{packf,mshcmds}.c: ditto
-
-
-Tue Feb 25 08:08:43 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/burst.c: another realloc() fix from Terry West
-       sbr/vfgets.c: ditto
-       support/pop/popser.c: enhancmenets from Dave Cohrs
-       conf/doc/pop5.rf: document it
-       conf/mhconfig.c: support "debug" directive
-       makefiles/*: use it
-
-
-Tue Feb 25 09:47:09 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{scan,mshcmds}.c: slight touch-ups
-       uip/mhlsbr.c: fix up SIGPIPE handling, again
-       support/general/scan.time: fix up for numeric timezone
-       uip/scansbr.c: re-support "encrypted"
-       uip/msh.c: add "exit" command for Dave Farber
-       miscellany/convert: new directory
-
-
-Tue Feb 25 17:45:28 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/mshsbr.h, uip/msh*.c: add direct folder support for symmetry's
-           sake, ugh!
-
-
-Wed Feb 26 21:05:46 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/sendsbr.c: better diagnostics when post fails
-
-
-Thu Feb 27 22:12:53 1986  /mtr <mrose@nrtc-gremlin>
-
-                            -- Van sends updates --
-       conf/makefiles/uip, h/fmtcompile.h,
-       sbr/{format{addr,sbr},fmtcompile,addrsbr}.c,
-       support/general/replcomps, uip/{repl,mhl,scan,whatnow}sbr.c
-
-
-Thu Feb 27 22:16:43 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/formataddr.c: remove <strings.h>
-       sbr/addrsbr.c: Van doesn't like "user*" instead of "user" as the
-           default is-my-mailbox for BERK.  Since he's the BERK-author, I'll
-           assume he knows what he's doing...
-       support/general/replcomps: Use "tws", instead of "pretty" for
-           in-reply-to:
-       uip/whatnowsbr.c: If -draft{folder,message} and -nodraftfolder are
-           added as no-ops, make them "hidden" from -help output
-       uip/{{a,d}p,forw,mhlsbr}.c: update
-
-
-Mon Mar  3 10:18:40 1986  /mtr <mrose@nrtc-gremlin>
-
-                      -- Van sends fixes to my updates --
-       uip/mshcmds.c: not resetting scansbr for formatting
-       uip/scansbr.c: oops, typo!
-
-
-Mon Mar  3 16:53:19 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/sendsbr.c: oops, close() on an uninitialized variable! (thanks
-           to Jim Koda)
-
-
-Tue Mar  4 08:15:17 1986  /mtr <mrose@nrtc-gremlin>
-
-                      -- Van sends fixes to my updates --
-       uip/mhlsbr.c: not resetting mhlsbr for formatting
-       zotnet/tws/dtimep.lex: not getting MIL-TZ's right
-
-
-Tue Mar  4 09:53:31 1986  /mtr <mrose@nrtc-gremlin>
-
-       papers/usenix/: change to realwork/
-
-
-Wed Mar  5 12:48:58 1986  /mtr <mrose@nrtc-gremlin>
-
-       dist/READ-ME: oops, forgot usenix name change
-       conf/makefiles/uip: hmm, interesting loader problem
-
-
-Thu Mar  6 13:36:26 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/addrsbr.c: yet another fix for ismymbox()
-       uip/replsbr.c: #ifdef ISI code to avoid duplicate replies (due to
-           Jim Koda)
-
-
-Sun Mar  9 14:04:26 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/mh-gen.8: add a line about chown and sys5
-       sbr/m_convert.c: better BADRNG diagnostic
-       uip/mshcmds.c: oops, typo
-
-
-Sun Mar  9 14:06:54 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/scansbr.h, sbr/fmtcompile.c: better versions from Van
-       support/general/{replcomps,scan.timely}: better versions from Van
-           (snuck the %pretty instead of %tws in, eh Van?)
-       support/general/{digestcomps,mhl.forward,scan.{size,time}}: update
-
-
-Sun Mar  9 18:52:37 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/scansbr.h, support/general/{digestcomps,mhl.forward,scan.*}: update
-
-
-Sun Mar  9 20:09:35 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/bboards/bboards.h: add BB_REMOTE flag for bbc
-       uip/bbc.c: support BB_REMOTE, under #ifdef MTR for the moment
-       uip/bbc.c: allow bb_aka (again?!?)
-
-
-Mon Mar 10 00:43:19 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{msh,mshcmds}.c: packf hack, ala refile hack
-       uip/{post,rcvdist}.c, support/bboards/mmdfII/bboards/bb_wtmail.c:
-           MMDF-II nameserver support from Steve Kille
-
-
-Mon Mar 10 10:17:29 1986  /mtr <mrose@nrtc-gremlin>
-
-       {sbr/formatsbr,uip/scansbr}.c: more optimizations from Van!
-       sbr/m_getfld.c: Van fixes problems due to losing vanilla-4.2 C
-           optimizer!
-       sbr/m_getfld.c: slight touch-up by MTR
-       uip/bbc.c: remove #ifdef MTR bracketing, code works fine
-       uip/refile.c: slight touch-ups
-       sbr/m_getfld.c: on xxxERR returns, forgetting to zero value buffer
-
-
-Mon Mar 10 18:08:37 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/post.c: fix handling of (in)visible addresses
-       uip/rcvdist.c: re-do to use format facility
-       uip/{replsbr,forw}.c: touch-ups
-       conf/config/config.c, h/mh.h: new variable rcvdistcomps
-       conf/{makefiles/{uip,support/general},doc/mhook.rf}: update
-       sbr/m_getfld.c: bstring() support for non BSD42, SYS5 systems
-       conf/doc/ADMIN.rf: update
-
-
-Tue Mar 11 19:43:27 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/dropsbr.h, uip/dropsbr.c: new routines mbx_read() and mbx_write()
-       uip/{msh,mshcmds}.c, support/pop/popser.c: use it
-       h/{addr,format,scan}sbr.h, sbr/addrsbr.c: slight touch-up
-       uip/inc.c: slight touch-up
-
-
-Sun Mar 16 15:20:27 1986  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/mem: appointment diary support from Ken Yap
-
-
-Wed Mar 19 23:00:53 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/pop/popser.c: one last fix for ENOENT mailboxes
-
-
-Wed Mar 19 23:12:54 1986  /mtr <mrose@nrtc-gremlin>
-
-                          -- Changes for MMDF-IIb --
-       uip/post.c, support/bboards/mmdfII/bboards/bb_wtmail.c: know about
-           new mm_winit protocol and RP_NS/RP_DOK responses
-
-
-Thu Mar 20 23:05:10 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/mhlsbr.c: mhl enhancement from JLR permitting a prefix string
-           for each line of the body (e.g, "component="    > ")
-
-
-Fri Mar 21 21:12:39 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/{MH,mh-format}.rf: typos
-
-
-Sat Mar 22 11:51:45 1986  /mtr <mrose@nrtc-gremlin>
-
-                        -- Fixes from Phyllis Kantar --
-       uip/dropsbr.c: typo
-       conf/doc/{send,pick}.rf: typos
-       conf/makefiles/doc: forgot $(OPTIONSn) in $(MAN1) definition
-
-
-Sat Mar 22 18:24:35 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/mhmail.c: handle -body better
-
-
-Mon Mar 31 15:07:26 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/replsbr.c: handle bad addresses with better diagnostics
-
-
-Wed Apr  2 17:17:32 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/addrsbr.c: slight typo in comment
-
-
-Sun Apr  6 19:22:52 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/inc.c: forgot to initialize some FILE*'s; dumps core on
-           celerity
-
-
-Mon Apr  7 09:55:23 1986  /mtr <mrose@nrtc-gremlin>
-
-       mts/sendmail/smail.c: slight "client" check
-
-
-Wed Apr  9 12:04:56 1986  /mtr <mrose@nrtc-gremlin>
-
-                        -- Van fixes some more bugs --
-       sbr/m_getfld.c: not handling buffer boundary cases right
-       uip/replsbr.c: not adding "," correctly when concatenating an
-           address string during message scan
-       sbr/formatsbr.c: mymbox test dumped core if address parse failed
-       h/{fmtcompile,formatsbr}.h, sbr/{fmtcompile,formatsbr}.c: more
-           enhancements
-
-
-Wed Apr  9 12:36:58 1986  /mtr <mrose@nrtc-gremlin>
-
-                   -- MTR actually gets to fix something! --
-       sbr/m_getfld.c: messages with an empty body caused inc to
-           prematurely think the maildrop had reached EOF.  Believe it
-           or not, the mhmail fix last month exercised this!
-
-
-Wed Apr  9 22:08:37 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/vmh.c: output non-standard control characters in carat format
-
-
-Thu Apr 10 02:26:52 1986  /mtr <mrose@nrtc-gremlin>
-
-       Makefile: touch-up "make distribution"
-       conf/examples/nrtc-*-mtr: remove
-       conf/makefiles/uip: touch-up
-       conf/doc/MH.rf: add TMA stuff, conditionally
-
-
-Thu Apr 10 03:47:48 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getfld.c: Van fixes Marshall's fix
-
-
-Thu Apr 10 10:42:25 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/scansbr.c: recognize the 822 "Encrypted:" header instead of
-           doing a uprf() on the body
-       uip/{scan,mshcmds}.c: recognize SCNENC return from scan ()
-
-
-Thu Apr 10 15:06:59 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/config/bboards.*: mail reports to PostMaster
-
-
-Sat Apr 12 16:32:21 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/post.c: try to keep fcc:s under MH-directory so links are
-           maintained
-
-
-Mon Apr 14 22:56:46 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/bboards/bbexp.c: not ending msh correctly, msh tried
-           to update the maildrop even though it was already locked
-           by bbexp
-
-
-
-Mon Apr 14 23:52:03 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getfld.c: locc() not range checking on cnt
-
-
-Thu Apr 17 13:25:20 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/addrsbr.c: fix from Terry West, more alternate-mailbox misery
-
-
-Thu Apr 17 20:51:53 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/mts/lock.c: add some more #ifdefs to support stand-alone
-           locking library
-       conf/examples/udel*: update
-       papers/myths/: remove
-       conf/makefile/papers: update
-
-
-Mon Apr 21 10:22:09 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/mf/mf.c: sanity check in getadrx() on string to parse
-
-
-Mon Apr 21 17:31:43 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{inc,post}.c: slight mods for TMA mods
-       conf/doc/mh-chart.rf: ditto
-
-
-Thu Apr 24 00:19:35 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/mh-chart.rf: slight mods for TMA mods
-
-
-Thu Apr 24 10:34:06 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/mts/lock.c: lint touch-up
-       support/pop/popd.c: ditto
-
-
-Thu Apr 24 19:37:09 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/ADMIN.rf: typos
-
-
-Thu Apr 24 20:13:28 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/msgchk.c: print out last read date
-       conf/makefiles/uip: add tws dependency
-
-
-Thu Apr 24 23:53:57 1986  /mtr <mrose@nrtc-gremlin>
-
-                             -- From Craig Partridge --
-       support/bboards/mmdfII/bboards/*: bug fixes for MMDF-IIb
-       conf/mh-gen.8: mention that MMDF-IIb has the BBoards distribution
-
-
-Fri Apr 25 00:01:50 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/ADMIN.rf: slight touch-up
-
-
-Fri Apr 25 10:47:19 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/trmsbr.c: use stdout (not stderr) for termcap checking
-
-
-Fri Apr 25 13:39:55 1986  /mtr <mrose@nrtc-gremlin>
-
-                          -- From Craig Partridge --
-       support/bboards/mmdfII/bboards/getbbent.c: bad field in BBoards file
-           causes hang, note it and skip!
-
-
-Sun Apr 27 17:23:56 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/scansbr.c: recognition of 822 Encrypted: header a bit botched
-       h/scansbr.h, support/general/scan.*: support encrypted
-
-
-Mon Apr 28 21:00:21 1986  /mtr <mrose@nrtc-gremlin>
-
-                       -- Yet Another Fix from Terry --
-       uip/dropsbr.c: another typo
-
-
-Tue Apr 29 20:17:11 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/mhook.rf: extra tip with SendMail and slocal
-
-
-Thu May  1 15:30:07 1986  /mtr <mrose@nrtc-gremlin>
-
-                          -- From Craig Partridge --
-       support/pop/mmdfII/pop/READ-ME: fixes
-
-
-Fri May  2 16:35:11 1986  /mtr <mrose@nrtc-gremlin>
-
-                         -- More Bug Fixes from Van --
-       uip/scansbr.c: check return from fclose()
-       uip/inc.c: avoid locking/stat race condition
-       sbr/m_sync.c: lock signals out during update of sequences
-
-
-Fri May  2 17:02:01 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/show.c: WHATNOW botch fixed by Jim Valerio
-
-
-Sat May  3 01:37:15 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/{m_{sync,update},pidwait}.c, uip/{bbc,sendsbr,vmh}: inspired
-           by Van's 4.2BSD signal optimizations
-
-
-Sat May  3 02:49:29 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/tws/{tws.h,dtime.c,dtimep.lex}: fixes for DST
-       conf/makefiles/zotnet/tws: add -n to lex's invocation
-
-
-Sun May  4 13:28:23 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/msgchk.c: change the "last read" message to use alpha-timezones
-
-
-Sun May  4 14:18:15 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/general/replcomps: use %tws instead of %pretty
-       support/general/mhl.*: streamline slight
-
-
-Sun May  4 16:10:36 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/mh.rf: forgot about TMA stuff
-       conf/makefiles/doc: forgot rcvstore
-
-
-Sun May  4 17:49:43 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/pidwait.c, uip/{bbc,sendsbr,vmh}.c: back off signal handling
-           modifications
-
-Sun May  4 18:08:47 1986  /mtr <mrose@nrtc-gremlin>
-
-       MH 6.5 #1[UCI] (nrtc-gremlin) made available to Van Jacobson
-           for inclusion in 4.3BSD UNIX
-
-
-Mon May  5 13:32:37 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/trmsbr.c: try Van's version for a while
-       miscellany/patch: updates from Van
-
-
-Mon May  5 16:07:12 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/bboards/mmdfII/bboards/bb_wtmail.c: patch for IDIOTIC change
-           in qu_rtxt()
-
-
-Wed May  7 13:16:45 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/post.c: modification for fcc:s broke stand-alone behavior for
-           daemons, etc.; use old method as a fall-back
-       sbr/m_foil.c: also improve modification a bit
-       support/pop/smtpd.c: dead weight
-
-
-Thu May  8 17:50:22 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/bboards/bbexp.c: set the mode on the archive file if
-           creating it, since m_gmprot() isn't a good default for this
-           application
-
-
-Sun May 11 12:40:34 1986  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/scripts/READ-ME: add amhmail description
-       miscellany/scripts/amhmail.sh: new script
-
-
-Mon May 12 09:12:39 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getfld.c: new version of matchc() from Van that doesn't
-           give the SUN indigestion
-
-
-Tue May 13 07:59:36 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/replsbr.c: some fixes from Van
-
-
-Tue May 13 15:14:07 1986  /mtr <mrose@nrtc-gremlin>
-
-                          -- Some Fixes from Hokey --
-       uip/vmh.c: a few more SYS5 dependencies
-       zotnet/tws/dtimep.lex: added #include strings.h
-       conf/makefiles/zotnet/tws: added dependency for above
-       uip/post.c: pre-emptive reference of discard to help SYS5 loader
-       conf/examples/plus5: update
-       miscellany/less/Makefile: add SHELL=/bin/sh
-       sbr/m_getfld.c: slight redeclaration for SYS5
-
-
-Tue May 13 17:44:47 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/{fmtcompile,formatsbr}.c, support/pop/popwrd.c,
-       uip/{ap,inc,rcvtty,post,spost,whatnowsbr}.c:
-           add some lint stuff
-       conf/makefiles/uip: better lint support for TMA
-
-
-Thu May 15 16:36:19 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{inc,msgchk,post,send}.c: improve #define-dependent
-           switches declarations
-
-
-Thu May 15 17:09:34 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/msgchk.c, conf/doc/{mh-chart,msgchk}.rf: add -[no]date,
-           and -[no]notify type switches
-
-
-Tue May 20 19:09:15 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/scan.c: free'ing a static, tsk
-
-
-Tue May 20 22:51:13 1986  /mtr <mrose@nrtc-gremlin>
-
-                            -- From Steve Smith --
-       conf/examples/ridge: config file
-       sbr/{m_gmsg,pwd}.c: although SYS5, uses <ndir.h>
-       uip/show.c: not null-terminating argvector
-       uip/{bbc,vmh}.c: although SYS5, has SIGTSTP
-       uip/sbboards.c: pre-emptive reference of discard to help SYS5 loader
-       conf/{mh-gen.8,mhconfig.c}: add "oldload none"
-
-
-Wed May 21 10:10:21 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{rcvdist,replsbr}.c: malloc/free fixes from Steve Smith
-
-
-Wed May 21 20:51:47 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/{mh-gen.8,doc/{ADMIN,MH}.rf, papers/*/*, COVER-LETTER: update
-           mail addresses
-
-
-Thu May 22 08:05:03 1986  /mtr <mrose@nrtc-gremlin>
-
-                       -- Two New Documents from UCI --
-       conf/makefiles/{papers,dist}: update
-       dist/READ-ME: remove
-       conf/doc/MH.rf: update
-       papers/beginners: new paper "MH for Beginners"
-       papers/mh4mm: new paper "MH for MM Users"
-
-
-Thu May 22 08:13:17 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/mh-gen.rf: update
-
-
-Thu May 22 15:08:06 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/general/replcomps: typo
-
-
-Tue May 27 19:35:38 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/pop/popd.c: support for 4.3BSD syslog
-
-
-Wed May 28 12:44:21 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/fmtcompile.c: allow literal '%'s in format files
-
-
-Wed May 28 16:56:40 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/examples/nrtc-gremlin: add -125 switch for GHS compiler
-       sbr/getans.c,uip/{mhlsbr,prompter,rcvtty,sendsbr}.c: a bit more
-           careful with the setjmp()
-
-
-Thu May 29 23:42:54 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/general/scan.mailx: mailx scan format from Bob Simpson of
-           plus5
-       support/general/mhl.body: format from mtrenv
-
-
-Sun Jun  1 23:07:24 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/trmsbr.c: add sc_hardcopy()
-       uip/mhlsbr.c: use it so we don't fork a more on hardcopy ttys
-       conf/doc/mhl.rf: document it
-
-
-Fri Jun  6 10:56:40 1986  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/less/screen.c: handle HP terminals better
-
-Tue 10 Jun 86 15:34    John Romine     <jromine@nrtc-gremlin>
-
-       h/scansbr.h: eliminate superfluous space from default format
-           string
-
-
-Fri 13 Jun 86 10:29    John Romine     <jromine@nrtc-gremlin>
-
-       h/scansbr.h, support/general/scan.{timely,time,size}: add ">>" at
-           end of body in format string
-
-
-Fri Jun 13 15:28:10 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/addrsbr.c: another #ifdef BERK fix for the SUN
-
-
-Fri Jun 13 20:08:36 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/aliasbr.c: not testing for relative names correctly
-
-
-Sun Jun 15 14:20:10 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/scansbr.h, support/general/scan.{timely,time,size}: remove JLR's
-           fix since it doesn't work right
-
-
-Mon Jun 16 19:56:09 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/{m_gmsg,pwd}.c, uip/{bbl,conflict,folder,rmf}.c: add NDIR
-           compile-time option if -lndir include file is called <ndir.h>
-           instead of <dir.h> (non BSD systems)
-       h/local.h: new file to make this easier
-
-
-Tue Jun 17 10:44:06 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/trmsbr.c: no TIOCGWINSZ working on 4.2BSD ULTRIX!
-
-
-Tue Jun 17 14:21:08 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/scan.c: forgot to make -header always force ATZ behavior
-
-
-Tue Jun 17 15:23:27 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/mh.h: add vfork for hpux
-
-
-Wed Jun 18 11:05:40 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/bboards/bbexp.c: create archives in BBMODE format, private
-           bboards should have archives created by the BBoards user (just
-           like the standard file)
-
-
-Wed Jun 18 19:57:09 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/vmh.c: sanitize for 8-bit whacko characters
-
-
-Thu Jun 19 19:51:43 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/tws/dtimep.lex: fix spelling for august
-
-
-Mon Jun 23 20:45:35 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/vmh.c: Bob gives us another sys5 fix
-
-
-Sun Jun 29 21:11:30 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/addrsbr.c: yet another fix for the SUN (yaffts)
-       conf/mhconfig.c: if both mts/smtp and options BERK, turn off
-           SMTP
-
-
-Tue Jul  8 10:50:39 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/scansbr.c: split-up a statement for the RT compiler
-       conf/mh-gen.8: add some stuff on POP
-       conf/doc/{ADMIN,popaka}.rf: ditto
-
-
-Fri Jul 11 10:50:31 1986  /mtr <mrose@nrtc-gremlin>
-
-       MH 6.5 official, out of beta, released for UCI distribution
-
-
-Tue Jul 15 20:26:05 1986  /mtr <mrose@nrtc-gremlin>
-
-       papers/{bboards/bboards,tutorial/tutorial}.tex: botched MTR's
-           address
-
-
-Sun Jul 27 11:52:37 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/show.rf: typos
-
-
-Fri Aug  8 12:57:35 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       conf/config/config.c, h/mh.h, sbr/m_readefs.c, uip/mhlsbr.c:
-           add support for "faceproc"
-
-
-Mon Aug 11 10:10:33 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       uip/mhlsbr.c: choose default face from from: line
-
-
-Tue Aug 12 10:53:47 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       uip/mhlsbr.c: finally stabilize it
-
-
-Tue Aug 12 10:54:47 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       support/pop/popser.c: small fix from Dave Cohrs
-
-
-Thu Aug 14 22:25:23 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/general/replcomps: add return-path to To: list
-
-
-Fri Aug 15 13:58:25 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       uip/vmh.c: slight clean-up
-
-
-Fri Aug 15 23:01:06 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/advertise.c: slight touch-up
-
-
-Mon Aug 18 10:38:34 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       uip/wmh.c: new program--Windowing MH for Integrated Solutions
-           Graphics Workstations; not standardly installed for now since
-           requires special load libraries
-       conf/doc/wmh.rf: man page
-       conf/makefiles/uip: support wmh
-
-
-Wed Aug 20 14:16:12 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       conf/config/MakeBBoards: smarter rule
-
-
-Wed Aug 20 17:23:39 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       uip/mhlsbr.c: a bit less demanding on errors when processing the
-           face
-
-
-Thu Aug 28 19:39:47 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       uip/send.c: handle dist in a read-only folder
-       support/pop/popser.c: anonymous fix for DPOP/BPOP
-
-
-
-Fri Aug 29 09:08:15 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       uip/wmh.c: for pTTY() make original window the top one
-
-
-Tue Sep  2 15:27:34 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{bbc,burst,popsbr}.c: ULTRIX loses on ferror() vs. feof()
-       sbr/vfgets.c: ditto
-
-
-
-Fri Sep  5 09:08:17 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       mts/sendmail/smail.c: define discard() as void
-
-
-Fri Sep  5 09:40:35 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       uip/msh.c: add hidden "advance" command
-       uip/wmh.c: use it
-
-
-Fri Sep  5 14:02:36 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       zotnet/bboards/bboards.h: add BB_SEEN to fix list-handling bug in bbc
-       uip/bbc.c: use it
-
-
-Mon Sep  8 12:47:58 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       conf/config/MakeBBoards: smarter
-
-
-Thu Oct  2 12:37:57 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/pop/popd.c: fixes for 4.3BSD set setsockopt
-
-
-Mon Oct  6 12:07:02 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       conf/examples/encore: config file for Encore Multimax, from Mike
-           Iglesias of UCI
-
-
-Wed Oct  8 15:59:05 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       uip/vmh.c: more SYS5 mods from Bob Desinger
-
-
-Thu Oct  9 12:52:41 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       h/mh.h: make ruserpass nonsense based on NFS not SUN
-
-
-Thu Oct 30 12:57:52 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       sbr/formataddr.c, uip/replsbr.c: another realloc() bug found by
-           Terry West
-
-
-Thu Oct 30 13:03:02 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       uip/{rcvtty,ttyw}.c: if no BSD42, turn off TTYD
-
-
-Mon Nov  3 14:11:48 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       uip/msgchk.c: another SUN fix
-
-
-Mon Nov  3 15:21:38 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       sbr/m_sync.c: fix for sequent machines
-
-
-Mon Nov 10 08:12:16 1986  /mtr <mrose@nrtc-gremlin>
-
-                       -- Stuff from Jef Poskanzer --
-       uip/forw.c: add -[no]dashmunging, a hidden option
-       uip/mhlsbr.c: add -[no]dashmunging, a hidden option
-       {conf/doc/mhl.rf,uip/mhlsbr.c}: add [no]split variable
-
-
-Mon Nov 10 16:57:41 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-                           -- More stuff from Jef --
-       zotnet/tws/dtimep.lex: default timezone to localone one
-
-
-Fri Nov 14 17:25:23 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/mhook: typo found by Phyl
-
-
-Fri Nov 21 14:33:28 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       sbr/smatch.c: deref null bug
-
-
-Sat Nov 22 20:36:31 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: set up time-bomb after HUP
-
-
-Tue Dec  2 13:57:41 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       support/bboards/bbtar.c: fix for sequent machines
-
-
-Wed Dec  3 22:03:58 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/pop/popd.c: minor fix
-
-
-Mon Dec 15 11:11:32 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-       uip/post.c: patch for MMDF-IIb submit
-
-
-Mon Dec 22 12:32:45 1986  /mtr (agent: Marshall Rose) <mother@killer-rat>
-
-                              -- From Stanford --
-       h/dropsbr.h, uip/dropsbr.c, support/pop/popser.c: support LAST
-               command in POP service
-       uip/{inc,mshcmds}.c: ditto
-
-
-Fri Jan  2 18:42:55 1987  /mtr <mrose@nrtc-gremlin>
-
-       uip/dropsbr.c: fixes
-       uip/msh.c, support/pop/popser.c: ditto
-
-
-Fri Jan  2 18:43:09 1987  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/tws/dtimep.lex: ctime w/o TZ hack
-
-
-Fri Jan  2 23:41:19 1987  /mtr <mrose@nrtc-gremlin>
-
-       uip/rcvdist.c: touch-ups to sync with replsbr.c
-       uip/scansbr.c: trash trailing whitespace in header components for
-           formating
-
-
-Sat Jan  3 13:11:22 1987  /mtr <mrose@nrtc-gremlin>
-
-       conf/config/mts.c, mts/sendmail/hosts.c: BIND fix-up
-
-
-Sat Jan  3 15:03:00 1987  /mtr <mrose@nrtc-gremlin>
-
-       h/formatsbr.h: parenthesize better, use case-sensitive in
-           bucket search since hashing is case-sensitive
-       uip/{rcvdist,replsbr}.c: CT_ADDR hacks
-
-
-Sun Jan  4 11:16:54 1987  /mtr <mrose@nrtc-gremlin>
-
-       uip/mhlsbr.c: "extras" hack for Elz
diff --git a/docs/historical/changes/Makefile b/docs/historical/changes/Makefile
deleted file mode 100644 (file)
index 67d4fe0..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-##############################################################################
-# @(#)Makefile,v 1.1.1.1 1993/01/30 04:41:04 jtc Exp
-
-MAKE   =       make DESTDIR=$(DESTDIR) $(MFLAGS) -k
-SHELL  =       /bin/sh
-
-
-##############################################################################
-#      Generation Rules
-##############################################################################
-
-.SUFFIXES:     .ms .cat .doc .imp
-
-.ms.cat:;      itroff -t -ms $< > $@
-
-.ms.doc:;      nroff -ms $< > $@
-
-.cat.imp:;     catimp -i $@ $<
-
-
-######################################################################
-#      Here it is...
-######################################################################
-
-TARGETS        =       mh-changes.doc
-
-all:           mh-changes.doc
-
-
-doc:           mh-changes.doc
-
-i-all: all true
-       lpr -t -J MH-changes mh-changes.cat
-
-true:;
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-
-unconfig clean:                unclean
-               rm -f *.cat *.dvi *.imp *.doc
-
-unclean:;      rm -f *.tmp _* :* core
diff --git a/docs/historical/changes/mh-changes.ms b/docs/historical/changes/mh-changes.ms
deleted file mode 100644 (file)
index 8b2e434..0000000
+++ /dev/null
@@ -1,1010 +0,0 @@
-.\" @(#)mh-changes.ms,v 1.1.1.1 1993/01/30 04:41:04 jtc Exp
-.\" Standard -ms macros
-.\" with the following changes
-.ds lq \\*Q
-.ds rq \\*U
-.\" remember to update date in text below
-.DA "December 14, 1992"
-.if n \{\
-.na
-.\}
-.nr PO 1i
-.po 1i
-.\" .EH ''Changes to MH 6.7'%'
-.\" .OH ''Changes to MH 6.7'%'
-.ds LH Changes to MH 6.8
-.ds CH
-.ds RH %
-.TL
-Changes to
-.br
-The RAND MH Message Handling System:
-.br
-UCI version MH 6.8
-.AU
-John L. Romine
-.AI
-Computing Support Group
-Department of Information and Computer Science
-University of California, Irvine
-Irvine, CA  92717\-3425
-.AB
-.PP
-This document describes the changes to the
-UCI version of the RAND MH system from MH 6.6
-to this release of MH 6.8.
-This document is meant to supplement,
-not supersede,
-the standard MH User's manual and MH Administrator's manual.
-.PP
-Comments concerning this documentation should be addressed to the
-mailbox \fBBug\-MH@ICS.UCI.EDU\fP, or \fBucbvax!ucivax!bug-mh\fP.
-.AE
-.SH
-ACKNOWLEDGEMENTS
-.LP
-The \fIMH\fP system described herein is
-based on the original RAND \fIMH\fP system.
-It has been extensively developed (perhaps too much so) by Marshall T. Rose
-and John L. Romine at the University of California, Irvine.
-Einar A. Stefferud, Jerry N. Sweet,
-and Terry P. Domae provided numerous suggestions
-to improve the UCI version of \fIMH\fP.
-.PP
-Of course,
-a large number of people have helped \fIMH\fP along.
-The list of \*(lq\fIMH\fP immortals\*(rq is too long to list here.
-For this release, numerous \fIMH\-Workers\fP sent in fixes and other
-changes.  A handful of courageous \fIMH\-Workers\fP volunteered
-to beta-test these changes; their help is particularly appreciated.
-.KS
-.SH
-DISCLAIMER
-.LP
-The Regents of the University of California wish to make it known that:
-.QP
-Although each program has been tested by its contributor,
-no warranty, express or implied,
-is made by the contributor or the University of California,
-as to the accuracy and functioning of the program
-and related program material,
-nor shall the fact of distribution constitute any such warranty,
-and no responsibility is assumed by the contributor
-or the University of California in connection herewith.
-.KE
-.KS
-.SH
-CONVENTIONS
-.LP
-In this document,
-certain formatting conventions are adhered to:
-.IP
-The names of
-\s-2UNIX\s+2
-commands, such as \fIcomp\fP
-are presented in \fIitalics\fP.
-.IP
-Arguments to programs, such as `msgs' and `\-nobell' are
-delimited by single-quotes.
-.IP
-Text that should be typed exactly as-is, such as 
-command lines (e.g., \*(lqfolder \-pack\*(rq),
-are delimited by double-quotes.
-.IP
-\s-2UNIX\s+2
-pathnames and envariables,
-such as \fB/usr/uci\fP and \fB$SIGNATURE\fP,
-are presented in \fBbold font\fP.
-.KE
-.ds LH Changes for MH 6.8
-.bp
-.SH
-CHANGES FOR MH 6.8
-.LP
-This is the current released version of \fIMH\fP
-as of December 14, 1992.  This release includes a number
-of bug fixes and internal changes to make the code more
-portable.
-Two new authentication methods are provided for the POP,
-and support for SVR4 shared libraries is complete.
-.PP
-The major user-visible change in this release is the incorporation
-of support for multi-media mail as specified by the
-Multi-purpose Internet Mail Extensions (\fBMIME\fP)
-RFC\ 1341.
-This allows you to include things like audio,
-graphics, and the like, in your mail messages.
-A new command, \fImhn\fP, 
-has been provided to support \fBMIME\fP and
-a detailed man page is provided in \fImhn\fP\|(1).
-.SH
-Documentation
-.LP
-The documentation has some general improvements, and
-the \fBREAD-ME\fP document has been re-organized
-to help \fIMH\fP administrators find the appropriate
-configuration options for their system.
-The \fBMakefile\fPs in the \fBpapers/\fP hierarchy have
-been changed to invoke \fITeX\fP as
-\*(lqtex\*(rq (instead of \*(lqtex82\*(rq).
-.LP
-The following new man pages are also available:
-.IP \fImhn\fP\|(1) \w'\fIpopauth\fP\|(8)'u+2n
-\fImhn\fP helps the user process multi-media mail.
-.IP \fImhparam\fP\|(1)
-\fImhparam\fP lets the user extract information from 
-the \fIMH\fP profile.
-.IP \fIpopauth\fP\|(8)
-the APOP database administration program (see below).
-.IP \fIpopi\fP\|(1)
-the POP initiator (see below).
-.IP \fIslocal\fP\|(1)
-fully documents \fIslocal\fP.  The \fImhook\fP(1) man page now
-documents only the \fIMH\fP receive-mail hooks.
-.SH
-Internal Changes
-.LP
-The \fIMH\fP source code is in the process of being
-cleaned up to make pedantic ANSI C compilers happy.
-Occurrences of \*(lqNULL\*(rq have been replaced by
-\*(lq0\*(rq where appropriate.
-Extra tokens after \*(lq#else\*(rq and \*(lq#endif\*(rq
-have been put inside comments (this is still in progress).
-The code should now compile cleanly on many more systems,
-specifically, more variants of SVR4.
-.PP
-The version of \fBtws/dtimep.c\fP which was included in 
-MH 6.7.2 was incompatible with the \fIlex\fP library
-on some systems, and has been removed.
-.PP
-A bug in the handling of blind lists inside alias
-files has been fixed.
-.KS
-.SH
-Post Office Protocol
-.LP
-There were three new options added to the POP.
-.IP APOP \w'APOP'u+2n
-This option indicates that the POP daemon will
-support the non-standard \fBAPOP\fP command which
-provides a challenge-based authentication system using
-the \fBMD5\fP message digest algorithm.
-.IP
-This option also causes the
-\fIpopauth\fP program to be installed, which
-allows the administrator to manipulate the \fBAPOP\fP
-authorization database.
-.KE
-.IP KPOP
-Support for KERBEROS with POP.
-This code builds
-\fIpopd\fP, \fIinc\fP and \fImsgchk\fP to support only the 
-\*(lqkpop\*(rq protocol.
-This code is still expiremental, but is available for 
-those sites wishing to test it.
-.IP MPOP
-This option indicates that the POP daemon will
-support the non-standard
-\fBXTND SCAN\fP command which provides performance
-enhancements when using the POP over low-speed connections.
-.IP
-This option also causes an interactive POP
-client program, \fIpopi\fP, to be compiled and installed.
-A man page for the \fIpopi\fP program is also provided.
-This option requires the configuration to
-have \*(lqbboards: pop\*(rq.
-.LP
-The APOP and MPOP non-standard POP
-facilities are documented in
-\fIThe Internet Message\fR (ISBN 0\-13\-092941\-7),
-a book by Marshall T. Rose.
-For more details, see \fBsupport/pop/pop-more.txt\fR
-and the \fIAdministrator's Guide\fP.
-The APOP option peacefully co-exists with the standard POP,
-KPOP completely replaces the standard POP, and
-MPOP requires \*(lqbboards: pop\*(rq.
-.SH
-File Locking
-.LP
-The file locking code has been cleaned up to support
-three kinds of kernel-level file locking.  As appropriate
-for your system, include the
-LOCKF, FCNTL or FLOCK option.  For more
-details, see \fImh-tailor\fP\|(5).
-.SH
-.KS
-Configuration Directives
-.LP
-A number of new configuration directives have been added
-or changed.  The full details are given in the \fBREAD-ME\fP.
-.IP cp: \w'MAILGROUP'u+2n
-The command used to install new files if not \*(lqcp\*(rq.
-.IP ln:
-The command used to link files together in the source tree
-if not \*(lqln\*(rq.
-.IP mts:
-Full support for ZMAILER has been added.
-.IP popdir:
-The directory where \fIpopd\fP will be installed if not \fB/usr/etc\fP.
-.IP regtest:
-Set to \*(lqon\*(rq to prevent the hostname and compile
-date from being included in \fIMH\fP binaries.
-.IP sharedlib:
-You may now specify \*(lqsun4\*(rq or \*(lqsys5\*(rq 
-(for SVR4) shared libraries.
-.IP signal:
-Specifies the base type of the function returned by \fIsignal\fP\|().
-This was previously defined with \*(lqoptions TYPESIG\*(rq.
-.KE
-.LP
-Several `-D' options to \fIcc\fP have been added or changed:
-.IP APOP \w'MAILGROUP'u+2n
-Authenticated POP (see above).
-.IP AUX 
-Support for A/UX systems.
-.IP DBMPWD
-The DBM option has been renamed DBMPWD.
-.IP HESIOD
-Support for the HESIOD name server.
-.IP KPOP
-KERBEROS POP (see above).
-.IP LOCALE
-Support for local characters sets; uses the \fIsetlocal\fP\|() function.
-.IP MAILGROUP
-Makes \fIinc\fP set-group-id.
-You may need this option if your \fB/usr/spool/mail\fP
-is not world-writeable.
-.IP MIME
-Multi-media mail.
-.IP MPOP
-Mobile POP (see above).
-.IP MSGID
-Enables \fIslocal\fP to detect and surpress duplicate messages.
-.IP OSF1
-Support for DEC OSF1 systems.  May be incomplete.
-.IP RENAME
-Include this option if your system has a \fIrename\fP\|()
-system call.
-.IP SVR4
-Support for System 5 Release 4 or newer systems.
-.IP TYPESIG
-This option has been dropped.  See `signal' above.
-.IP UNISTD
-Include this option if your system has the include
-file \fB<unistd.h>\fP.
-.IP VSPRINTF
-Include this option if your system has the \fIvsprintf\fP\|()
-library routine; otherwise, \fI\(rudoprnt\fP\|() will be used.
-.IP YEARMOD
-Forces the \fImh-format\fP `year' function to
-return 2-digit values.
-Use this option during a brief transition period if 
-you have local \fImh-format\fP files which need to
-be converted to support 4-digit years.
-.SH 
-FUNCTIONAL CHANGES
-.LP
-In addition to the configuration changes mentioned above,
-a number of functional changes have been made to the system.
-Many programs have new features added and a few new 
-programs have are provided.  
-Each command's manual page gives
-complete information about the its operation.
-Here is a short summary of the changes.
-.SH
-MH Sequences
-.LP
-A larger number of user-defined sequences are available.
-Previously, this number had been 10.
-On 32-bit systems, 26 user-defined sequences are available.
-.SH
-Profile Components
-.LP
-\fIMH\fP programs will now complain if the 
-\fB\&.mh\(ruprofile\fR does not end in a newline.
-Also, one enhancement and one new profile component are provided:
-.IP Aliasfile: \w'AliasfileX'u+2n
-Multiple filenames may now be given.
-.IP Inbox:
-New; the default folder (for \fIinc\fP, etc.) if not \*(lqinbox\*(rq.
-.KS
-.SH
-Format Strings
-.LP
-A few minor bugs were fixed in format string handling,
-and a few new features were added.  See \fImh-format\fP\|(5)
-for complete details.
-.IP Addresses \w'Xxyearxdatexx'u+2n
-An attempt is made to decipher X\&.400 RFC\ 987-style addresses.
-.IP Comments
-Comments may be added to \fImh-format\fP files; a comment
-begins with the 2-character sequence \*(lq%;\*(rq,
-and ends with an un-escaped newline.
-.IP "%(modulo n)"
-The `modulo' function escape has been added.
-.IP %(year{date})
-The date parser has been enhanced to understand more
-illegal date formats; `year' now returns a 4-digit number.
-.KE
-.SH
-User Interface Programs
-.LP
-A number of \fIMH\fP commands have minor changes:
-.IP ali \w'packmbox'u+2n
-The output with `\-user\0\-list' was
-changed to match the output with `\-nouser\0\-list'.
-.IP burst
-Will no longer drop the last message of a digest.
-.IP inc
-Accepts the `\-apop' switch for authenticated POP (see above);
-will attempt to detect write
-errors (e.g., no space left on device) when incorporating mail;
-no longer replaces newline characters with NULLs.
-.IP folder
-The `\-noprint' option was broken and has been dropped.
-.IP forw
-Supports `\-mime' to use MIME-style multi-part messages.
-.IP mhl
-Will no longer put an extra space at the end of the
-`%{text}' in a formatfield.
-.IP mhn
-New; manipulates multi-media (MIME) messages; a detailed
-man page is provided.
-.IP mhparam
-New; reads the \fIMH\fP profile (and context) 
-and writes the values of the specified components on the
-standard output; useful in programmatic constructs.
-.IP msgchk
-Supports `\-apop' (see above).
-.IP packmbox
-New; packs an \fIMH\fP folder into a UUCP-style mailbox.
-.IP popi
-New; a client-side POP initiator; available only if you
-built \fIMH\fP with the MPOP option (see above).
-.IP refile
-A bug where the `rmmproc' did not remove all specified
-message files has been fixed.
-.IP scan
-The `\-file' option is fully supported and will no longer
-complain about empty folders.
-.IP send
-Supports `\-mime' and `\-split' to split large messages
-into multiple partial messages using MIME.
-.SH
-Support Programs
-.IP fmtdump \w'packmbox'u+2n
-Can now read a format file, or a format string given
-on the command line.
-.IP popauth
-New; manages the APOP authorization database (see above).
-.IP sendmail
-The \fIsendmail\fP replacement will be installed
-only if your `mts' setting uses the `/smtp' option.
-.IP slocal
-A new man page for \fIslocal\fP is available;
-the new `mbox' action is available to write a file
-in \fIpackf\fP format;
-a bug where extra `>' characters were written to MMDF-style
-maildrops has been fixed; 
-if compiled with the MSGID option, can detect and suppress
-reception of duplicate messages.
-.IP viamail
-New; bundles a directory (like \fIshar\fP\|) and
-sends it through multi-media mail.
-
-.ds LH Changes for MH 6.7.2
-.bp
-.ds CF Feb 1, 1992
-.SH
-CHANGES FOR MH 6.7.2
-.LP
-The MH.6.7.2 patch release is a maintenance
-release.
-This is the
-current released version of \fIMH\fP as of February 1, 1992.
-.PP
-This release now supports the NCR Tower running SYS5R4.
-The WP changes installed in MH.6.7.0 have been removed.
-.SH 
-Shared Libraries
-.LP
-Support for SYS 5 shared libraries is in progress.
-.PP
-Support for Sun OS 4.0 shared libraries had been improved.
-The \fIMH\fP library has been modified to move initialized
-data into a data definition file.  The shared library will
-now consist of a \fBlibmh.so\fP and \fBlibmh.sa\fP file.
-The shared library version number will no longer track the
-\fIMH\fP patch release number, and its numbering begins with
-version `1.1' with this release.
-.SH
-Replacement SendMail
-.LP
-Since many standard system programs expect to post mail by 
-invoking \fB/usr/lib/sendmail\fP,
-a minimal replacement \fISendMail\fP is provided in 
-this release.  This replacement is meant to be installed
-on (e.g., diskless) client workstations which post mail
-using SMTP, and do not run a message transport system.
-It will call \fIpost\fP to post mail; be sure you have
-configured \fIMH\fP with the `/smtp' mts option.
-This sendmail replacement is installed in your 
-\fIMH\fP etc directory, and you should link 
-\fB/usr/lib/sendmail\fP
-to it.
-.KS
-.SH
-Format Strings
-.LP
-A manual page for the \fIfmtdump\fP format string disassembler
-is supplied, and some new format functions were added:
-.IP folder \w'%getenv'u+2n
-In \fIscan\fP, this component escape
-contains the name of the current folder.
-It is not defined for other \fIMH\fP commands.
-.IP getenv
-This function escape returns the value of an environment variable.
-.KE
-.PP
-There will be some additional changes in these routines in the
-next patch release.
-.KS
-.SH
-Other Bug Fixes and Enhancements
-.LP
-In addition to some other minor enhancements,
-some bugs were fixed which in general were not user\-visible:
-.IP "Blind lists" \w'datexparsing'u+2n
-Users may now specify RFC822 address groups in their
-alias files.  These groups are implemented by \fIMH\fP 
-as blind lists.
-.IP "date parsing"
-A number of sites have brain-damaged versions of \fBlex\fP.
-\fIMH\fP will now come with the date parser already run
-through lex.
-.IP mark
-A bug dealing with \fImark\fP and the sequence named `cur'
-is fixed.  This was previously a problem for mh-e users.
-.IP MH.doc
-The \fIMH\fP nroff version of the manual no longer contains
-teletype escape sequences.
-.IP scan
-Can now handle headers as long as 512 bytes.
-.IP Signals
-\fIMH\fP programs will no longer catch the \fBHUP\fP
-and \fBTERM\fP signals while waiting for a sub-process.
-This was causing hung processes when your terminal line was
-was dropped unexpectedly.
-.IP Signature
-If your signature is not defined, \fIMH\fP will 
-use the value of the gecos field of your \fB/etc/passwd\fP
-entry as your signature.
-.IP "version.sh"
-A bug in the \fBawk\fP script in \fBconfig/version.sh\fP 
-was fixed.
-.KE
-.ds LH Changes for MH 6.7.1a
-.bp
-.ds CF January 25, 1991
-.SH 
-CHANGES FOR MH 6.7.1a
-.LP
-The MH.6.7.1a patch was made available 
-on January 25, 1991 for limited distribution only.
-(This release had some known bugs, and so was
-not widely distributed.)
-This release incorporates several new features
-of particular note to users of sequences and format strings,
-as well as some general documentation improvements.
-There are a few minor enhancements and internal bug fixes also.
-Complete documentation of these changes is given in
-the individual manual pages, and the \fBREAD-ME\fP file.
-.SH
-Message Sequences
-.LP
-A new manual page, \fImh\-sequence\0\fP(5), has been added.
-This manual page attempts to completely document the
-syntax and semantics of \fIMH\fP message sequence specifications.
-.PP
-A powerful new feature is the ability to specify message
-ranges with user-defined sequences.  The  specification
-\*(lqname:n\*(rq may be used, and it designates up to the
-first `n' messages (or  last  `n' messages  for  `-n')
-which  are  elements  of the user-defined sequence `name'.
-.PP
-The message
-specifications \*(lqname:next\*(rq and \*(lqname:prev\*(rq
-may also be used, and they
-designate the
-next or previous message (relative to the current message)
-which is an element of the user-defined sequence `name'.
-The specifications
-\*(lqname:first\*(rq and \*(lqname:last\*(rq are equivalent
-to \*(lqname:1\*(rq and \*(lqname:\-1\*(rq, respectively.
-The specification \*(lqname:cur\*(rq is not allowed
-(use just \*(lqcur\*(rq instead).
-.PP
-These specifications allow the user to step through
-a sequence with a command like \*(lqshow name:next\*(rq.
-.SH
-Format Strings
-.LP
-\fIMH\fP format strings now support an if-then-elseif-else
-clause (the `elseif' is new).  This will make
-format strings with multi-case conditions somewhat less complex.
-.PP
-A new format function `addr' had been added.  This function
-takes an address header name as its argument, and returns
-a rendering of the address contained in that header
-as \*(lquser@host\*(rq or \*(lqhost!user\*(rq.
-.PP
-Format widths now may be specified as a negative number.
-This causes the output to be right-justified
-within the format width.
-.KS
-.SH
-Other Changes
-.LP
-Along with a few minor enhancements,
-some bugs were fixed which in general were not user-visible:
-.IP "fmtdump" \w'whatnow'u+2n
-This new program 
-produces an pseudo-language
-representation of an \fIMH\fP format file, vaguely
-reminiscent of assembly language.  While this output format
-is not explicitly documented,
-it can still be useful when debugging \fIMH\fP format files.
-.IP "refile"
-Now takes a `\-\[no\]rmmproc' switch.  This makes it
-easier to avoid loops when your \*(lqrmmproc\*(rq calls \fIrefile\fP.
-.IP "slocal"
-A problem with the UUCP-style mailboxes,
-the `RPATHS' configuration option,
-and the \*(lqReturn-Path:\*(rq header was fixed.
-.IP "sortm"
-Will ensure that no messages are lost if it is interrupted.
-.IP "whatnow"
-Will now tell you where it is leaving the draft, when
-interrupted in the initial edit.  Previously the draft 
-was simply unlinked.
-.KE
-.KS
-.SH
-Compilation Options
-.IP "LOCKF" \w'whatnow'u+2n
-This option causes \fIMH\fP to use the \fBlockf()\fP
-system call for locking (if available),
-instead of \fBflock()\fP.
-.KE
-.ds LH Changes for MH 6.7.1
-.bp
-.ds CF December 14, 1990
-.SH 
-CHANGES FOR MH 6.7.1
-.LP
-The MH.6.7.1 patch release is a maintenance
-release, and as such, provides few changes from 
-the previous release.  This is the
-current released version of \fIMH\fP as of December 14, 1990.
-.SH
-User-Visible Changes
-.LP
-The major change in this release is to the
-POP daemon (popd).  In \fIMH\fP 6.7,
-it was changed to be able to read both UUCP and
-MMDF-style mailboxes.  This did not work as reported.  The
-code has now been changed to parse MMDF-style mailboxes if
-you are configuring MH to run with MMDF as your message
-transport system.  Otherwise, UUCP-style mailboxes are
-expected.
-.PP
-Since there are number of client programs available for
-only the POP2 protocol instead of POP3, popd has been
-updated to support both protocols.  This is a major
-win.  If you are compiling
-with POP turned on, add the `POP2' option to
-your \fIMH\fP config file, and the POP daemon
-will respond to POP2 or POP3 commands.  If you're using
-POP, there's no reason not to include this option; it does
-not affect the existing support for POP3.
-.KS
-.SH
-Internal Changes
-.LP
-Some bugs were fixed which in general were not user-visible:
-.IP "context" \w'replnnetcn'u+2n
-Errors when writing out sequences are detected correctly.
-.IP "inc"
-No longer inserts extra blank lines into messages.
-.IP "mh-format"
-A nil pointer bug in the address parser was fixed.
-.IP "repl, etc."
-The malloc/free problem has been fixed.
-.IP "rmf"
-A spelling error in the `\-nointeractive' switch has been corrected.
-.IP "rcvtty"
-Will not print the message size if not available (i.e., zero).
-.IP "send/post"
-Illegal signatures (those containing unquoted "."s) will be quoted.
-.KE
-.ds LH Changes for MH 6.7.0
-.bp
-.ds CF April 12, 1990
-.SH
-GENERAL CHANGES FOR MH 6.7.0
-.LP
-The author is pleased to announce that there are very few
-user\-visible
-changes to \fIMH\fP 6.7 from the previous \fIMH\fP 6.6 distribution.
-The majority of development was in the form of bug fixes and
-slight enhancements.
-In addition, this release is slightly faster than the
-previous release.
-With a few minor exceptions,
-it is backward\-compatible with the previous release.
-\fIMH\fP 6.7.0 is the current released version of \fIMH\fP
-as of April 12, 1990.
-.PP
-The changes were made mainly to generalize the source code to
-be compatible with a larger range of systems and compilers.
-There were many small changes to add declarations for ANSI C compliance.
-The System 5 support has been brought up to SYS5 R3, and there is
-support for Sun OS 4.0.
-.SH
-User\-Visible Changes
-.LP
-Here a quick summary of the
-changes that were made which are not backward\-compatible with the
-previous release of \fIMH\fP:
-.IP repl \w'sortm'u+2n
-The `\-format' and `\-noformat' switches
-have not been functional since \fIMH\fP 5, and have been removed.
-Any users who have these switches in their \fB\&.mh\(ruprofile\fP,
-will have to remove them.
-.IP sortm
-Previously, in most cases \fIsortm\fP would fill\-in any
-gaps in the numbering of a folder, 
-by renumbering the messages starting with `1'.
-This will no longer occur; for this behavior,
-use \*(lqfolder \-pack\*(rq.
-.PP
-.SH
-Using Aliases
-.LP
-A new profile entry `Aliasfile:' has been added.  The
-\fIali\fP\^, \fIsend\fP\^, and \fIwhom\fP programs will look for
-this profile entry and treat it as they would an argument to
-`\-alias'.
-This should make it easier for novice \fIMH\fP users to begin
-using aliases.
-.PP
-.SH
-Reading Network News & BBoards
-.LP
-The UCI BBoards facility can read local BBoards, and if compiled
-with the `bboards: pop' and `pop: on' options, can also read remote
-BBoards using the Post Office Protocol (POP ver. 3).
-With this release,
-\fIMH\fP can instead be compiled to read the Network News
-(i.e., USENET) using the Network News Transfer Protocol (NNTP).
-.PP
-This capability is enabled by compiling \fIMH\fP with
-the `bboards: nntp' and `pop: on' options.
-Unfortunately, reading remote BBoards via the POP and reading the Network
-News via the NNTP are mutually exclusive options.
-.PP
-To support the NNTP,
-a new module, \fBuip/pshsbr.c\fP, is compiled and loaded into
-\fIbbc\fP and \fImsh\fP instead of \fBuip/popsbr.c\fP.
-The default BBoard is changed from \*(lqsystem\*(rq to \*(lqgeneral\*(rq
-for the NNTP.
-.PP
-When reading BBoards,
-\fIbbc\fP will first look for local BBoards, and then contact the
-NNTP server to read the Network News.  The location of the
-NNTP server should be specified with the `nntphost:'
-entry in the \fBmtstailor\fP file
-(see the \fIMH\fP Administrator's Guide for details),
-or may be specified on
-the command line with the `\-host' switch.
-.PP
-.SH
-Format Strings
-.LP
-The manual page \fImh\-format\fP\0(5) has
-been rewritten to give a better explanation of how to write format strings,
-and how they are interpreted by \fIMH\fP.
-A line\-by\-line
-description of the 
-default \fIrepl\fP form file (\fBreplcomps\fP)
-is now included in that manual page.
-.PP
-.KS
-Some new format functions were added, and others were augmented:
-.IP trim \w'date2local'u+2n
-Strips any leading and trailing white\-space from the current string value.
-.IP date2local
-Will coerce the date to the local timezone.
-.IP date2gmt
-Will coerce the date to GMT.
-.IP divide
-Divides the current numeric value by its argument.
-This could be useful for
-building \fIscan\fP format strings which print large
-message sizes in \*(lqKb\*(rq or \*(lqMb\*(rq.
-.IP friendly
-If the address field cannot be parsed,
-this function will return the text of the address header,
-instead of a null string.
-.IP szone
-A flag indicating whether the timezone was explicit
-in the date string.
-.KE
-.SH
-PROGRAM CHANGES
-.LP
-In addition to the general changes mentioned above,
-many programs have specific new features added,
-either by new switches or by expanded functionality.
-Each command's manual page gives complete information about
-its new options.  Here is a short summary.
-.SH
-User Interface Programs
-.IP anno \w'prompter'u+2n
-Accepts a `\-nodate' switch which inhibits the date annotation,
-leaving only the body annotation.
-.IP folder
-When invoked with the `\-pack' switch
-and the new `\-verbose' switch, \fIfolder\fP will
-give information about the actions taken to renumber the folder.
-.IP
-On most systems, \fIfolder\fP can now create any non\-existing
-parent folders of a new sub\-folder.
-.IP forw
-When making digests, \fIforw\fP\^
-will put the issue and volume numbers
-in addition to the digest list name, in the digest trailer.
-.IP inc
-Detects NFS write failures, and will
-not zero your maildrop in that event.
-.IP msh
-Supports a variant of the new \fIsortm\fP\^.
-.IP prompter
-Considers a period on a line by itself to signify end\-of\-file
-when the `\-doteof' switch is specified.
-.IP repl
-The `\-[no]format' switches
-have not been used since \fIMH\fP 5 and have been deleted. \fIrepl\fP
-will now find filter files in the \fIMH\fP library area.
-.IP scan
-With the `\-file msgbox' switch, \fIscan\fP\^
-can list a \fIpackf\fP\|'d\-format file directly
-(without using \fImsh\fP\^).
-.IP
-Lists messages in reverse order with the `\-reverse' switch.
-This should be considered a bug.
-.IP sortm
-Now has the options:
-`\-textfield field', `\-notextfield',
-`\-limit days', and `\-nolimit'.
-.IP
-With these options, \fIsortm\fP can be instructed to sort a
-folder based on the contents of an arbitrary header such
-as \*(lqsubject\*(rq.
-.IP
-\fIsortm\fP minimizes renaming messages, and
-will no longer arbitrarily pack folders; for this behavior,
-use \*(lqfolder \-pack\*(rq.
-.IP whatnow
-Deletes the draft by renaming it with leading comma, instead
-of unlinking it.
-.SH
-\fIMH\fP Support Programs
-.LP
-.KS
-The following support programs also have changes or enhancements:
-.IP mhl \w'rcvtty'u+2n
-Will now accept a format string on any component, not just on
-addresses and dates.
-.KE
-.IP popd
-Will use \fIshadow\fP passwords if compiled with the
-\fBSHADOW\fP option.  It can now also
-read UUCP\-style maildrops directly.
-.IP rcvtty
-If given no arguments, \fIrcvtty\fP will produce a \fBscan\fP
-listing as specified by a format string or file; a default
-format string is used if one is not specified.
-.IP
-Before the listing is written to the users terminal, the
-terminal's bell is rung and a newline is output.
-The `\-nobell' and the `\-nonewline' options
-inhibit these functions.
-.IP
-\fIrcvtty\fP will obey terminal write
-notification set by \fImesg\fP.
-With the `\-biff' switch, \fIrcvtty\fP will
-also obey the mail notification status set by
-\fIbiff\fP.  
-.IP
-On \fBBSD43\fP systems, as with \fIwrite\fP,
-\fIrcvtty\fP will be installed set\-group\-id to the group \*(lqtty\*(rq.
-.IP slocal
-Understands UUCP\-style \*(lqFrom \*(rq lines and will write
-output files using this format if appropriate.
-Before invoking a delivery program, \fIslocal\fP will strip
-such lines unless compiled with the \fBRPATHS\fP option,
-in which case it will will convert such lines into
-\*(lqReturn\-Path:\*(rq headers.
-.IP
-\fIslocal\fP has a new result code \*(lqN\*(rq,
-for use in \fB.maildelivery\fP files.
-With this result code,
-\fIslocal\fP will
-perform the action only if the message has not been delivered
-and the previous action succeeded.  This allows for performing
-an action only if multiple conditions are true.
-.SH
-DOCUMENTATION
-.LP
-Several of the older \fIMH\fP papers have been difficult to format
-because they depended on an older version of
-PhDTeX which was
-not supplied.  These papers have been updated, and some TeX
-library files are supplied in \fBpapers/doclib/\fP, so that
-these papers may be generated on any system with TeX.
-.PP
-Many of the manual pages have been revised to include documentation
-of new command options, and some have been expanded to give more detail.
-All are now slightly reformatted at installation time
-to make them more compatible with programs like \fImakewhatis\fP\^.
-.PP
-.SH
-\fIMH\fP ADMINISTRATION
-.LP
-This section describes changes in configuring, compiling and
-installing \fIMH\fP 6.7 and should not
-be of interest to casual \fIMH\fP users.
-The \fBREAD\-ME\fP file has been 
-considerably revised and expanded to give more detail 
-about the configuration and compilation options which
-have been included in this release.  Some compilation options
-have been removed, and many new options have been added.
-.PP
-All \fIMH\fP \fBMakefile\fPs have been updated to work around some
-incompatibilities introduced in newer versions of \fImake\fP\^.
-\fIMH\fP programs will no longer be installed with the sticky\-bit
-turned on.
-.PP
-Reading this section not a substitute for carefully
-reading the \fBREAD\-ME\fP file before attempting to compile \fIMH\fP
-.PP
-.KS
-.SH
-Bug Fixes
-.LP
-Some bugs were fixed which in general were not user\-visible:
-.IP "address parser" \w'dynamicnmemory'u+2n
-Fixed to allow use of the \*(lqAT\*(rq domain, and some
-minor bugs were fixed pertaining to address groups.
-.IP "date parser"
-Improved to accept more forms of illegal dates.  Military
-timezones were removed.
-.IP "dynamic memory"
-Many problems with corruption of the dynamic memory pool
-have been fixed.
-.IP locking
-Will open files for write, if necessary to enable locking.
-.IP "nil pointers"
-All reported nil pointer problems have been fixed.
-.IP replcomps
-The \*(lqIn\-Reply\-To:\*(rq header had quotes added
-around the date field to comply with RFC822.
-.KE
-.SH
-White Pages
-.LP
-If \fIMH\fP is compiled with the \fBWP\fP option,
-\fIsend\fP recognizes an address between \*(lq<<\*(rq and \*(lq>>\*(rq characters
-such as:
-.DS
-To: << rose \-org psi >>
-.DE
-to be a name meaningful to a whitepages service.  In order to expand the
-name, \fIsend\fP must be invoked interactively
-(i.e., not from \fIpush\fP\^).  For each
-name, \fIsend\fP will invoke a command called \fIfred\fP\^
-in a special mode asking to expand the name.
-.PP
-To get a copy of the white pages service, contact wpp\-manager@psi.com.
-.SH
-Configuration Options
-.LP
-Some configuration options have been added or changed:
-.IP cc \w'bbdelivery'u+2n
-To specify an alternate C compiler.
-.IP ccoptions
-Defaults to `\-O'.
-.IP bboards
-May now be defined as \*(lqon\*(rq,
-\*(lqoff\*(rq, \*(lqpop\*(rq, or \*(lqnntp\*(rq.
-.IP bbdelivery
-Determines whether the bboard delivery agent
-and library files should be installed.
-.IP lex
-To specify an alternate version of \fIlex\fP\^.
-.IP mailgroup
-If defined, \fIinc\fP will be made set\-group\-id to this group.
-.IP sharedlib
-For \fBSUN40\fP systems; if \*(lqon\*(rq, makes \fBlibmh.a\fP
-into a shared library.
-.IP slibdir
-The directory where the above shared library should be installed.
-.IP sprintf
-Set this to \*(lqint\*(rq if that's what your \fIsprintf\fP\0(3) library
-routine returns.
-.SH
-Compilation Options
-.LP
-For different configurations,
-several `\-D' options to \fIcc\fP have been added or changed:
-.IP BERK \w'SENDMAILBUG'u+1n
-This disables the address and date parsing routines.  If you
-want to do much with \fImh\-format\fP\0(5), don't enable this.
-.IP BSD43
-Will make \fIrcvtty\fP set\-group\-id to the group \*(lqtty\*(rq.
-.IP DBM
-For sites with a dbm\-style password file (such as with Yellow
-Pages), \fIMH\fP will not read the entire passwd file into a cache.
-At one site that runs YP on a large passwd file, using this
-showed a 6:1 performance improvement.
-.IP NETWORK
-This option has been deleted.  See \fBSOCKETS\fP.
-.IP NOIOCTLH
-Tells \fIMH\fP not to include the file \fBsys/ioctl.h\fP.  Use this
-if this file is not present on your system.
-.IP NTOHLSWAP
-On systems with TCP/IP networking,
-\fImsh\fP will try to use the \fBntohl()\fP macro from the
-file \fBnetinet/in.h\fP to byte\-swap the binary map files
-it writes.
-.IP SENDMAILBUG
-Some versions of \fIsendmail\fP return a \fB451\fP (failure) reply code
-when they don't mean to indicate failure.  This option considers
-that code to be equivalent to \fB250\fP (OK).
-.IP SHADOW
-Causes \fIpopd\fP to read the file \fB/etc/shadow\fP for
-encrypted passwords instead of \fB/etc/passwd\fP.  Use this if you
-have a shadow password file (such as on newer versions of SYSTEM 5).
-.IP SOCKETS
-Enable this if you are on a non\-BSD system with a
-socket interface for TCP/IP networking compatible with 4.2BSD
-.SM
-UNIX.
-.NL
-.IP SUN40
-Use on Suns running Sun OS 4.0 and later.
-.IP SYS5
-This option has been updated to refer to SYS5 R3 and later systems.
-.IP SYS5DIR
-Use this if your system uses \*(lqstruct dirent\*(rq instead of
-\*(lqstruct direct\*(rq.  This should be true for systems based
-on SYS5 R3 and later.
-.IP TYPESIG
-Defines the base type for the \fIsignal\fP system call.  This
-defaults to \*(lqint\*(rq, but should be defined as \*(lqvoid\*(rq
-if appropriate for your system.
-.IP WP
-Enables support for the White Pages service.
-.SH
-Installation
-.LP
-\fIMH\fP will now
-explicitly set the protection mode on every file it installs.
-.PP
-Previously any existing file installed by \fIMH\fP
-would be backed up into
-the source tree, and then overwritten.
-Now, a few system\-dependent files will not be overwritten, and your
-changes will have to be merged in by hand.
-See the \fBREAD\-ME\fP file for more details.
diff --git a/docs/historical/doclib/READ-ME b/docs/historical/doclib/READ-ME
deleted file mode 100644 (file)
index 3063cef..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-@(#)READ-ME,v 1.1.1.1 1993/01/30 04:41:04 jtc Exp
-
-This directory contains the TeX style and macro files necessary to
-typset the following documents:
-
-mh4            Changes to The Rand MH Message Handling System: MH.4
-mh5            Changes to The Rand MH Message Handling System: MH.5
-realwork       MH.5: How to process 200 messages a day ...
-bboards                The Rand MH Message Handling System: The UCI BBoards Facility
-tutorial       The Rand MH Message Handling System: Tutorial
-multifarious   MH: A Multifarious User Agent
-trusted                Design of the TTI Prototype Trusted Mail Agent
-
-These documents were originally designed to be typset with the AM font
-family using UCI PhDTeX, which was AmSTeX with the UCI diss.sty style
-preloaded.  Since (not surprisingly) few sites had UCI PhDTeX, diss.sty
-was included with the documents.
-
-In the intervening years, AmSTeX has evolved and few sites are still
-using the AM font family.  Although some of these documents are
-now outdated, some sites may still want to generate and print them.
-For this reason, this directory contains all files necessary to typeset
-these documents using plain TeX (as of Version 2.991).
-
-The following newer documents are typset using LaTeX; the needed style
-and macro files are present in each directory:
-
-beginners      MH for Beginners
-mh4mm          MH for MM Users
-mh6            Changes to The Rand MH Message Handling System: MH.6
-mh6.5          Changes to The Rand MH 
-                       Message Handling System: MH #6.5 for 4.3BSD UNIX
-mznet          MZnet:  Mail Service for Personal Micro-Computer Systems
-
-Updating the older documents to use LaTeX would be possible but tedious,
-especially considering how outdated most of the documents are.
-
-
-                                       John Romine     1/31/90
diff --git a/docs/historical/doclib/amstex.tex b/docs/historical/doclib/amstex.tex
deleted file mode 100644 (file)
index 9eb17c1..0000000
+++ /dev/null
@@ -1,889 +0,0 @@
-% AMS-TEX VERSION 0.999999 - FOR USE WITH TEX VERSION  1.0
-% COPYRIGHT (C) 1983 BY AMERICAN MATHEMATICAL SOCIETY
-
-
-% NOTE 1, NOTE 2, ... REFER TO NOTES IN THE FILE AMSTEX.DOC
-
-
-% SPECIAL CATCODES
-
-\catcode`\@=13                                                         % NOTE 1
-\def@{\errmessage{AmS-TeX error: \string@ has no current use
-     (use \string\@\space for printed \string@ symbol)}}
-\catcode`\@=11                                                         % NOTE 2
-\def\@{\char'100 }
-\catcode`\~=13                                                         % NOTE 3
-
-
-% AMSTEX ERROR MESSAGES
-
-\def\err@AmS#1{\errmessage{AmS-TeX error: #1}}                         % NOTE 4
-
-
-% SOME BASIC CONTROL SEQUENCES USED IN OTHER DEFINITIONS
-
-\def\eat@AmS#1{}
-
-\long\def\comp@AmS#1#2{\def\@AmS{#1}\def\@@AmS{#2}\ifx
-   \@AmS\@@AmS\def\cresult@AmS{T}\else\def\cresult@AmS{F}\fi}          % NOTE 5
-
-\def\in@AmS#1#2{\def\intest@AmS##1#1##2{\comp@AmS##2\end@AmS\if T\cresult@AmS
-   \def\cresult@AmS{F}\def\in@@AmS{}\else
-   \def\cresult@AmS{T}\def\in@@AmS####1\end@AmS{}\fi\in@@AmS}%
-   \def\cresult@AmS{F}\intest@AmS#2#1\end@AmS}                         % NOTE 6
-
-
-% BASIC MECHANICSMS TO ALLOW USER TO MAKE DEFINITIONS
-
-\let\relax@AmS=\relax                                                  % NOTE 7
-
-% CHANGES IN plain WHERE THERE IS \relax, THAT MUST NOW BE \relax@AmS
-
-\def\magstep#1{\ifcase#1 \@m\or 1200\or 1440\or 1728\or 2074\or 2488\fi
-     \relax@AmS}
-
-\def\iterate{\body\let\next\iterate \else\let\next\relax@AmS\fi \next}
-
-\def\enskip{\hskip.5em\relax@AmS}
-
-\def\strut{\relax@AmS\ifmmode\copy\strutbox\else\unhcopy\strutbox\fi}
-
-\let\+=\relax@AmS
-\def\sett@b{\ifx\next\+\let\next\relax@AmS
-    \def\next{\afterassignment\s@tt@b\let\next}%
-  \else\let\next\s@tcols\fi\next}
-\def\s@tt@b{\let\next\relax@AmS\us@false\m@ketabbox}
-
-\def\smash{\relax@AmS % \relax@AmS, in case this comes first in \halign
-  \ifmmode\def\next{\mathpalette\mathsm@sh}\else\let\next\makesm@sh
-  \fi\next}
-
-% (END OF CHANGES TO plain)
-
-\def\define#1{\expandafter\ifx\csname\expandafter\eat@AmS\string#1\endcsname
-   \relax@AmS\def\dresult@AmS{\def#1}\else
-   \err@AmS{\string#1\space is already defined}\def
-      \dresult@AmS{\def\garbage@AmS}\fi\dresult@AmS}                   % NOTE 8
-
-\let\redefine=\def
-
-\def\predefine#1#2{\let#1=#2}
-
-
-% MACROS FOR DEFICIENT KEYBOARDS
-
-\chardef\plus=`+
-\chardef\equal=`=
-\chardef\less=`<
-\chardef\more=`>
-
-
-% MACROS FOR HANDLING TEXT
-
-\let\ic@AmS=\/
-\def\/{\unskip\ic@AmS}
-
-\def\Space@AmS.{\futurelet\Space@AmS\relax@AmS}
-\Space@AmS. %                                             % NOTE 10 (no NOTE 9)
-
-\def~{\unskip\futurelet\tok@AmS\s@AmS}
-\def\s@AmS{\ifx\tok@AmS\Space@AmS\def\next@AmS{}\else
-        \def\next@AmS{\ }\fi\penalty 9999 \next@AmS}                  % NOTE 11
-
-\def\period{\unskip.\spacefactor3000 { }}
-
-
-\def\srdr@AmS{\thinspace}                                             % NOTE 12
-\def\drsr@AmS{\kern .02778em }
-\def\sldl@AmS{\kern .02778em}
-\def\dlsl@AmS{\thinspace}
-
-\def\lqtest@AmS#1{\comp@AmS{#1}`\if T\cresult@AmS\else\comp@AmS{#1}\lq\fi}
-
-                                                                      % NOTE 13
-
-\def\qspace#1{\unskip
-  \lqtest@AmS{#1}\let\fresult@AmS=\cresult@AmS\if T\cresult@AmS
-     \def\qspace@AmS{\ifx\tok@AmS\Space@AmS\def\next@AmS{\dlsl@AmS`}\else
-       \def\next@AmS{\qspace@@AmS}\fi\next@AmS}\else
-     \def\qspace@AmS{\ifx\tok@AmS\Space@AmS\def\next@AmS{\drsr@AmS'}\else
-       \def\next@AmS{\qspace@@AmS}\fi\next@AmS}\fi
-    \futurelet\tok@AmS\qspace@AmS}                                    % NOTE 14
-
-\def\qspace@@AmS{\futurelet\tok@AmS\qspace@@@AmS}
-
-\def\qspace@@@AmS{\if T\fresult@AmS  \ifx\tok@AmS`\sldl@AmS`\else
-       \ifx\tok@AmS\lq\sldl@AmS`\else \dlsl@AmS`\fi \fi
-                         \else  \ifx\tok@AmS'\srdr@AmS'\else
-        \ifx\tok@AmS\rq\srdr@AmS'\else \drsr@AmS'\fi \fi
-        \fi}
-
-
-
-\def\dash{\unskip\penalty0---}
-\def\slash{\unskip/\penalty\exhyphenpenalty}
-
-\def\{{\relax@AmS\ifmmode\delimiter"4266308 \else
-    $\delimiter"4266308 $\fi}                            % NOTE 16 (No NOTE 15)
-
-\def\}{\relax@AmS\ifmmode\delimiter"5267309 \else$\delimiter"5267309 $\fi}
-
-
-\def\AmSTeX{$\cal A$\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em
-     $\cal S$-\TeX}
-
-\def\smallvspace{\vskip\smallskipamount}                            % NOTE 17
-\def\medvspace{\vskip\medskipamount}
-\def\bigvspace{\vskip\bigskipamount}
-
-
-\def\linebreak{\unskip\penalty-10000 }                                % NOTE 18
-\def\pagebreak{\vadjust{\penalty-10000 }}
-\def\newpage{\par\vfill\eject}
-
-\def\newline{\ifvmode \err@AmS{There's no line here to break}\else
-     \hfil\penalty-10000\fi}
-
-\def\topspace#1{\insert\topins{\penalty100 \splittopskip=0pt
-     \vbox to #1{}}}
-\def\midspace#1{\setbox0=\vbox to #1{}\advance\dimen0 by \pagetotal
-  \ifdim\dimen0>\pagegoal\topspace{#1}\else\vadjust{\box0}\fi}
-
-\long\def\comment{\begingroup
- \catcode`\{=12 \catcode`\}=12 \catcode`\#= 12 \catcode`\^^M=12
-   \catcode`\%=12 \catcode`^^A=14
-    \comment@AmS}
-\begingroup\catcode`^^A=14
-\catcode`\^^M=12  ^^A
-\long\gdef\comment@AmS#1^^M#2{\comp@AmS\endcomment{#2}\if T\cresult@AmS^^A
-\def\comment@@AmS{\endgroup}\else^^A
- \long\def\comment@@AmS{\comment@AmS#2}\fi\comment@@AmS}\endgroup     % NOTE 19
-
-
-% STYLE, SPACING AND ALTERNATE NAMES
-
-\let\dsize=\displaystyle
-\let\tsize=\textstyle
-\let\ssize=\scriptstyle
-\let\sssize=\scriptscriptstyle
-
-\def\text#1{\hbox{\rm#1}}
-
-\def\quad{\relax@AmS\ifmmode
-    \hbox{\hskip1em}\else\hskip1em\relax@AmS\fi}                      % NOTE 20
-\def\qquad{\quad\quad}
-\def\,{\relax@AmS\ifmmode\mskip\thinmuskip\else$\mskip\thinmuskip$\fi}
-\def\;{\relax@AmS
-  \ifmmode\mskip\thickmuskip\else$\mskip\thickmuskip$\fi}
-
-
-\def\stack#1#2{{#1\atop #2}}
-
-\def\frac#1#2{{#1\over#2}}
-\def\Frac#1#2{{\displaystyle{#1\over#2}}}
-
-\def\thickfrac#1#2{{#1\above1pt #2}}
-
-\def\binom#1#2{{#1\choose #2}}
-\def\Binom#1#2{{\displaystyle{#1\choose #2}}}
-
-
-\mathchardef\:="603A                                                  % NOTE 21
-
-
-% BIG DELIMITERS
-
-\def\big@AmS#1{{\hbox{$\left#1\vbox to\big@@AmS{}\right.\offspace@AmS$}}}
-\def\Big@AmS#1{{\hbox{$\left#1\vbox to\Big@@AmS{}\right.\offspace@AmS$}}}
-\def\bigg@AmS#1{{\hbox{$\left#1\vbox to\bigg@@AmS{}\right.\offspace@AmS$}}}
-\def\Bigg@AmS#1{{\hbox{$\left#1\vbox to\Bigg@@AmS{}\right.\offspace@AmS$}}}
-\def\offspace@AmS{\nulldelimiterspace0pt \mathsurround0pt }
-
-\def\big@@AmS{8.5pt}                                % NOTE 24 (no NOTES 22, 23)
-\def\Big@@AmS{11.5pt}
-\def\bigg@@AmS{14.5pt}
-\def\Bigg@@AmS{17.5pt}
-
-\def\bigl{\mathopen\big@AmS}
-\def\bigm{\mathrel\big@AmS}
-\def\bigr{\mathclose\big@AmS}
-\def\Bigl{\mathopen\Big@AmS}
-\def\Bigm{\mathrel\Big@AmS}
-\def\Bigr{\mathclose\Big@AmS}
-\def\biggl{\mathopen\bigg@AmS}
-\def\biggm{\mathrel\bigg@AMS}
-\def\biggr{\mathclose\bigg@AmS}
-\def\Biggl{\mathopen\Bigg@AmS}
-\def\Biggm{\mathrel\Bigg@AmS}
-\def\Biggr{\mathclose\Bigg@AmS}
-
-
-%  MAKING ' WORK FOR PRIMES
-
-{\catcode`'=13 \gdef'{^\bgroup\prime\prime@AmS}}
-\def\prime@AmS{\futurelet\tok@AmS\prime@@AmS}
-\def\prime@@@AmS#1{\futurelet\tok@AmS\prime@@AmS}
-\def\prime@@AmS{\ifx\tok@AmS'\def\next@AmS{\prime\prime@@@AmS}\else
-   \def\next@AmS{\egroup}\fi\next@AmS}
-
-
-%  SMASHES                                                            % NOTE 25
-
-\def\topsmash{\relax@AmS\ifmmode\def\topsmash@AmS
-   {\mathpalette\mathtopsmash@AmS}\else
-    \let\topsmash@AmS=\maketopsmash@AmS\fi\topsmash@AmS}
-
-\def\maketopsmash@AmS#1{\setbox0=\hbox{#1}\topsmash@@AmS}
-
-\def\mathtopsmash@AmS#1#2{\setbox0=\hbox{$#1{#2}$}\topsmash@@AmS}
-
-\def\topsmash@@AmS{\vbox to 0pt{\kern-\ht0\box0}}
-
-
-\def\botsmash{\relax@AmS\ifmmode\def\botsmash@AmS
-   {\mathpalette\mathbotsmash@AmS}\else
-     \let\botsmash@AmS=\makebotsmash@AmS\fi\botsmash@AmS}
-
-\def\makebotsmash@AmS#1{\setbox0=\hbox{#1}\botsmash@@AmS}
-
-\def\mathbotsmash@AmS#1#2{\setbox0=\hbox{$#1{#2}$}\botsmash@@AmS}
-
-\def\botsmash@@AmS{\vbox to \ht0{\box0\vss}}
-
-
-
-%  LARGE OPERATORS
-
-\def\LimitsOnSums{\let\slimits@AmS=\displaylimits}                    % NOTE 26
-\def\NoLimitsOnSums{\let\slimits@AmS=\nolimits}
-
-\LimitsOnSums
-
-\mathchardef\coprod@AmS"1360       \def\coprod{\coprod@AmS\slimits@AmS}
-\mathchardef\bigvee@AmS"1357       \def\bigvee{\bigvee@AmS\slimits@AmS}
-\mathchardef\bigwedge@AmS"1356     \def\bigwedge{\bigwedge@AmS\slimits@AmS}
-\mathchardef\biguplus@AmS"1355     \def\biguplus{\biguplus@AmS\slimits@AmS}
-\mathchardef\bigcap@AmS"1354       \def\bigcap{\bigcap@AmS\slimits@AmS}
-\mathchardef\bigcup@AmS"1353       \def\bigcup{\bigcup@AmS\slimits@AmS}
-\mathchardef\prod@AmS"1351         \def\prod{\prod@AmS\slimits@AmS}
-\mathchardef\sum@AmS"1350          \def\sum{\sum@AmS\slimits@AmS}
-\mathchardef\bigotimes@AmS"134E    \def\bigotimes{\bigotimes@AmS\slimits@AmS}
-\mathchardef\bigoplus@AmS"134C     \def\bigoplus{\bigoplus@AmS\slimits@AmS}
-\mathchardef\bigodot@AmS"134A      \def\bigodot{\bigodot@AmS\slimits@AmS}
-\mathchardef\bigsqcup@AmS"1346     \def\bigsqcup{\bigsqcup@AmS\slimits@AmS}
-
-
-\def\LimitsOnInts{\let\ilimits@AmS=\displaylimits}
-\def\NoLimitsOnInts{\let\ilimits@AmS=\nolimits}
-
-\NoLimitsOnInts
-
-\mathchardef\int@AmS"1352
-\def\int{\gdef\intflag@AmS{T}\int@AmS\ilimits@AmS}                    % NOTE 27
-
-\mathchardef\oint@AmS"1348 \def\oint{\gdef\intflag@AmS{T}\oint@AmS\ilimits@AmS}
-
-\def\inttest@AmS#1{\def\intflag@AmS{F}\setbox0=\hbox{$#1$}}
-
-
-\def\intic@AmS{\mathchoice{\hbox{\hskip5pt}}{\hbox
-          {\hskip4pt}}{\hbox{\hskip4pt}}{\hbox{\hskip4pt}}}           % NOTE 28
-\def\negintic@AmS{\mathchoice
-  {\hbox{\hskip-5pt}}{\hbox{\hskip-4pt}}{\hbox{\hskip-4pt}}{\hbox{\hskip-4pt}}}
-\def\intkern@AmS{\mathchoice{\!\!\!}{\!\!}{\!\!}{\!\!}}
-\def\intdots@AmS{\mathchoice{\cdots}{{\cdotp}\mkern 1.5mu
-    {\cdotp}\mkern 1.5mu{\cdotp}}{{\cdotp}\mkern 1mu{\cdotp}\mkern 1mu
-      {\cdotp}}{{\cdotp}\mkern 1mu{\cdotp}\mkern 1mu{\cdotp}}}
-
-\newcount\intno@AmS                                                   % NOTE 29
-
-\def\intii{\gdef\intflag@AmS{T}\intno@AmS=2\futurelet                 % NOTE 30
-              \tok@AmS\ints@AmS}
-\def\intiii{\gdef\intflag@AmS{T}\intno@AmS=3\futurelet\tok@AmS\ints@AmS}
-\def\intiv{\gdef\intflag@AmS{T}\intno@AmS=4\futurelet\tok@AmS\ints@AmS}
-\def\intdotsint{\gdef\intflag@AmS{T}\intno@AmS=0\futurelet
-    \tok@AmS\ints@AmS}
-
-\def\ints@AmS{\findlimits@AmS\ints@@AmS}
-
-\def\findlimits@AmS{\def\ignoretoken@AmS{T}\ifx\tok@AmS\limits
-   \def\limits@AmS{T}\else\ifx\tok@AmS\nolimits\def\limits@AmS{F}\else
-     \def\ignoretoken@AmS{F}\ifx\ilimits@AmS\nolimits\def\limits@AmS{F}\else
-       \def\limits@AmS{T}\fi\fi\fi}
-
-\def\multintlimits@AmS{\int@AmS\ifnum \intno@AmS=0\intdots@AmS
-  \else \intkern@AmS\fi
-    \ifnum\intno@AmS>2\int@AmS\intkern@AmS\fi
-     \ifnum\intno@AmS>3 \int@AmS\intkern@AmS\fi \int@AmS}
-
-\def\multint@AmS{\int\ifnum \intno@AmS=0\intdots@AmS\else\intkern@AmS\fi
-   \ifnum\intno@AmS>2\int\intkern@AmS\fi
-    \ifnum\intno@AmS>3 \int\intkern@AmS\fi \int}
-
-\def\ints@@AmS{\if F\ignoretoken@AmS\def\ints@@@AmS{\if
-    T\limits@AmS\negintic@AmS
- \mathop{\intic@AmS\multintlimits@AmS}\limits\else
-    \multint@AmS\nolimits\fi}\else\def\ints@@@AmS{\if T\limits@AmS
-   \negintic@AmS\mathop{\intic@AmS\multintlimits@AmS}\limits\else
-    \multint@AmS\nolimits\fi\eat@AmS}\fi\ints@@@AmS}
-
-
-
-\def\LimitsOnNames{\let\nlimits@AmS=\displaylimits}
-\def\NoLimitsOnNames{\let\nlimits@AmS=\nolimits}
-
-\LimitsOnNames
-
-\def\operatorname#1{\mathop{\mathcode`'="7027 \mathcode`-="70
-       \rm #1}\nolimits}                                              % NOTE 31
-
-\def\operatornamewithlimits#1{\mathop{\mathcode`'="7027 \mathcode`-="702D
-   \rm #1}\nlimits@AmS}
-
-\def\operator#1{\mathop{#1}\nolimits}
-\def\operatorwithlimits#1{\mathop{#1}\displaylimits}
-
-\def\limover{\mathop{\overline{\rm lim}}}
-\def\limunder{\mathop{\underline{\vrule height 0pt depth .2ex width 0pt
-       \rm lim}}}
-\def\liminj{\setbox0=\hbox{\rm lim}\mathop{\rm lim}
-               \limits_{\topsmash{\hbox to \wd0{\leftarrowfill}}}}
-\def\limproj{\setbox0=\hbox{\rm lim}\mathop{\rm lim}
-               \limits_{\topsmash{\hbox to \wd0{\rightarrowfill}}}}
-
-
-% SUBSIDIARY CONSIDERATIONS FOR LARGE OPERATORS -- BUFFER AND SHAVE
-
-\newdimen\buffer@AmS
-\buffer@AmS=\fontdimen13\tenex                                        % NOTE 32
-\newdimen\buffer
-\buffer=\buffer@AmS
-
-\def\changebuffer#1{\fontdimen13 \tenex=#1 \buffer=\fontdimen13 \tenex}
-\def\resetbuffer{\fontdimen13 \tenex=\buffer@AmS \buffer=\buffer@AmS}
-
-\def\shave#1{\mathop{\hbox{$\fontdimen13\tenex=0pt                    % NOTE 33
-     \displaystyle{#1}$}}\fontdimen13\tenex=1\buffer}
-
-
-\def\topshave#1{\topsmash{#1}\vphantom{\shave{#1}}}
-
-\def\botshave#1{\botsmash{#1}\vphantom{\shave{#1}}}
-
-
-
-% ALIGNED UNITS
-
-\def\Let@AmS{\relax@AmS\iffalse{\fi\let\\=\cr\iffalse}\fi}            % NOTE 34
-
-\def\align{\def\vspace##1{\noalign{\vskip ##1}}                       % NOTE 35
-  \,\vcenter\bgroup\Let@AmS\tabskip=0pt\openup3pt\mathsurround=0pt  % NOTE 35.1
-  \halign\bgroup\strut
-  \hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfil\cr}        % NOTES 36, 37
-
-\def\endalign{\strut\crcr\egroup\egroup}
-
-
-\def\bunch{\def\vspace##1{\noalign{\vskip ##1}}
-  \,\vcenter\bgroup\Let@AmS\tabskip=0pt\openup3pt\mathsurround=0pt
-     \halign\bgroup\strut\hfil$\displaystyle{##}$\hfil\cr}
-
-\def\endbunch{\strut\crcr\egroup\egroup}
-
-\def\matrix{\catcode`\^^I=4 \futurelet\tok@AmS\matrix@AmS}            % NOTE 38
-
-\def\matrix@AmS{\relax@AmS\iffalse{\fi \ifnum`}=0\fi\ifx\tok@AmS\format
-   \def\next@AmS{\expandafter\matrix@@AmS\eat@AmS}\else
-   \def\next@AmS{\matrix@@@AmS}\fi\next@AmS}
-
-\def\matrix@@@AmS{
- \ifnum`{=0\fi\iffalse}\fi\,\vcenter\bgroup\Let@AmS\tabskip=0pt
-    \normalbaselines\halign\bgroup $\strut\hfil##\hfil$&&\quad$\strut
-  \hfil##\hfil$\cr\strut\cr\noalign{\kern-\baselineskip}}             % NOTE 39
-
-\def\matrix@@AmS#1\\{
-   \def\premable@AmS{#1}\toks@{##}
- \def\c{$\copy\strutbox\hfil\the\toks@\hfil$}\def\r
-   {$\copy\strutbox\hfil\the\toks@$}%
-   \def\l{$\copy\strutbox\the\toks@\hfil$}%
-\setbox0=
-\hbox{\xdef\Preamble@AmS{\premable@AmS}}
- \def\vspace##1{\noalign{\vskip ##1}}\ifnum`{=0\fi\iffalse}\fi
-\,\vcenter\bgroup\Let@AmS
-  \tabskip=0pt\normalbaselines\halign\bgroup\span\Preamble@AmS\cr
-    \mathstrut\cr\noalign{\kern-\baselineskip}}
-                                                                      % NOTE 40
-
-\def\endmatrix{\crcr\mathstrut\cr\noalign{\kern-\baselineskip
-   }\egroup\egroup\,\catcode`\^^I=10 }
-
-
-
-\def\matrixp{\left(\matrix}
-\def\endmatrixp{\endmatrix\right)}
-
-\def\matrixb{\left[\matrix}
-\def\endmatrixb{\endmatrix\right]}
-
-\def\matrixv{\left|\matrix}
-\def\endmatrixv{\endmatrix\right|}
-
-\def\matrixvv{\left\|\matrix}
-\def\endmatrixvv{\endmatrix\right\|}
-
-
-\def\spacedots#1for#2{\multispan#2\leaders\hbox{$\mkern#1mu.\mkern
-    #1mu$}\hfill}
-\def\dotsfor#1{\spacedots 1.5 for #1}                                 % NOTE 41
-
-
-\def\enabletabs{\catcode`\^^I=4 \enabletabs@AmS}
-\def\enabletabs@AmS#1\disabletabs{#1\catcode`\^^I=10 }                % NOTE 42
-
-\def\Enabletabs{\catcode`\^^I=4 }
-\def\Disabletabs{\catcode`\^^I=10 }
-
-
-\def\smallmatrix{\futurelet\tok@AmS\smallmatrix@AmS}                  % NOTE 43
-
-\def\smallmatrix@AmS{\relax@AmS\iffalse{\fi \ifnum`}=0\fi\ifx\tok@AmS\format
-   \def\next@AmS{\expandafter\smallmatrix@@AmS\eat@AmS}\else
-   \def\next@AmS{\smallmatrix@@@AmS}\fi\next@AmS}
-
-\def\smallmatrix@@@AmS{
- \ifnum`{=0\fi\iffalse}\fi\,\vcenter\bgroup\Let@AmS\tabskip=0pt
-    \baselineskip8pt\lineskip1pt\lineskiplimit1pt
-  \halign\bgroup $\strut\hfil##\hfil$&&\;$\strut
-  \hfil##\hfil$\cr\strut\cr\noalign{\kern-\baselineskip}}
-
-\def\smallmatrix@@AmS#1\\{
-   \def\premable@AmS{#1}\toks@{##}
- \def\c{$\copy\strutbox\hfil\the\toks@\hfil$}\def\r
-   {$\copy\strutbox\hfil\the\toks@$}%
-   \def\l{$\copy\strutbox\the\toks@\hfil$}%
-\hbox{\xdef\Preamble@AmS{\premable@AmS}}
- \def\vspace##1{\noalign{\vskip ##1}}\ifnum`{=0\fi\iffalse}\fi
-\,\vcenter\bgroup\Let@AmS
-     \tabskip=0pt\baselineskip8pt\lineskip1pt\lineskiplimit1pt
-\halign\bgroup\span\Preamble@AmS\cr
-    \mathstrut\cr\noalign{\kern-\baselineskip}}
-
-\def\endsmallmatrix{\crcr\mathstrut\cr\noalign{\kern-\baselineskip}
-   \egroup\egroup\,}
-
-
-\def\cases{\left\{ \,\vcenter\bgroup\Let@AmS\normalbaselines\tabskip=0pt
-   \halign\bgroup$##\hfil$&\qquad$##\hfil$\cr}                        % NOTE 44
-
-\def\endcases{\crcr\egroup\egroup\right.}
-
-
-% TAGGING
-
-\def\TagsOnLeft{\def\tagposition@AmS{L}}
-\def\TagsOnRight{\def\tagposition@AmS{R}}
-\def\TagsAsMath{\def\tagstyle@AmS{M}}
-\def\TagsAsText{\def\tagstyle@AmS{T}}
-
-\TagsOnLeft
-\TagsAsText
-
-\def\tag#1$${\if L\tagposition@AmS
-    \leqno\else\eqno\fi\def\atag@AmS{T}\maketag@AmS#1\tagend@AmS$$}   % NOTE 45
-
-\def\maketag@AmS{\futurelet\tok@AmS\maketag@@AmS}                     % NOTE 46
-\def\maketag@@AmS{\ifx\tok@AmS[\def\next@AmS{\maketag@@@AmS}\else
-      \def\next@AmS{\maketag@@@@AmS}\fi\next@AmS}
-\def\maketag@@@AmS[#1]#2\tagend@AmS{\if F\atag@AmS\else             % NOTE 46.1
-   \if M\tagstyle@AmS\hbox{$#1$}\else\hbox{#1}\fi\fi
-       \gdef\atag@AmS{F}}
-\def\maketag@@@@AmS#1\tagend@AmS{\if F\atag@AmS \else
-        \if T\autotag@AmS \setbox0=\hbox
-    {\if M\tagstyle@AmS\tagform@AmS{$#1$}\else\tagform@AmS{#1}\fi}
-                        \ifdim\wd0=0pt \tagform@AmS{*}\else
-            \if M\tagstyle@AmS\tagform@AmS{$#1$}\else\tagform@AmS{#1}\fi
-                     \fi\else
-               \if M\tagstyle@AmS\tagform@AmS{$#1$}\else\tagform@AmS{#1}\fi
-                     \fi
-                  \fi\gdef\atag@AmS{F}}
-
-\def\tagform@AmS#1{\hbox{\rm(#1\unskip)}}
-
-\def\AutoTag{\def\autotag@AmS{T}}
-\def\NoAutoTag{\def\autotag@AmS{F}}
-
-\NoAutoTag
-
-
-
-
-
-\def\inaligntag@AmS{F} \def\inbunchtag@AmS{F}                         % NOTE 47
-
-\def\CenteredTagsOnBrokens{\def\centerbroken@AmS{T}}                  % NOTE 48
-\def\TopOrBottomTagsOnBrokens{\def\centerbroken@AmS{F}}
-\TopOrBottomTagsOnBrokens
-
-\def\broken{\global\setbox0=\vbox\bgroup\Let@AmS\tabskip=0pt
- \if T\inaligntag@AmS\else
-   \if T\inbunchtag@AmS\else\openup3pt\fi\fi\mathsurround=0pt
-     \halign\bgroup\strut\hfil$\displaystyle{##}$&$\displaystyle{{}##}$\hfill
-      \cr}
-                                                                      % NOTE 49
-\def\endbroken{\strut\crcr\egroup\egroup
-      \global\setbox7=\vbox{\unvbox0\setbox1=\lastbox
-      \hbox{\unhbox1\unskip\setbox2=\lastbox
-       \unskip\setbox3=\lastbox
-         \global\setbox4=\copy3
-          \box3\box2}}%                                               % NOTE 50
-  \if L\tagposition@AmS
-     \if T\inaligntag@AmS
-           \if T\centerbroken@AmS\gdef\broken@AmS
-                {&\vcenter{\vbox{\moveleft\wd4\box7}}}%               % NOTE 51
-           \else
-            \gdef\broken@AmS{&\vbox{\moveleft\wd4\vtop{\unvbox7}}}%   % NOTE 52
-           \fi
-     \else                                                            % NOTE 53
-           \if T\centerbroken@AmS\gdef\broken@AmS
-                {\vcenter{\box7}}%
-           \else
-              \gdef\broken@AmS{\vtop{\unvbox7}}%
-           \fi
-     \fi
-  \else                                                  % NOTE 55 (no note 54)
-      \if T\inaligntag@AmS
-           \if T\centerbroken@AmS
-              \gdef\broken@AmS{&\vcenter{\vbox{\moveleft\wd4\box7}}}%
-          \else
-             \gdef\broken@AmS{&\vbox{\moveleft\wd4\box7}}%
-          \fi
-      \else
-          \if T\centerbroken@AmS
-            \gdef\broken@AmS{\vcenter{\box7}}%
-          \else
-             \gdef\broken@AmS{\box7}%
-          \fi
-      \fi
-  \fi\broken@AmS}
-
-\def\cbroken{\xdef\centerbroken@@AmS{\centerbroken@AmS}%
-                       \def\centerbroken@AmS{T}\broken}               % NOTE 56
-\def\endcbroken{\endbroken\def\centerbroken@AmS{\centerbroken@@AmS}}
-
-
-\def\multline#1${\in@AmS\tag{#1}\if T\cresult@AmS
- \def\multline@AmS{\def\atag@AmS{T}\getmltag@AmS#1$}\else
-   \def\multline@AmS{\def\atag@AmS{F}\setbox9=\hbox{}\multline@@AmS
-    \multline@@@AmS#1$}\fi\multline@AmS}                              % NOTE 57
-
-\def\getmltag@AmS#1\tag#2${\setbox9=\hbox{\maketag@AmS#2\tagend@AmS}%
-           \multline@@AmS\multline@@@AmS#1$}
-
-\def\multline@@AmS{\if L\tagposition@AmS
-     \def\lwidth@AmS{\hskip\wd9}\def\rwidth@AmS{\hskip0pt}\else
-      \def\lwidth@AmS{\hskip0pt}\def\rwidth@AmS{\hskip\wd9}\fi}      % NOTE 58
-
-\def\multline@@@AmS{\def\vspace##1{\noalign{\vskip ##1}}%
- \def\shoveright##1{##1\hfilneg\rwidth@AmS\quad}                      % NOTE 59
-  \def\shoveleft##1{\setbox                                           % NOTE 60
-      0=\hbox{$\displaystyle{}##1$}%
-     \setbox1=\hbox{$\displaystyle##1$}%
-     \ifdim\wd0=\wd1
-    \hfilneg\lwidth@AmS\quad##1\else
-      \setbox2=\hbox{\hskip\wd0\hskip-\wd1}%
-       \hfilneg\lwidth@AmS\quad\hskip-.5\wd2 ##1\fi}
-     \vbox\bgroup\Let@AmS\openup3pt\halign\bgroup\hbox to \the\displaywidth
-      {$\displaystyle\hfil{}##\hfil$}\cr\hfilneg\quad
-      \if L\tagposition@AmS\hskip-1em\copy9\quad\else\fi}             % NOTE 61
-
-
-\def\endmultline{\if R\tagposition@AmS\quad\box9                 % NOTES 62, 63
-   \hskip-1em\else\fi\quad\hfilneg\crcr\egroup\egroup}
-
-
-
-\def\aligntag#1$${\def\inaligntag@AmS{T}\openup3pt\mathsurround=0pt   % NOTE 64
- \Let@AmS
-   \def\tag{\gdef\atag@AmS{T}&}                                       % NOTE 65
-   \def\vspace##1{\noalign{\vskip##1}}                                % NOTE 66
-    \def\xtext##1{\noalign{\hbox{##1}}}                               % NOTE 67
-   \def\break{\noalign{\penalty-10000 }}                              % NOTE 68
-   \def\nobreak{\noalign{\penalty 10000 }}
-   \def\allowbreak{\noalign{\penalty 0 }}
-   \def\goodbreak{\noalign{\penalty -500 }}
-    \gdef\atag@AmS{F}%
-\if L\tagposition@AmS\laligntag@AmS#1$$\else
-   \raligntag@AmS#1$$\fi}
-
-\def\raligntag@AmS#1$${\tabskip\centering
-   \halign to \the\displaywidth
-{\hfil$\displaystyle{##}$\tabskip 0pt
-    &$\displaystyle{{}##}$\hfil\tabskip\centering
-   &\llap{\maketag@AmS##\tagend@AmS}\tabskip 0pt\cr\noalign{\vskip-
-     \lineskiplimit}#1\crcr}$$}
-
-\def\laligntag@AmS#1$${\tabskip\centering                             % NOTE 69
-   \halign to \the\displaywidth
-{\hfil$\displaystyle{##}$\tabskip0pt
-   &$\displaystyle{{}##}$\hfil\tabskip\centering
-    &\kern-\displaywidth\rlap{\maketag@AmS##\tagend@AmS}\tabskip
-    \the\displaywidth\cr\noalign{\vskip-\lineskiplimit}#1\crcr}$$}
-
-\def\endaligntag{}
-
-\def\bunchtag#1$${\def\inbunchtag@AmS{T}\openup3pt\mathsurround=0pt   % NOTE 70
-    \Let@AmS
-   \def\tag{\gdef\atag@AmS{T}&}
-   \def\vspace##1{\noalign{\vskip##1}}
-   \def\xtext##1{\noalign{\hbox{##1}}}
-   \def\break{\noalign{\penalty-10000 }}
-   \def\nobreak{\noalign{\penalty 10000 }}
-   \def\allowbreak{\noalign{\penalty 0 }}
-    \def\goodbreak{\noalign{\penalty -500 }}
-  \if L\tagposition@AmS\lbunchtag@AmS#1$$\else
-    \rbunchtag@AmS#1$$\fi}
-
-\def\rbunchtag@AmS#1$${\tabskip\centering
-    \halign to \displaywidth {$\hfil\displaystyle{##}\hfil$&
-      \llap{\maketag@AmS##\tagend@AmS}\tabskip 0pt\cr\noalign{\vskip-
-       \lineskiplimit}#1\crcr}$$}
-
-\def\lbunchtag@AmS#1$${\tabskip\centering
-   \halign to \displaywidth
-{$\hfil\displaystyle{##}\hfil$&\kern-
-    \displaywidth\rlap{\maketag@AmS##\tagend@AmS}\tabskip\the\displaywidth\cr
-    \noalign{\vskip-\lineskiplimit}#1\crcr}$$}
-
-\def\endbunchtag{}
-
-
-%  MISCELLANEOUS
-
-\def\hyphen{\mathchar"702D}                                           % NOTE 71
-\def\endash{\mathchar"707B}
-\def\emdash{\mathchar"707C}
-\def\rightquote{\mathchar"7027}
-\def\rightquoteii{\mathchar"7022}
-\def\leftquote{\mathchar"7060}
-\def\leftquoteii{\mathchar"705C}
-
-\def\mod#1{\allowbreak\mkern18mu{\rm mod}\,\,#1}
-
-% CONTINUED FRACTIONS
-
-\def\numeratorleft#1{#1\hskip 0pt plus 1filll\relax@AmS}
-\def\numeratorright#1{\hskip 0pt plus 1filll\relax@AmS#1}
-\def\numeratorcenter#1{\hskip 0pt plus 1filll\relax@AmS
-      #1\hskip 0pt plus 1filll\relax@AmS}
-
-\def\cfrac@AmS#1,{\def\numerator@AmS{#1}\cfrac@@AmS*}                 % NOTE 72
-
-\def\cfrac@@AmS#1;#2#3\cfend@AmS{\comp@AmS\cfmark@AmS{#2}\if T\cresult@AmS
- \gdef\cfrac@@@AmS
-  {\expandafter\eat@AmS\numerator@AmS\strut\over\eat@AmS#1}\else
-  \comp@AmS;{#2}\if T\cresult@AmS\gdef\cfrac@@@AmS
-  {\expandafter\eat@AmS\numerator@AmS\strut\over\eat@AmS#1}\else
-\gdef\cfrac@@@AmS{\if R\cftype@AmS\hfill\else\fi
-    \expandafter\eat@AmS\numerator@AmS\strut
-    \if L\cftype@AmS\hfill\else\fi\over
-       \eat@AmS#1\displaystyle {\cfrac@AmS*#2#3\cfend@AmS}}
-     \fi\fi\cfrac@@@AmS}
-
-\def\cfrac#1{\def\cftype@AmS{C}\cfrac@AmS*#1;\cfmark@AmS\cfend@AmS}
-
-\def\cfracl#1{\def\cftype@AmS{L}\cfrac@AmS*#1;\cfmark@AmS\cfend@AmS}
-
-\def\cfracr#1{\def\cftype@AmS{R}\cfrac@AmS*#1;\cfmark@AmS\cfend@AmS}
-
-\def\adorn#1#2#3{\mathsurround=0pt\setbox0=\hbox{$\displaystyle{#2}#3$}%
-   \setbox1=\hbox{$\displaystyle\vphantom{#2}#1{#2}$}%
-    \setbox2=\hbox{\hskip\wd0\hskip-\wd1}%
-    \hskip-\wd2\mathop{\hskip\wd2\vphantom{#2}#1{#2}#3}}
-
-%  ARROWS                                                             % NOTE 73
-
-\def\overrightarrow{\mathpalette\overrightarrow@AmS}
-
-\def\overrightarrow@AmS#1#2{\vbox{\halign{$##$\cr
-    #1{-}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
-     \mkern-6mu{\to}\cr
-     \noalign{\kern -1pt\nointerlineskip}
-     \hfil#1#2\hfil\cr}}}
-
-\let\overarrow=\overrightarrow
-
-\def\overleftarrow{\mathpalette\overleftarrow@Ams}
-
-\def\overleftarrow@Ams#1#2{\vbox{\halign{$##$\cr
-     #1{\leftarrow}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
-      \mkern-6mu{-}\cr
-     \noalign{\kern -1pt\nointerlineskip}
-     \hfil#1#2\hfil\cr}}}
-
-\def\overleftrightarrow{\mathpalette\overleftrightarrow@AmS}
-
-\def\overleftrightarrow@AmS#1#2{\vbox{\halign{$##$\cr
-     #1{\leftarrow}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
-       \mkern-6mu{\to}\cr
-    \noalign{\kern -1pt\nointerlineskip}
-      \hfil#1#2\hfil\cr}}}
-
-\def\underrightarrow{\mathpalette\underrightarrow@AmS}
-
-\def\underrightarrow@AmS#1#2{\vtop{\halign{$##$\cr
-    \hfil#1#2\hfil\cr
-     \noalign{\kern -1pt\nointerlineskip}
-    #1{-}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
-     \mkern-6mu{\to}\cr}}}
-
-\let\underarrow=\underrightarrow
-
-\def\underleftarrow{\mathpalette\underleftarrow@AmS}
-
-\def\underleftarrow@AmS#1#2{\vtop{\halign{$##$\cr
-     \hfil#1#2\hfil\cr
-     \noalign{\kern -1pt\nointerlineskip}
-     #1{\leftarrow}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
-      \mkern-6mu{-}\cr}}}
-
-\def\underleftrightarrow{\mathpalette\underleftrightarrow@AmS}
-
-\def\underleftrightarrow@AmS#1#2{\vtop{\halign{$##$\cr
-      \hfil#1#2\hfil\cr
-    \noalign{\kern -1pt\nointerlineskip}
-     #1{\leftarrow}\mkern-6mu\cleaders\hbox{$#1\mkern-2mu{-}\mkern-2mu$}\hfill
-       \mkern-6mu{\to}\cr}}}
-
-% DOTS
-
-\def\dotsc{\mathinner{\ldotp\ldotp\ldotp}}
-\def\dotsi{\mathinner{\cdotp\cdotp\cdotp}}
-\def\dotsj{\mathinner{\ldotp\ldotp\ldotp}}
-\def\dotsb{\mathinner{\cdotp\cdotp\cdotp}}
-
-\def\binary@AmS#1{{\thinmuskip 0mu \medmuskip 1mu \thickmuskip 1mu    % NOTE 74
-      \setbox0=\hbox{$#1{}{}{}{}{}{}{}{}{}$}\setbox1=\hbox
-       {${}#1{}{}{}{}{}{}{}{}{}$}\ifdim\wd1>\wd0\gdef\binary@@AmS{T}\else
-       \gdef\binary@@AmS{F}\fi}}
-
-\def\dots{\relax@AmS\ifmmode\def\dots@AmS{\mdots@AmS}\else
-    \def\dots@AmS{\tdots@AmS}\fi\dots@AmS}
-
-\def\mdots@AmS{\futurelet\tok@AmS\mdots@@AmS}
-
-\def\mdots@@AmS{\def\thedots@AmS{\dotsj}%
-  \ifx\tok@AmS\bgroup\else
-  \ifx\tok@AmS\egroup\else
-  \ifx\tok@AmS$\else
-  \iffalse{\fi  \ifx\tok@AmS\\ \iffalse}\fi\else                      % NOTE 75
-  \iffalse{\fi \ifx\tok@AmS&  \iffalse}\fi\else
-  \ifx\tok@AmS\left\else
-  \ifx\tok@AmS\right\else
-  \ifx\tok@AmS,\def\thedots@AmS{\dotsc}\else
-  \inttest@AmS\tok@AmS\if T\intflag@AmS\def\thedots@AmS{\dotsi}\else
-  \binary@AmS\tok@AmS\if T\binary@@AmS\def\thedots@AmS{\dotsb}\else
-   \def\thedots@AmS{\dotsj}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\thedots@AmS}
-
-\def\tdots@AmS{\unskip\ \tdots@@AmS}
-
-\def\tdots@@AmS{\futurelet\tok@AmS\tdots@@@AmS}
-
-\def\tdots@@@AmS{$\ldots\,
-   \ifx\tok@AmS,$\else
-   \ifx\tok@AmS.\,$\else
-   \ifx\tok@AmS;\,$\else
-   \ifx\tok@AmS:\,$\else
-   \ifx\tok@AmS?\,$\else
-   \ifx\tok@AmS!\,$\else
-   $\ \fi\fi\fi\fi\fi\fi}
-
-
-% SET NOTATION
-
-\def\lset{\{\,}
-\def\rset{\,\}}
-
-
-\def\leftset#1\mid#2\rightset{\hbox{$\displaystyle
-\left\{\,#1\vphantom{#1#2}\;\right|\;\left.
-    #2\vphantom{#1#2}\,\right\}\offspace@AmS$}}
-
-
-% ACCENT SYMBOLS
-
-\def\dotii#1{{\mathop{#1}\limits^{\vbox to -1.4pt{\kern-2pt
-   \hbox{\tenrm..}\vss}}}}
-\def\dotiii#1{{\mathop{#1}\limits^{\vbox to -1.4pt{\kern-2pt
-   \hbox{\tenrm...}\vss}}}}
-\def\dotiv#1{{\mathop{#1}\limits^{\vbox to -1.4pt{\kern-2pt
-   \hbox{\tenrm....}\vss}}}}
-
-\def\vecsymbol{\rightarrow}
-\def\barsymbol{-}
-\def\tildesymbol{\mathchar"0218 }
-\def\hatsymbol{{\mathchoice{\null}{\null}{\,\,\hbox{\lower 10pt\hbox
-    {$\widehat{\null}$}}}{\,\hbox{\lower 20pt\hbox
-       {$\hat{\null}$}}}}}
-\def\dotsymbol{{\nonscript\,.}}
-\def\dotiisymbol{{\nonscript\,\hbox{\tenrm..}}}
-\def\dotiiisymbol{{\nonscript\,\hbox{\tenrm...}}}
-\def\dotivsymbol{{\nonscript\,\hbox{\tenrm....}}}
-\def\dotsymbol{{\nonscript\,\hbox{\tenrm.}}}
-
-
-
-% OVERSET AND OVERBRACE
-
-\def\overset#1\to#2{{\mathop{#2}^{#1}}}
-
-\def\underset#1\to#2{{\mathop{#2}_{#1}}}
-
-\def\oversetbrace#1\to#2{{\overbrace{#2}^{#1}}}
-\def\undersetbrace#1\to#2{{\underbrace{#2}_{#1}}}
-
-
-% ROOTS
-
-\def\uproot#1{\gdef\theuproot{#1 pt}}
-\def\theuproot{0 pt}
-
-\def\therightroot{0mu}
-\def\rightroot#1{\gdef\therightroot{-#1mu}}
-
-
-\def\r@@t#1#2{\setbox\z@\hbox{$\m@th#1\sqrt{#2}$}%
-  \dimen@\ht\z@ \advance\dimen@-\dp\z@ \advance\dimen@\theuproot
-  \mskip5mu\raise.6\dimen@\copy\rootbox \mskip-10mu \mskip\therightroot
-    \box\z@\gdef\theuproot{0 pt}\gdef\therightroot{0mu}}              % NOTE 76
-
-
-%  BOXED
-
-
-\def\boxed#1{\setbox0=\hbox{$\displaystyle{#1}$}\hbox{\lower.4pt\hbox{\lower
-   3pt\hbox{\lower 1\dp0\hbox{\vbox{\hrule height .4pt \hbox{\vrule width
-   .4pt \hskip 3pt\vbox{\vskip 3pt\box0\vskip3pt}\hskip 3pt \vrule width
-      .4pt}\hrule height .4pt}}}}}}
-
-%  FORMATTING MACROS COMMON TO ALL STYLES
-
-\def\documentstyle#1{\input #1.sty}
-
-\newif\ifretry@AmS
-\def\y@AmS{y } \def\y@@AmS{Y } \def\n@AmS{n } \def\n@@AmS{N }
-\def\ask@AmS{\message
-  {Do you want output? (y or n, follow answer by return) }\loop
-   \read-1 to\answer@AmS
-  \ifx\answer@AmS\y@AmS\retry@AmSfalse\outputon
-   \else\ifx\answer@AmS\y@@AmS\retry@AmSfalse\outputon
-    \else\ifx\answer@AmS\n@AmS\retry@AmSfalse\outputoff
-     \else\ifx\answer@AmS\n@@AmS\retry@AmSfalse\outputoff
-      \else \retry@AmStrue\fi\fi\fi\fi
-  \ifretry@AmS\message{Type y or n, follow answer by return: }\repeat}
-
-\def\outputoff{\global\output{\setbox0=\box255 \deadcycles=0}}
-
-\def\outputon{\global\output{\output@AmS}}
-\outputon
-
-\catcode`\@=13
diff --git a/docs/historical/doclib/article.tex b/docs/historical/doclib/article.tex
deleted file mode 100644 (file)
index fdc0e75..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-% Support for the Article style of DISS.STY (do not explicitly load...)
-
-
-\catcode`\@=11                         % for a little while
-
-
-% usage: \header text\title text\author text\info
-\outer\def\header#1\title#2\author#3\info{%
-    \null\vskip .8in plus .1in minus .1in
-    \begingroup
-       \titlefont
-       \let\\=\cr
-       \tabskip=0pt
-       \halign to\hsize{\centerline{\ignorespaces##\unskip}\cr#1\cr}%
-    \endgroup
-    \bigskip
-
-    \begingroup
-       \authorfont
-       \let\\=\cr
-       \tabskip=0pt
-       \halign to\hsize{\centerline{\ignorespaces##\unskip}\cr#2\cr}%
-    \endgroup
-    \medskip
-
-    \begingroup
-       \let\\=\cr
-       \tabskip=0pt
-       \halign to\hsize{\centerline{\ignorespaces##\unskip}\cr#3\cr}%
-    \endgroup
-    \vskip .5in plus .1in
-
-    \def\banner{\bop\chapter#1\endchapter}%
-}
-
-
-% Parameters different than the AmS-TeX dissertation style
-
-\quiet
-    \oddpagesfalse
-    \singlespace
-\verbose
-
-
-\catcode`\@=12                         % back to normal
diff --git a/docs/historical/doclib/dcustom.tex b/docs/historical/doclib/dcustom.tex
deleted file mode 100644 (file)
index c84da28..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-% Customize the dissertation style of AmS-TeX
-
-\expandafter\ifx\csname documentstyle\endcsname\relax \input amstex\fi
-\expandafter\ifx\csname ask\endcsname\relax \documentstyle{diss}\fi
-
-
-\catcode`\@=11                         % for a little while
-
-
-% Parameters different that diss.sty
-
-\hoffset=.175in                                % center it...
-
-% \def\contitle{\jobname.toc}
-% \def\figtitle{\jobname.lof}
-% \def\tabtitle{\jobname.lot}
-
-
-% Figure Support
-
-\def\tagfigure#1#2#3{%
-    \figure{figure#1}{#2}%
-    \ifundefined{#3}%
-       \expandafter\let\csname#3\endcsname=\lastfigure
-    \else
-       \tell{Warning: #3 is already defined}%
-    \fi
-}
-
-\def\tagdiagram#1#2#3{%
-    \diagram{diagram#1}{#2}%
-    \ifundefined{#3}%
-       \expandafter\let\csname#3\endcsname=\lastfigure
-    \else
-       \tell{Warning: #3 is already defined}%
-    \fi
-}
-
-\def\tagtable#1#2#3{%
-    \table{#2}%
-       \input table#1\relax
-    \endtable
-    \ifundefined{#3}%
-       \expandafter\let\csname#3\endcsname=\lasttable
-    \else
-       \tell{Warning: #3 is already defined}%
-    \fi
-}
-
-
-% Page Numbering
-
-\newif\ifdraft \draftfalse
-
-\def\draftstring{{\ifdraft \tt Draft\fi}}
-\def\draftext{%
-    \ifdraft
-       \begingroup
-           \tt
-           \ifodd\pageno
-               \TeX set \today\ with DISS.STY v\version            
-           \else
-               Draft \versiontag/ of \versiondate/
-           \fi
-       \endgroup
-    \fi
-}
-\def\versiontag/{\errmessage{version.tex not loaded!}}
-\let\versiondate=\versiontag
-\def\uci@headpage{\draftext\hfil\rm\folio}
-\def\uci@footpage{\draftstring\hfil\rm\folio\hfil\draftstring}
-
-
-% Draft style
-
-\def\draftstyle{%
-    \quiet
-       \drafttrue
-       \nochapternumbers
-    \verbose
-}
-
-
-% Article and Galley styles
-
-\let\@articlestyle=\articlestyle
-
-\outer\def\articlestyle{%
-    \quiet
-       \@articlestyle
-       \input article
-    \verbose
-}
-
-\outer\def\galleystyle{%
-    \quiet
-       \@articlestyle
-       \input galley
-    \verbose
-}
-
-
-% Theorems, Equations, and the like
-
-\outer\def\proclaim #1. #2\par{%
-    \medbreak\vskip-\parskip
-    \begingroup
-       \singlespace
-       \noindent{\smallertype\sc#1.\enspace}{\sl#2}\par
-    \endgroup
-    \ifdim\lastskip<\medskipamount \removelastskip\penalty55\medskip\fi
-}
-
-\def\proof #1.{\lp{\smallertype\sc Proof of #1.\enspace}}
-
-\def\thm#1{{\smallertype\sc#1}}
-
-\def\eqn#1{\ifmmode {\it(#1\/)}\else $\it(#1\/)$\fi}
-
-\def\implies{\quad\supset\ }
-
-\def\tdots{\ldots\thinspace}
-
-
-% References...
-
-\let\journalinfo=\jourinfo
-\let\thesis=\book                      % experimental
-\let\thesisinfo=\bookinfo              %  ..
-
-
-% Miscellaneous Macros
-
-\let\bop=\newpage
-
-\def\hbreak{\hfil\break}
-
-\def\lp{\par\noindent}
-
-% usage: \boxit{text}
-\def\boxit#1{%
-    \leavevmode
-    \thinspace
-    \hbox{%
-       \smallertype
-       \vrule
-       \vtop{%
-           \vbox{%
-               \hrule\kern\p@
-               \hbox{\vphantom{\sc/}\thinspace{\sc#1}\thinspace}
-           }%
-           \kern\p@\hrule
-       }%
-       \vrule
-    }%
-    \thinspace
-}
-
-
-% Additional verbatim support
-
-\def\?{\char'077}
-
-\def\verbatimlines{%
-    \lineno@uci=\z@
-    \begingroup
-       \setupverbatim
-       \parskip=\z@ plus .05\baselineskip
-       \parindent=20\p@
-       \everypar{\advance\lineno@uci by\@ne \llap{\the\lineno@uci\ \ }}%
-       \catcode`\ =13 \catcode`\^^M=13 \catcode`\?=\z@
-       \verbatimgobble
-}
-
-
-% Trademarks...
-
-\input trademark
-
-
-% Parameters different than the AmS-TeX dissertation style
-
-\quiet
-    \twosided
-    \useolddigits
-    \raggedbottom
-    \raggedright
-    \AuthorsInCSC
-    \refdef@AmS\yr\oldstyle
-    \halfspace
-    \twelvepoint
-\verbose
-
-
-\catcode`\@=12                         % back to normal
-
-
-\let\dcustom=\empty
diff --git a/docs/historical/doclib/diss.sty b/docs/historical/doclib/diss.sty
deleted file mode 100644 (file)
index 399c495..0000000
+++ /dev/null
@@ -1,2164 +0,0 @@
-% UCI Dissertation Style for AmSTeX.
-% @(#)diss.sty,v 1.1.1.1 1993/01/30 04:41:05 jtc Exp
-
-% Tim Morgan with many suggestions, bug fixes, etc, from Marshall Rose
-% Based originally on Michael Spivak's AMSPPT.STY.
-
-% When edits are made to this file, the version number should be incremented.
-\def\version{103}
-\let\fmtversion=\version       % These two control sequences are defined
-\def\fmtname{dissertation}     % in plain.tex, so we do it here too.
-
-% Assumes the following hidden definitions from plain.tex:
-%      \z@ is defined from plain.tex as 0pt (and magically can
-%              be used as the integer constant 0 also).
-%      \p@ is the same, but 1pt
-%      \@ne is 1
-%      \m@ne is -1
-%      \tw@ is 2
-%      \thr@@ is 3
-%      \@m is 1000
-%      \@M is 10000
-% And the following scratch register definitions:
-%      \dimen@ is \dimendef'd to be \dimen0
-%      \skip@  is \skipdef'd to be \skip0
-%      \count@ is \count255
-
-\catcode`\@=11              % So we can use a special character
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  PARAMETERS DIFFERENT THAN IN PLAIN  %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% These are words which TeX doesn't hyphenate perfectly.
-% Unfortunately, the plural forms must be included also.
-\hyphenation{com-put-er com-mun ap-pen-dix cart-wheel data-base Dijk-stra}
-\hyphenation{in-fra-struc-ture man-u-script mi-cro-fiche para-mil-i-tary}
-\hyphenation{post-am-ble pre-am-ble sub-scrib-er wave-guide sub-scrib-ers}
-\hyphenation{com-put-ers cart-wheels data-bases in-fra-struc-tures}
-\hyphenation{man-u-scripts mi-cro-fiches post-am-bles pre-am-bles}
-\hyphenation{buf-fer buf-fers des-ig-na-ted par-a-graph par-a-graphs}
-\hyphenation{key-stroke key-strokes usu-al-ly}
-
-
-\def\normal@topskip{0.48cm}
-\topskip=\normal@topskip     % For correct page positioning, do NOT
-\hoffset=0.5in              % change any of these values!!!
-\voffset=0.07cm
-\hsize=15.2cm
-\vsize=22.2cm
-
-\normallineskiplimit=\p@     % Min. dist. btw. lines.
-\parindent=1cm              % Normal indentation.
-\hfuzz=0.115\p@                     % So we hear fewer complaints.  Good up to
-\vfuzz=0.115\p@                     % 300 dpi.
-
-\pretolerance=200           % At 12pt, these margins are kind of narrow
-\tolerance=300              % so we have to be more tolerant.
-\clubpenalty=\@M            % Never allow these.
-\widowpenalty=\@M
-\newlinechar=`\^^J          % For writing output to tty.
-\uchyph=\z@                 % Don't take any chances.
-\brokenpenalty=\@M          % Never hyphenate last line on a page.
-\newcount\defaultinterlinepenalty      % This probably won't make any
-\defaultinterlinepenalty=\thr@@                % difference, so why not??
-\interlinepenalty=\defaultinterlinepenalty
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  PARAMETERS DIFFERENT from AmSTeX  %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\TagsOnRight                % Set tags like a sane person does
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%
-%  EXTRA FONTS NEEDED  %
-%%%%%%%%%%%%%%%%%%%%%%%%
-
-\newif\ifolddigits
-\olddigitsfalse                        % Allow use of amcscod10 for citations
-\def\useolddigits{%
-    \olddigitstrue
-    \oktell{Old Digits Mode}%
-}
-
-\font\sixrm=cmr6 \font\sixbf=cmbx6
-\font\sixi=cmmi6 \skewchar\sixi='177
-\font\sixsy=cmsy6 \skewchar\sixsy='60
-
-\font\eightrm=cmr8 \font\eightsl=cmsl8 \font\eightit=cmti8
-\font\eightsy=cmsy8 \skewchar\eightsy='60
-\skewchar\eightsy='60 \font\eightbf=cmbx8
-\font\eightex=cmex10 at 8\p@
-\font\eighti=cmmi8 \skewchar\eighti='177
-
-\font\ninerm=cmr9  \font\nineit=cmti9
-\font\ninei=cmmi9   \skewchar\ninei='177
-\font\ninesy=cmsy9 \skewchar\ninesy='60
-\font\ninesl=cmsl9 \font\ninebf=cmbx9
-
-\font\twelvecsc=cmcsc10 scaled \magstep1
-\font\tencsc=cmcsc10
-\font\eightcsc=cmcsc10 at 8\p@
-\font\elevencsc=cmcsc10 scaled \magstephalf
-\font\ninecsc=cmcsc10 at 9\p@
-
-\let\tencscod=\tencsc
-\let\eightcscod=\eightcsc
-
-\font\eightsf=cmss10 at 8\p@
-\font\tensf=cmss10
-\font\twelvesf=cmss10 at 12\p@
-
-\font\twelvett=cmtt10 scaled \magstep1
-\font\eighttt=cmtt10 at 8\p@   % \tentt is predefined in plain.tex
-
-\font\twelvebti=cmbti at 12\p@
-\font\tenbti=cmbti
-\font\eightbti=cmbti at 8\p@
-
-\font\twelveex=cmex10 scaled \magstep1 \font\twelverm=cmr10 scaled \magstep1
-\font\twelvesl=cmsl10 scaled \magstep1 \font\twelvebf=cmbx10 scaled \magstep1
-\font\twelvei=cmmi10 scaled \magstep1  \skewchar\twelvei='177
-\font\twelvesy=cmsy10 scaled \magstep1 \skewchar\twelvesy='60
-\font\twelveit=cmti10 scaled \magstep1
-
-\font\twelvechap@font=cmssbx10 at 14\p@
-\font\twelvesec@font=cmss10 at 13\p@
-\font\twelvesubsec@font=cmssi10 scaled \magstep1
-
-\font\tenchap@font=cmssbx10 scaled \magstep1
-\font\tensec@font=cmssbx10 scaled \magstephalf
-\font\tensubsec@font=cmssi10
-
-\font\eightchap@font=cmssbx10
-\font\eightsec@font=cmss10 at 9\p@
-\font\eightsubsec@font=cmssqi8
-
-% Font selection
-\newcount\font@no
-\def\curfont{\ifcase\font@no\rm\or\it\or\sl\or\bf\or\tt\or\csc\or\bti\or\sf
-       \else\errmessage{Internal font confusion}\fi}
-
-%%%%%%%%%%%%%%%%%%%%%
-%  SPACING CONTROL  %
-%%%%%%%%%%%%%%%%%%%%%
-
-\newskip\normalabovedisplayskip
-\newskip\normalbelowdisplayskip
-\newskip\normalabovedisplayshortskip
-\newskip\normalbelowdisplayshortskip
-\newdimen\normalparskip \normalparskip=22.5\p@
-\newdimen\parstretch   \parstretch=8\p@
-
-\newif\ifsinglespacing % Tells if we are currently in single space mode
-\newif\ifhalfspacing   % Special version of singlespacing, a little bigger.
-
-% Actually tell TeX what spacing is wanted
-\def\setbaselines{%
-    \baselineskip=\normalbaselineskip
-    \abovedisplayskip=\normalabovedisplayskip
-    \belowdisplayskip=\normalbelowdisplayskip
-    \abovedisplayshortskip=\normalabovedisplayshortskip
-    \belowdisplayshortskip=\normalbelowdisplayshortskip
-    % Compute \parskip for even paragraph spacing at all pt sizes
-    \dimen@=\normalparskip
-    \advance\dimen@ by -\normalbaselineskip
-    \parskip=\dimen@ plus\parstretch
-}
-
-% Go from double to single spacing
-\def\reducespacing{%
-    \normalbaselineskip=0.64\normalbaselineskip
-    \normalabovedisplayskip=0.64\normalabovedisplayskip
-    \normalbelowdisplayskip=0.64\normalbelowdisplayskip
-    \normalabovedisplayshortskip=0.64\normalabovedisplayshortskip
-    \normalbelowdisplayshortskip=0.64\normalbelowdisplayshortskip
-}
-
-% Set halfspacing baseline etc starting from singlespacing mode
-\def\sethalfspacing{%
-       \normalbaselineskip=1.28125\normalbaselineskip
-       \abovedisplayskip=1.28125\abovedisplayskip
-       \belowdisplayskip=1.28125\belowdisplayskip
-       \abovedisplayshortskip=1.28125\abovedisplayshortskip
-       \belowdisplayshortskip=1.28125\belowdisplayshortskip
-}
-
-% Go to single spacing if we're not there already
-\def\singlespace{%
-    \normalspacing \reducespacing
-    \halfspacingfalse \singlespacingtrue
-    \setbaselines
-}
-
-% Go to 1-1/2 spacing.
-\def\halfspace{%
-    \normalspacing \reducespacing \sethalfspacing
-    \singlespacingtrue \halfspacingtrue
-    \setbaselines
-}
-
-% Go to normal, doublespacing mode
-\def\doublespace{%
-    \normalspacing
-    \singlespacingfalse \halfspacingfalse
-    \setbaselines
-}
-
-% Make sure we're doing the spacing we're supposed to be.
-\def\setspacing{%
-  \normalspacing
-  \ifsinglespacing
-       \reducespacing
-       \ifhalfspacing \sethalfspacing \fi
-  \fi
-  \setbaselines
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  FOUR DIFFERENT POINT SIZES  %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\def\twelvepoint{%
-  \def\big@@AmS{10.2\p@}%
-  \def\Big@@AmS{13.8\p@}%
-  \def\bigg@@AmS{17.4\p@}%
-  \def\Bigg@@AmS{21.0\p@}%
-  \let\smallertype=\tenpoint
-  \let\curtype=\twelvepoint
-  \def\biggertype{\errmessage{No larger point size available}}%
-  \def\normalspacing{%
-    \normalbaselineskip=22.8\p@
-    \normalabovedisplayskip=14.5\p@ plus 3\p@ minus 9\p@
-    \normalbelowdisplayskip=14.5\p@ plus 3\p@ minus 9\p@
-    \normalabovedisplayshortskip=\z@ plus 4\p@
-    \normalbelowdisplayshortskip=9\p@ plus 4\p@ minus 5\p@
-  }%
-  \def\rm{\font@no=0\fam\z@\twelverm}%
-  \def\it{\font@no=1\fam\itfam\twelveit}%
-  \def\sl{\font@no=2\fam\slfam\twelvesl}%
-  \def\bf{\font@no=3\fam\bffam\twelvebf}%
-  \def\tt{\font@no=4\fam\ttfam\twelvett \spaceskip.5em plus.25em
-       minus.15em }%
-  \def\csc{\font@no=5\twelvecsc}%
-  \def\bti{\font@no=6\twelvebti}%
-  \def\sf{\font@no=7\twelvesf}%
-  \let\sc=\csc
-  \ifolddigits
-       \let\cite@font=\tencscod
-  \else
-       \let\cite@font=\elevencsc
-  \fi
-  \textfont\z@=\twelverm \scriptfont\z@=\ninerm   \scriptscriptfont\z@=\sixrm
-  \textfont\@ne=\twelvei \scriptfont\@ne=\ninei   \scriptscriptfont\@ne=\sixi
-  \textfont\tw@=\twelvesy \scriptfont\tw@=\ninesy \scriptscriptfont\tw@=\sixsy
-  \textfont\thr@@=\twelveex \scriptfont\thr@@=\twelveex
-       \scriptscriptfont\thr@@=\twelveex
-  \textfont\itfam=\twelveit
-  \textfont\slfam=\twelvesl
-  \textfont\ttfam=\twelvett
-  \textfont\bffam=\twelvebf \scriptfont\bffam=\ninebf
-       \scriptscriptfont\bffam=\sixbf
-  \let\chap@font=\twelvechap@font
-  \let\sec@font=\twelvesec@font
-  \let\subsec@font=\twelvesubsec@font
-  \let\subsubsec@font=\twelvebf
-  \def\oldstyle{\fam1\twelvei}%
-  \setspacing
-  \curfont
-  \ifundefined{everypointsize}\else\everypointsize{twelve}{12}\fi
-}
-
-\def\tenpoint{%
-  \def\big@@AmS{8.5\p@}%
-  \def\Big@@AmS{11.5\p@}%
-  \def\bigg@@AmS{14.5\p@}%
-  \def\Bigg@@AmS{17.5\p@}%
-  \let\smallertype=\eightpoint
-  \let\curtype=\tenpoint
-  \let\biggertype=\twelvepoint
-  \def\normalspacing{%
-    \normalbaselineskip=18.9\p@
-    \normalabovedisplayskip=12\p@ plus 3\p@ minus 9\p@
-    \normalbelowdisplayskip=12\p@ plus 3\p@ minus 9\p@
-    \normalabovedisplayshortskip=\z@ plus 3\p@
-    \normalbelowdisplayshortskip=7\p@ plus 3\p@ minus 4\p@
-  }%
-  \def\rm{\font@no=0\fam\z@\tenrm}%
-  \def\it{\font@no=1\fam\itfam\tenit}%
-  \def\sl{\font@no=2\fam\slfam\tensl}%
-  \def\bf{\font@no=3\fam\bffam\tenbf}%
-  \def\tt{\font@no=4\fam\ttfam\tentt \spaceskip.5em plus.25em
-       minus.15em }%
-  \def\csc{\font@no=5\tencsc}
-  \def\bti{\font@no=6\tenbti}%
-  \def\sf{\font@no=7\tensf}%
-  \let\sc=\csc
-  \ifolddigits
-       \let\cite@font=\eightcscod
-  \else
-       \let\cite@font=\ninecsc
-  \fi
-  \textfont\z@=\tenrm \scriptfont\z@=\sevenrm \scriptscriptfont\z@=\fiverm
-  \textfont\@ne=\teni \scriptfont\@ne=\seveni \scriptscriptfont\@ne=\fivei
-  \textfont\tw@=\tensy \scriptfont\tw@=\sevensy \scriptscriptfont\tw@=\fivesy
-  \textfont\thr@@=\tenex \scriptfont\thr@@=\tenex
-       \scriptscriptfont\thr@@=\tenex
-  \textfont\itfam=\tenit
-  \textfont\slfam=\tensl
-  \textfont\ttfam=\tentt
-  \textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf
-       \scriptscriptfont\bffam=\fivebf
-  \let\chap@font=\tenchap@font
-  \let\sec@font=\tensec@font
-  \let\subsec@font=\tensubsec@font
-  \let\subsubsec@font=\tenbf
-  \def\oldstyle{\fam1\teni}%
-  \setspacing
-  \curfont
-  \ifundefined{everypointsize}\else\everypointsize{ten}{10}\fi
-}
-
-\def\eightpoint{%
-  \def\big@@AmS{6.8\p@}%
-  \def\Big@@AmS{9.2\p@}%
-  \def\bigg@@AmS{11.6\p@}%
-  \def\Bigg@@AmS{14.0\p@}%
-  \def\smallertype{\errmessage{No smaller point size available}}%
-  \let\curtype=\eightpoint
-  \let\biggertype=\tenpoint
-  \def\normalspacing{%
-    \normalbaselineskip=15\p@
-    \normalabovedisplayskip=10\p@ plus 2.4\p@ minus 7.2\p@
-    \normalbelowdisplayskip=10\p@ plus 2.4\p@ minus 7.2\p@
-    \normalabovedisplayshortskip=\z@ plus 2.4\p@
-    \normalbelowdisplayshortskip=55.6\p@ plus 2.4\p@ minus 3.2\p@
-  }%
-  \def\rm{\font@no=0\fam\z@\eightrm}%
-  \def\it{\font@no=1\fam\itfam\eightit}%
-  \def\sl{\font@no=2\fam\slfam\eightsl}%
-  \def\bf{\font@no=3\fam\bffam\eightbf}%
-  \def\tt{\font@no=4\fam\ttfam\eighttt \spaceskip.5em plus.25em
-       minus.15em }%
-  \def\csc{\font@no=5\eightcsc}%
-  \def\bti{\font@no=6\eightbti}%
-  \def\sf{\font@no=7\eightsf}%
-  \let\sc=\csc
-  \def\cite@font{\errmessage{You may not do citations in 8 point}}
-  \textfont\z@=\eightrm \scriptfont\z@=\sixrm \scriptscriptfont\z@=\fiverm
-  \textfont\@ne=\eighti \scriptfont\@ne=\sixi \scriptscriptfont\@ne=\fivei
-  \textfont\tw@=\eightsy \scriptfont\tw@=\sixsy \scriptscriptfont\tw@=\fivesy
-  \textfont\thr@@=\eightex \scriptfont\thr@@=\eightex
-       \scriptscriptfont\thr@@=\eightex
-  \textfont\itfam=\eightit
-  \textfont\slfam=\eightsl
-  \textfont\ttfam=\eighttt
-  \textfont\bffam=\eightbf \scriptfont\bffam=\sixbf
-       \scriptscriptfont\bffam=\fivebf
-  \let\chap@font=\eightchap@font
-  \let\sec@font=\eightsec@font
-  \let\subsec@font=\eightsubsec@font
-  \let\subsubsec@font=\eightbf
-  \def\oldstyle{\fam1\eighti}%
-  \setspacing
-  \curfont
-  \ifundefined{everypointsize}\else\everypointsize{eight}{10}\fi
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  TABLE of CONTENTS Macros  %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% This set of macros allows you to build a table of contents for a document
-% automatically in TeX.  There are only three control sequences which you
-% will need to use.  The first is \inicont, which initializes the macros.
-% This package works by writing the appropriate lines into a file called
-% \jobname.toc in your account.  This file is read by \printcontents or
-% by \printcont in PRINT-PRELIM.TEX.
-%
-\newwrite\cont@file                    % Get a free channel to write to
-\newif\ifcont@closed
-\cont@closedtrue                       % Haven't opened contents file yet
-\newwrite\fig@file
-\newwrite\tab@file
-\newif\iffig@closed
-\fig@closedtrue                                % Or the list of figures file
-\newif\iftab@closed
-\tab@closedtrue                                % Or the tables file
-
-\def\contitle{\jobname.toc}            % Default name of contents file
-\def\figtitle{\jobname.lof}            %  ditto for figures file
-\def\tabtitle{\jobname.lot}            %  ditto for tables file
-
-% Make sure the contents file is open before writing to it
-\def\opencontfile{%
-    \ifcont@closed
-       \immediate\openout\cont@file=\contitle
-       \cont@closedfalse
-    \fi
-}
-
-%
-% This control sequence adds its argument to the table of contents.
-%
-\def\content#1{%
-    \opencontfile
-    \let\\=\space
-    \write\cont@file{\string\Z{#1}{\the\pageno}}%
-}
-
-%
-% This control sequence is the same as \content except that the first
-% box written will have two leading spaces to indent it.
-%
-\def\subcontent#1{%
-    \opencontfile
-    \let\\=\space
-    \write\cont@file{\string\Z{\string\hskip \parindent{}#1}{\the\pageno}}%
-}
-
-% And the same thing for sub-sections
-\def\subsubcontent#1{%
-    \opencontfile
-    \let\\=\space
-    \write\cont@file{\string\Z{\string\hskip 2\parindent{}#1}{\the\pageno}}%
-}
-
-% And the same thing for sub-sub-sections
-\def\subsubsubcontent#1{%
-    \opencontfile
-    \let\\=\space
-    \write\cont@file{\string\Z{\string\hskip 3\parindent{}#1}{\the\pageno}}%
-}
-
-% Simple table-of-contents printer for \articlestyle.
-% For dissertations, use the one in print-prelim.tex.
-% Use this macro as the last thing in your report, since it makes
-% the page numbers be in romannumerals at the bottom of the page.
-\def\printcontents{%
-    \closeout \cont@file
-    \null\vfill\supereject     % Close output, end last page
-    \twelvepoint\rm    % Make sure we're in normal mode
-    \pageno=\m@ne      % Contents get roman numerals.
-    \plain@page@numbers        % Put page #s at bottom only
-    \oktell{Table of Contents}
-    \null \vskip .8in minus\baselineskip
-    \centerline{\chap@font Contents}
-    \vskip \tw@\baselineskip
-    \rightline{Page}
-    \begingroup  % Temporarily change \baselineskip to avoid
-                % underfull \vbox's during output errors.
-       \baselineskip=\@ne\baselineskip plus .05\baselineskip
-       \def\Z##1##2{\line{\ignorespaces##1\leaders
-           \hbox to.7em{.\hfil}\hfil\hbox to2em{\hss##2}}}
-       \catcode`@=11
-       \let\\=\space
-       \input\contitle \relax
-    \endgroup  % Also undoes the \catcode change
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%
-%  NUMBERED FOOTNOTES  %
-%%%%%%%%%%%%%%%%%%%%%%%%
-
-% First, modify \vfootnote from Plain to use smallertype and singlespace
-\def\vfootnote#1{%
-    \insert\footins\bgroup\tenpoint\singlespace
-    \interlinepenalty\interfootnotelinepenalty
-    \splittopskip\ht\strutbox % top baseline for broken footnotes
-    \splitmaxdepth\dp\strutbox \floatingpenalty\@MM
-    \leftskip\z@skip \rightskip\z@skip \spaceskip\z@skip \xspaceskip\z@skip
-    \parindent=.13in
-    \textindent{#1}\footstrut\futurelet\next\fo@t
-}
-
-% Allocate a counter for the numbered footnotes
-\newcount\note@count \note@count=\@ne
-
-\def\nfootnote#1{%
-    \unskip\footnote{$^{\number\note@count}$}{#1}%
-    \global\advance\note@count by\@ne
-}
-
-% Same except that trailing period or comma is ``tucked'' under
-% the note mark.  \ntucknote provides auto numbering.
-\def\ntucknote#1#2{\nfootnote{#1}\llap{#2}}
-\def\tucknote#1#2#3{\footnote{#1}{#2}\llap{#3}}
-
-
-%%%%%%%%%%%%%%%%%%%%
-%  UTILITY MACROS  %
-%%%%%%%%%%%%%%%%%%%%
-
-% Insert a discretionary hyphen.  For use in restricted
-% horizontal mode, as in the bibliography.
-\def\hyphenbreak{\discretionary{-}{}{-}}
-
-% Check if a macro name is currently undefined (from The TeXbook)
-\def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax}
-
-% Terminal input and output routines and auxilary stuff
-\newwrite\undef@out@chan       % Allocate a channel for the tty
-\def\tell#1{{\let\\=\space\immediate\write\undef@out@chan{#1}}}
-\def\ask#1{\read-16 to #1}     % Read from tty w/o prompt
-
-% Sanitize a string before \write'ing it.
-% Call with \unexpanded{op}{msg}
-% Modified from version in The TeXbook, originally by Todd Allen
-\long\def\unexpanded#1#2{%
-    \def\finwrite{#1}%
-    {\aftergroup\finwrite\aftergroup{\sanitize@uci#2\endsanity@uci}}%
-}
-\def\sanitize@uci{\futurelet\next@uci\sanswitch@uci}
-\def\sanswitch@uci{\ifx\next@uci\endsanity@uci
-     \else\ifx\next@uci\\\aftergroup\space\let\next@uci=\eat@uci
-     \else\ifcat\noexpand\next@uci\space\aftergroup\space\let\next@uci=\eat@uci
-     \else\ifcat\noexpand\next@uci\bgroup\aftergroup{\let\next@uci=\eat@uci
-     \else\ifcat\noexpand\next@uci\egroup\aftergroup}\let\next@uci=\eat@uci
-     \else\let\next@uci=\copytoken@uci\fi\fi\fi\fi\fi \next@uci
-}
-\def\eat@uci{\afterassignment\sanitize@uci \let\next@uci= }
-\long\def\copytoken@uci#1{%
-    \ifcat\noexpand#1\relax\aftergroup\noexpand
-       \else\ifcat\noexpand#1\noexpand~\aftergroup\noexpand
-       \fi
-    \fi
-    \aftergroup#1\sanitize@uci
-}
-\def\endsanity@uci\endsanity@uci{}
-
-% Now use the sanity stuff to make a sane tell command.  This macro
-% actually takes one argument, but since it's the last for \unexpanded,
-% we avoid scanning it twice by not picking it up here.
-\def\sanetell{\unexpanded{\immediate\write\undef@out@chan}}
-
-% Produce verbatim listings of various sorts
-
-\def\uncatcodespecials{\def\do##1{\catcode`##1=12 } \dospecials}
-\def\setupverbatim{%
-    \par \tt \spaceskip=\z@    % Want fixed tt spacing now
-    \obeylines \uncatcodespecials \obeyspaces \verbatimdefs
-}
-
-% This macro turns on verbatim mode until ?endverbatim is seen.
-\def\verbatim{%
-    \begingroup \setupverbatim
-    \parskip=\z@ plus .05\baselineskip \parindent=\z@
-    \catcode`\ =13 \catcode`\^^M=13 \catcode`\?=\z@
-    \verbatimgobble
-}
-{\catcode`\^^M=13{\catcode`\ =13\gdef\verbatimdefs{\def^^M{\ \par}\let =\ }}
-  \gdef\verbatimgobble#1^^M{}%
-}
-
-% This defines ?endverbatim to end the group which begins with \verbatim
-\let\endverbatim=\endgroup
-
-% Input a file in verbatim mode.  Sometimes useful for including
-% real-life examples into a paper.
-\def\verbfile#1{%
-    \begingroup\setupverbatim
-    \parskip=\z@ plus .05\baselineskip \parindent=\z@
-    \input#1 \endgroup
-}
-
-% This is the same as the above, but it adds line numbers to each
-% line of the file printed.  \lineno@uci has the obvious use.
-\newcount\lineno@uci
-\def\listing#1{%
-  \lineno@uci=\z@
-  \begingroup\setupverbatim
-    \parskip=\z@ plus .05\baselineskip \parindent=20\p@
-    \everypar{\advance\lineno@uci by\@ne \llap{\the\lineno@uci\ \ }}%
-    \input#1
-  \endgroup
-}
-
-% Draw a little qed symbol (black box)
-\def\qed{\hbox{\hskip\p@ \vrule width4\p@ height6\p@ depth1.5\p@ \hskip\p@}}
-
-% Conditions -- from AmSppt
-\newif\ifrunin@AmS
-\runin@AmSfalse
-\let\runin=\runin@AmStrue
-\newdimen\cond@dimen
-\newdimen\condindent   % Amount each nested condition is indented
-\condindent=.5in       % Default indentation amount
-
-% This is used in \conditions
-\def\firstcon@AmS#1:{%
-    \ifrunin@AmS
-       {\rm\ignorespaces#1\unskip}\ignorespaces
-       \runin@AmSfalse
-    \else
-       \par
-       \ifdim\lastskip<\smallskipamount
-           \removelastskip \penalty55 \smallskip
-       \fi
-       \\#1:%
-    \fi
-}
-
-% Do one item of the conditions.  This is really \\ in disguise.
-\def\cond@item#1:{%
-    \par\noindent
-    \hbox to \cond@dimen{\hfil\rm\ignorespaces#1\unskip\quad}%
-    \hangafter1
-    \hangindent\cond@dimen\ignorespaces
-}
-
-\cond@dimen=\z@                % Value for outermost block
-% Do the main stuff for \conditions.
-\def\conditions{%
-    \par
-    \let\\=\cond@item
-    \begingroup
-    \advance\cond@dimen by\condindent
-    \firstcon@AmS
-}
-
-% Exit special stuff for \conditions.
-\def\endconditions{%
-    \par\smallbreak\endgroup
-    \ifdim\cond@dimen>\z@ \cond@item \fi       % If ending an inner condition
-}
-
-% Automatically numbered items
-\newcount\item@count
-\newdimen\item@dimen  \item@dimen=\z@
-\def\item@prefix{}
-\def\beginitems{%
-    \begingroup
-       \advance \parindent by\item@dimen
-       \ifnum\item@dimen>\z@
-           \edef\item@prefix{\item@prefix\number\item@count.}
-       \else
-           \item@dimen=1cm
-       \fi
-        \item@count=\z@ \singlespace \interlinepenalty=200
-}
-\def\enditems{\par\endgroup}
-\def\nitem{\advance\item@count by\@ne \item{\item@prefix\number\item@count.}}
-
-% Turn back on the \+ construct of plain TeX.
-\def\tabalign{\us@true\m@ketabbox}
-\outer\def\+{\tabalign}
-
-% Fix AmSTeX's definition used in its definition of ~ (tie).
-\def\s@AmS{\penalty\@M\ifx\tok@AmS\Space@AmS\else\ \fi}
-
-% And make \/ work the way it does in plain.tex
-\let\/=\ic@AmS
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  PAGE CONTROL and OBJECT MANIPULATION  %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% This definition doesn't blow up if you're in vertical mode already
-\def\pagebreak{\ifhmode\vadjust{\break}\else\break\relax}
-
-% This definition clears out all previous inserts etc to
-% guarantee that the following stuff is at the top of a page.
-\def\clearpage{\vfill\supereject}
-
-% This macro keeps the stuff in the argument on the same page, leaving
-% blank space on this page if necessary
-\def\keep{\par\setbox\z@=\vbox\bgroup}
-\def\endkeep{%
-    \egroup
-    \dimen@=\ht\z@
-    \advance\dimen@ by\dp\z@
-    \vskip\z@ plus\dimen@
-    \penalty\z@
-    \vskip\z@ plus-\dimen@
-    \vskip\parskip
-    \box\z@
-    \goodbreak
-}
-\def\filkeep{%
-    \egroup
-    \filbreak
-    \vskip\parskip
-    \box\z@
-    \goodbreak
-}
-
-% List macros from the TeXbook
-
-\toksdef\ta=\z@ \toksdef\tb=\tw@
-\newif\ifresult@uci
-
-% usage: \newlist\list
-\def\newlist#1{\let#1=\empty}
-
-% usage: \append{item}\to\list
-\def\append#1\to#2{\ta={\\{#1}}\tb=\expandafter{#2}\edef#2{\the\tb\the\ta}}
-\def\gappend#1\to#2{\ta={\\{#1}}\tb=\expandafter{#2}\xdef#2{\the\tb\the\ta}}
-
-% usage: \cardinality\list\to\counter
-\def\cardinality#1\to#2{#2=\z@ \long\def\\##1{\advance#2 by\@ne }#1}
-
-% usage: \ifismember{item}\of\list ... \else ... \fi
-\def\ifismember#1\of#2{%
-    \def\given@uci{#1}%
-    \result@ucifalse
-    \def\\##1{%
-       \def\next@uci{##1}%
-       \ifx\next@uci\given@uci \result@ucitrue\fi
-    }%
-    #2%
-    \ifresult@uci
-}
-
-% usage: \ifwasmember{item}\of\list ... \else ... \fi
-%    side effect: removes {item} from \list if present
-\def\ifwasmember#1\of#2{%
-    \newlist\ref@mtr
-    \def\given@uci{#1}%
-    \result@ucifalse
-    \def\\##1{%
-       \def\next@uci{##1}%
-       \ifx\next@uci\given@uci
-           \result@ucitrue
-       \else
-           \append ##1\to\ref@mtr
-       \fi
-    }%
-    #2%
-    \let#2=\ref@mtr
-    \ifresult@uci
-}
-
-% Append #1 to list #2 if #1 is not already in #2
-\def\addtolist#1\to#2{%
-    \ifismember#1\of#2%
-    \else
-       \append #1\to #2%
-    \fi
-}
-% Same thing, but do it \global'ly
-\def\gaddtolist#1\to#2{%
-    \ifismember#1\of#2%
-    \else
-       \gappend#1\to#2%
-    \fi
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  STUFF for BIBLIOGRAPHY and APPENDICES  %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% Bibliography Package:
-%             Original version by Michal Spivak
-%             Updated for JACM format and automated by Tim Morgan
-%             Final cleanup, and much-improved automation, by Marshall Rose
-%             Additional work and IEEE support by TM.
-
-% Simple appendix entry builder
-\def\appendix#1#2{%
-    \par
-    \clearpage
-    \ifoddpages
-       \ifodd\pageno \else \null\vfill\eject\fi
-    \fi
-    \pageno@foot
-    \begingroup
-       \setbox\z@=\hbox{#1}%
-       \ifdim\wd\z@>\z@
-           \content{Appendix #1: #2}%
-           \oktell{Appendix #1: #2}%
-           \def\title{Appendix #1\\#2}%
-       \else
-           \content{Appendix: #2}%
-           \oktell{Appendix: #2}%
-           \def\title{Appendix\\#2}%
-       \fi
-       \let\\=\cr \tabskip=\z@ \chap@font
-       \halign to\hsize{\centerline{\ignorespaces##\unskip}\cr\title\cr}%
-    \endgroup
-    \nobreak
-    \vskip 1.0in minus 0.15in
-}
-
-
-% Citations:
-% We keep a running list, \ref@set, which is
-% all the things which were \cite'd throughout the paper, with
-% only one entry for each different key.
-%
-% There are three versions of each of the citation
-% commands:
-% 1. The \def'd version is the normal one used throughout the paper.
-% 2. Within a figure, table, etc,'s caption, because of the use of
-%    \def and \edef, a special version which just produces the
-%    citation without the \gaddtolist command is used.  These
-%    definitions are predefined, and are \let to be \cite etc with
-%    \no@cites, for speed.
-%
-% When the user requests a citation with key, we first look it up
-% in a translation table called \key@table, organized as a list of
-% <key, printed-key> pairs, to see if it really should be
-% printed differently.  The user can specify this translation table using
-% the \printkey command.  If a key is not in the table, it is printed
-% as-is.
-
-% We keep the dimension \key@size as the largest printed key so far.
-% This value can then be used to print the keys in the bibliography
-% optimally, rather than just trying to guess.  Each time we print a
-% (in \use@key), we see if it's longer than \key@size, and if so then
-% we set \key@size = its width.
-\newdimen\key@size
-\key@size=\z@  % Init. value so \key@size is made as small as possible
-
-% Invisible citation.  usage: \icite{key}
-\def\icite#1{%
-    \gaddtolist#1\to\ref@set
-}
-
-% Management of \key@table stuff.  This table is formatted as
-% \\{real-key}{printed-key}...
-\newlist\key@table
-
-% Add a pair of items to the list.  This should be done before any
-% citations are made, for obvious reasons.
-% #1=real key (the one you use in the paper and bibliography)
-% #2=the key that gets printed in the output
-\def\printkey#1#2{%
-       \ta={\\{#1}{#2}}%
-       \tb=\expandafter{\key@table}%
-       \xdef\key@table{\the\tb\the\ta}%
-}
-
-% Print a key, looking it up in the table.  #1 is \whatever which
-% expands to the key used by the user.  The definition of \\ here
-% makes use of the format of the \key@table, so that the table is
-% actually EXECUTED, hence making lookup relatively fast.
-\newif\if@not@printed@
-\def\use@key#1{%
-    \@not@printed@true
-    \def\\##1##2{%
-       \if@not@printed@
-           \def\temp@uci{##1}%
-           \ifx\temp@uci#1%
-               \@not@printed@false
-               \setbox\z@=\hbox{[##2]\enspace}%
-               \ifdim\wd\z@>\key@size \global\key@size=\wd\z@ \fi
-               ##2%
-           \fi
-       \fi
-    }%
-    \key@table
-    \if@not@printed@
-       \setbox\z@=\hbox{\cite@font[\ignorespaces#1\unskip]\enspace}%
-       \ifdim\wd\z@>\key@size \global\key@size=\wd\z@ \fi
-       #1%
-    \fi
-}
-
-% This macro moves forward until it hits \end, skipping spaces.
-% Each time it hits a comma, or when it hits and \end, it
-% adds whatever has been collected so far (in \@total) to
-% \ref@set and to the output list.  It is assumed that \@total
-% has been set to \empty before this routine is called (this is done
-% by \@@cite, below).
-\def\@icite#1{%
-    \if#1\end
-       \expandafter\gaddtolist\@total\to\ref@set
-       \use@key\@total
-        \let\@next=\relax      % Exit loop after this time
-    \else
-        \if#1,%                        % We have a complete key now.
-           \expandafter\gaddtolist\@total\to\ref@set
-           \use@key\@total,\space
-           \global\let\@total=\empty
-       \else
-           \xdef\@total{\@total#1}%    Add new char to total
-       \fi
-       \let\@next=\@icite      % Continue looping until done
-    \fi
-    \@next
-}
-
-% Initialize and call \@icite.  Used in \cite, \citep, \citepp
-\def\@@cite#1{\global\let\@total=\empty\@icite#1\end}
-
-% usage: \cite{key [, key...]}
-\def\cite#1{%
-    {\cite@font[\@@cite{#1}]}%
-}
-
-% usage: \citep{key}{page}
-\def\citep#1#2{%
-    {\cite@font[\@@cite{#1}, \hbox{\rm p \ignorespaces#2\unskip}]}%
-}
-
-% usage: \citepp{key}{pages}
-\def\citepp#1#2{%
-    {\cite@font[\@@cite{#1}, \hbox{\rm pp \ignorespaces#2\unskip}]}%
-}
-
-% These three definitions are used in \no@cites, below.  They
-% don't handle extraneous spaces as well as the normal
-% definition, but they should be sufficient for most people.
-\def\i@cite#1{{\cite@font[\noexpand\noexpand\noexpand\@@cite{#1}]}}
-
-\def\i@citep#1#2{{\cite@font[\noexpand\noexpand\noexpand\@@cite{#1},\space
-       \hbox{\noexpand\noexpand\noexpand\rm p \ignorespaces#2\unskip}]}%
-}
-
-\def\i@citepp#1#2{{\cite@font[\noexpand\noexpand\noexpand\@@cite{#1},\space
-       \hbox{\noexpand\noexpand\noexpand\rm pp \ignorespaces#2\unskip}]}%
-}
-
-% Turn off adding citations to \ref@set.  This is needed when
-% using \cite etc inside a caption for tables, figures, etc.
-% \no@cites is undone by exiting an enclosing group.
-\def\no@cites{%
-    \let\citepp=\i@citepp
-    \let\citep=\i@citep
-    \let\cite=\i@cite
-}
-
-%%%%%%%%%%%%%%%%%%%%%%
-% References Section %
-%%%%%%%%%%%%%%%%%%%%%%
-
-% The basic strategy is as follows.  We read the bib. file, which is
-% assumed to be in sorted order of keys/author names.  Each
-% entry is of the form \ref{key}.  We see if that key is in the table
-% \ref@set, which is a table of all the keys we've \cite'd.  If the key
-% isn't in the list, we print it in parens and go on to the next entry.
-% Otherwise, we print the key in square brackets, and format the
-% bibliography entry according to the format (JACM or IEEE).  We print a
-% warning if the key is in the \ref@seen list.  We add the key to
-% the \ref@seen list.  The key is removed from the \ref@set list if it
-% was there.  At the end of the references (\endreferences), we check
-% if there are any keys left in \ref@set.  If so, the bib. file was
-% deficient, and we print a warning message (it should probably be a
-% fatal error message).
-
-% Annotation control
-\newif\ifinclude@annos                 % Should annotations be printed?
-\include@annosfalse                    % By default, no
-\def\annotate{%                                % ``official'' command
-    \include@annostrue
-    \oktell{Annotating bibliography}%
-}
-
-\newif\ifin@anno                       % True while doing an annotation
-\in@annofalse
-
-\def\refi@AmS{F}                       % This starts as False
-
-% Begin an annotation -- must be in vertical mode.  Just gather
-% text into box0 for use by \endanno.  We do a couple of consistency
-% checks at the beginning.
-\def\anno{%
-    \ifhmode
-       \message{You forgot the \noexpand\endref command!}
-       \message{I've inserted one for you.}
-       \endanno
-    \fi
-    \if F\refi@AmS
-       \errmessage{No \noexpand\ref command before first \noexpand\anno}
-    \fi
-    \let\\=\newline
-    \in@annotrue
-    \setbox\z@=\vbox\bgroup
-}
-
-% End of an annotation.  Decide if it should be typeset or skipped.
-\def\endanno{%
-    \egroup                            % End the group for box0
-    \in@annofalse                      % No longer doing an annotation
-    \if T\refed@uci                    % If previous reference was used,
-       \ifinclude@annos {%     And if we're producing an annotated bib.,
-           \vskip\parskip
-           \interlinepenalty=\defaultinterlinepenalty
-           \unvbox\z@  % Then include annotation as normal paragraph(s)
-           \par
-       }\fi
-    \fi
-}
-
-\global\newlist\ref@set                        % list of all references cited
-\global\newlist\ref@seen               % list of all references defined
-
-\def\reftitle{References}              % Default title for bibliography
-
-% usage: \references (begin the References section)
-\def\references{%
-    \vfill\supereject                  % Begin new page, clear out everything
-    \ifoddpages                                % Make sure start on even page.
-       \ifodd\pageno \relax \else \null\vfill\eject \fi
-    \fi
-    \begingroup                                % Following changes are local to bib.
-
-    \twelvepoint                       % Get good appearance
-    \singlespace
-    \no@cites                          % \cite's just produce [key]
-    \parskip=0.6\baselineskip plus5\p@ minus4\p@
-    \tolerance=5000                    % Must be extremely tolerant!
-    \pretolerance=300
-    \interlinepenalty=400              % To discourage breaking a reference
-                                       % across page boundaries
-    \uchyph=\@ne                       % Needed to try hyphenating title words
-    \sfcode`.=\@m                      % Like \frenchspacing, but only for
-                                       % periods
-
-    % Now we output the title and so forth.
-    \centerline{\csc \reftitle}%
-    \nobreak
-    \medskip
-    \content\reftitle                  % Tell user and TOC.
-    \oktell\reftitle
-    \pageno@foot                       % Put page # in special place
-
-    % Special definitions within reference mode
-    \let\year=\yr
-    \let\month=\mon
-}
-
-% usage: \endreferences (end the References section)
-\def\endreferences{%
-    \par       % Make sure last printed reference is finished up.
-    \cardinality\ref@set\to\count@
-    \ifnum\count@>\z@
-       \def\\##1{[##1] }
-       \ifnum\count@>1
-         \message{Warning: \number\count@\space undefined citations: \ref@set}
-       \else
-         \message{Warning: One undefined citation: \ref@set}
-       \fi
-    \fi
-  \endgroup    % End of \references group
-}
-
-
-% References Database
-
-
-\newbox\bybox@AmS      \newbox\bysamebox@AmS
-\newbox\paperbox@AmS   \newbox\paperinfobox@AmS
-\newbox\jourbox@AmS    \newbox\jourinfobox@AmS
-\newbox\volbox@AmS     \newbox\issuebox@AmS
-\newbox\monbox@AmS     \newbox\yrbox@AmS
-\newbox\pagesbox@AmS   \newbox\editorbox@AmS
-\newbox\bookbox@AmS    \newbox\bookinfobox@AmS
-\newbox\publbox@AmS    \newbox\publaddrbox@AmS
-\newbox\finalinfobox@AmS\newbox\wastebox@uci
-\newbox\talkbox@AmS    \newbox\keybox@AmS
-\newbox\editorsbox@AmS
-
-\def\using@IEEE{F}     % By default, not using IEEE format
-
-% reset a \keyword to the ``not used'' condition
-\def\refset@AmS#1{%
-    \expandafter\gdef\csname is\expandafter\eat@AmS
-    \string#1@AmS\endcsname{F}\expandafter
-    \setbox\csname\expandafter\eat@AmS\string#1box@AmS\endcsname=\null
-}
-
-% reset \keyword's
-\def\ref@AmS{%
-    \refset@AmS\key    \refset@AmS\finalinfo
-    \refset@AmS\by     \gdef\isbysame@AmS{F}%
-    \refset@AmS\paper  \refset@AmS\paperinfo
-    \refset@AmS\jour   \refset@AmS\jourinfo
-    \refset@AmS\vol    \refset@AmS\issue
-    \refset@AmS\mon    \refset@AmS\yr
-    \refset@AmS\pages  \gdef\ispage@AmS{F}%
-    \refset@AmS\book   \refset@AmS\bookinfo
-    \refset@AmS\publ   \refset@AmS\publaddr
-    \refset@AmS\editor \refset@AmS\talk
-    \refset@AmS\editors
-    \gdef\istoappear@AmS{F}%
-    \gdef\isinbook@AmS{F}%
-    \bgroup
-    \ignorespaces
-}
-
-% usage: \ref{citation} \keywords arguments ... \endref.  We make sure
-% we aren't still doing an \anno first.
-\def\ref#1{%
-    \ifin@anno
-       \message{You forgot an \noexpand\endanno command,}
-       \message{but I forgive you this time.}
-       \endanno
-    \fi
-    \def\refi@AmS{T}%
-    \ifwasmember#1\of\ref@set
-       \def\refed@uci{T}%
-       \okmessage{[#1]}%
-    \else
-       \def\refed@uci{F}%
-       \okmessage{(#1)}%
-    \fi
-    \ifismember#1\of\ref@seen
-       \sanetell{multiply defined: [#1]}%
-    \else
-       \append#1\to\ref@seen
-    \fi
-    \def\refl@AmS{F}%
-    \def\\{\egroup\endref@AmS\gdef\refi@AmS{F}\ref@AmS}%
-    \ref@AmS
-    \gdef\@total{#1}%
-    \key \if T\refed@uci
-       \use@key\@total
-    \fi\egroup\setbox\wastebox@uci=\hbox\bgroup\ignorespaces
-}
-
-% End of a reference.
-%
-% Note that \endref@AmS is \let to be whichever \endref@xxx command
-% is being used; default is \endref@JACM for JACM format.
-%
-% If we printed the reference, \endref@AmS will
-% have set \bysamebox@AmS to be a box containing a box
-% containing a rule and a period.  This is unboxed if a subsequent
-% reference which gets printed uses \bysame.  Otherwise, we here
-% save the \by field (if given) so that if a subsequent reference
-% using \bysame gets used, we'll know who the author was, even though
-% the reference which gave the author(s) wasn't printed.  Tricky, huh?
-\def\endref{%
-    \egroup\gdef\refl@AmS{T}%
-    \if T\refed@uci
-       \endref@AmS
-    \else
-       \if T\isby@AmS
-           \setbox\bysamebox@AmS=\box\bybox@AmS
-       \fi
-    \fi
-    \par
-}
-
-% define a \keyword.  #1=keyword, #2=font to use, or {}
-\def\refdef@AmS#1#2{%
-    \def#1{%
-       \egroup
-       \expandafter\gdef
-               \csname is\expandafter\eat@AmS\string#1@AmS\endcsname{T}%
-       \expandafter\setbox
-               \csname\expandafter\eat@AmS\string#1box@AmS\endcsname
-                       =\hbox\bgroup#2\ignorespaces
-    }%
-}
-
-% define the keywords
-
-\refdef@AmS\by\by@font         \refdef@AmS\paper{}
-\refdef@AmS\paperinfo{}                \refdef@AmS\jour\book@font
-\refdef@AmS\vol\book@font      \refdef@AmS\issue{}
-\refdef@AmS\mon{}              \refdef@AmS\yr{}
-\refdef@AmS\pages{}            \refdef@AmS\talk{}
-\refdef@AmS\book\book@font     \refdef@AmS\bookinfo{}
-\refdef@AmS\publ{}             \refdef@AmS\publaddr{}
-\refdef@AmS\finalinfo{}        \refdef@AmS\editor{}
-\refdef@AmS\jourinfo{}         \refdef@AmS\key\cite@font
-\refdef@AmS\editors{}
-
-% These don't fit the normal pattern.
-\def\bysame{\egroup\gdef\isbysame@AmS{T}\bgroup}
-\def\page{\egroup\gdef\ispage@AmS{T}\setbox\pagesbox@AmS=\hbox\bgroup
-       \ignorespaces}
-\def\toappear{\egroup\gdef\istoappear@AmS{T}\bgroup}
-\def\inbook{\egroup\gdef\isinbook@AmS{T}\setbox\bookbox@AmS=\hbox\bgroup
-       \book@font\ignorespaces
-}
-
-% This is the font we normally print book and journal titles in, but we
-% use \twelveit for IEEE format.
-\let\book@font=\twelvesl
-
-% Similarly, this is the font to use for the author's name(s).
-% Optionally, the user can ask for the cite font instead (this is
-% not necessarily related to use of the IEEE format).
-\let\by@font=\twelverm
-
-% As an option, the user can have the author's name(s) in caps-small-caps.
-\def\AuthorsInCSC{%
-    \let\by@font=\elevencsc
-    \oktell{Authors in CSC mode}%
-}
-
-% Define some aliases for some of the above, for user convenience.
-\let\pp=\pages
-\let\pgs=\pages
-\let\pg=\page
-\let\p=\page
-\let\journal=\jour
-\let\volume=\vol
-\let\author=\by
-\let\authors=\by
-\let\ieee@editors=\editors     % Save it in case we use IEEE format
-\let\editors=\editor           % If using default JACM format
-\let\other=\talk
-\let\no=\issue
-
-% Helpers to \endref@AmS, which speed things up a lot, and/or
-% make the code more compact.
-\def\a@comma{, }       % Used in next routine.  Predefined for speed of \let.
-\def\setpunct@AmS{\let\prepunct@AmS=\a@comma}
-\def\ppunbox@AmS#1{\prepunct@AmS\unhbox#1\unskip}
-
-
-% Actually do some typesetting (finally).  As mentioned above,
-% \endref@AmS is called to print a reference if we want it.  It
-% is \let to be either \endref@JACM or \endref@IEEE (or possibly
-% some other format in the future) depending on the desired
-% format.
-%
-% For some reason, the ~'s don't see to tie things, so some
-% \hbox's were introduced.
-%
-% There is unfortunately a lot of common code between the
-% different formats.  Here are some sections which were easy to
-% pull out:
-\def\endref@startup{%
-    % Test to see if there is anything in the wastebox
-    \setbox\wastebox@uci=\hbox{\unhbox\wastebox@uci\unskip}%
-    \ifdim\wd\wastebox@uci>\z@
-       \errmessage{Keyword omitted after \noexpand\ref}%
-    \fi
-    \let\prepunct@AmS=\empty
-    \vskip\parskip
-    \noindent \hangafter=\@ne
-}
-
-% This is the text printed for the JACM format for papers
-% appearing in a book.
-\def\appearing@in{Appearing in }
-
-% Common code at the end of \endref@JACM and \endref@IEEE.
-% The argument is the date routine to use.
-\def\endref@finishup#1{%
-    \if T\istalk@AmS
-       \dimen@=\wd\talkbox@AmS
-       \ifdim\dimen@>\z@
-           \ppunbox@AmS\talkbox@AmS\setpunct@AmS
-       \fi
-    \fi
-    \if T\isbook@AmS
-       \ppunbox@AmS\bookbox@AmS \setpunct@AmS
-       \editor@ref
-    \fi
-    \if T\isinbook@AmS
-       \prepunct@AmS\appearing@in\unhbox\bookbox@AmS\unskip \setpunct@AmS
-       \editor@ref \gdef\isbook@AmS{T}%
-    \fi
-    \if T\isbookinfo@AmS
-       \ppunbox@AmS\bookinfobox@AmS\setpunct@AmS
-    \fi
-    \if T\using@IEEE
-       \if T\ispubladdr@AmS
-           \ppunbox@AmS\publaddrbox@AmS
-           \if T\ispubl@AmS \def\prepunct@AmS{: }\else\setpunct@AmS\fi
-       \fi
-       \if T\ispubl@AmS
-           \ppunbox@AmS\publbox@AmS\setpunct@AmS
-       \fi
-    \else
-       \if T\ispubl@AmS
-           \ppunbox@AmS\publbox@AmS\setpunct@AmS
-       \fi
-       \if T\ispubladdr@AmS
-           \ppunbox@AmS\publaddrbox@AmS\setpunct@AmS
-       \fi
-    \fi
-    \if T\isbook@AmS
-       \if T\isvol@AmS
-           \prepunct@AmS Vol.~\unhbox\volbox@AmS\unskip\setpunct@AmS
-       \fi
-       \if T\isyr@AmS
-           \ppunbox@AmS\yrbox@AmS\setpunct@AmS
-       \fi
-       \if T\istoappear@AmS
-           \ (to appear)\setpunct@AmS
-       \fi
-       \if T\ispages@AmS
-           \prepunct@AmS pp.~\unhbox\pagesbox@AmS\unskip\setpunct@AmS
-       \fi
-       \if T\ispage@AmS
-           \prepunct@AmS p.~\unhbox\pagesbox@AmS\unskip\setpunct@AmS
-       \fi
-    \fi
-    \if T\istalk@AmS
-       #1%     This is the date routine to use.
-    \fi
-    \if T\isfinalinfo@AmS
-       \period\unhbox\finalinfobox@AmS
-    \else
-       \if T\refl@AmS .
-       \else ;
-       \fi
-    \fi
-}
-
-% Print editor(s) if and as appropriate.
-\def\editor@ref{%
-    \if T\using@IEEE
-       \if T\iseditor@AmS
-           \ppunbox@AmS\editorbox@AmS, Ed.\setpunct@AmS
-       \fi
-       \if T\iseditors@AmS
-           \ppunbox@AmS\editorsbox@AmS, Eds.\setpunct@AmS
-       \fi
-    \else
-       \if T\iseditor@AmS
-           \ppunbox@AmS\editorbox@AmS\ (ed.)\setpunct@AmS
-       \fi
-    \fi
-}
-
-% This routine prints the date in the JACM format
-\def\date@JACM{%
-    \if T\isyr@AmS
-       \/\ (%
-       \if T\ismon@AmS
-           \unhbox\monbox@AmS\unskip,
-       \fi
-       \unhbox\yrbox@AmS\unskip)\setpunct@AmS
-    \else
-       \if T\ismon@AmS
-           \ppunbox@AmS\monbox@AmS\setpunct@AmS
-       \fi
-    \fi
-}
-
-% This prints the date in the IEEE format.
-\def\date@IEEE{%
-    \if T\isyr@AmS
-       \prepunct@AmS
-       \if T\ismon@AmS
-           \unhbox\monbox@AmS\unskip\a@comma
-       \fi
-       \unhbox\yrbox@AmS\unskip\setpunct@AmS
-    \else
-       \if T\ismon@AmS
-           \ppunbox@AmS\monbox@AmS\setpunct@AmS
-       \fi
-    \fi
-}
-
-
-% This version produces JACM format references.
-\def\endref@JACM{%
-    \endref@startup
-    \if T\refi@AmS
-       \hbox to \key@size{\cite@font [\unhbox\keybox@AmS\unskip]\hfil}%
-       \hangindent=\key@size
-       \if T\isby@AmS
-          \unhcopy\bybox@AmS\unskip
-          \def\prepunct@AmS{\hskip7\p@ plus5\p@\relax}%
-          \setbox\z@=\hbox{\unhbox\bybox@AmS\unskip}%
-          \dimen@=\wd\z@       % We want \dimen0=max(\wd0, 2in)
-          \ifdim\dimen@>2in \dimen@=2in \fi
-          \setbox\bysamebox@AmS=\hbox{\hbox to\dimen@{\leaders\hrule\hfill.}}%
-       \else
-           \if T\isbysame@AmS
-               \unhcopy\bysamebox@AmS\unskip
-               \def\prepunct@AmS{\hskip7\p@ plus5\p@\relax}%
-           \fi
-       \fi
-    \fi
-    \if T\ispaper@AmS
-       \ppunbox@AmS\paperbox@AmS\def\prepunct@AmS{. }%
-    \fi
-    \if T\ispaperinfo@AmS
-       \ppunbox@AmS\paperinfobox@AmS\def\prepunct@AmS{. }%
-    \fi
-    \if T\isjour@AmS
-       \ppunbox@AmS\jourbox@AmS\setpunct@AmS
-       \editor@ref
-       \if T\isjourinfo@AmS
-           \ppunbox@AmS\jourinfobox@AmS\setpunct@AmS
-       \fi
-       \if T\isvol@AmS
-           \ \unhbox\volbox@AmS\unskip
-       \fi
-       \if T\isissue@AmS
-           \ppunbox@AmS\issuebox@AmS\setpunct@AmS
-       \fi
-       \date@JACM
-       \if T\istoappear@AmS
-           \ (to appear)\setpunct@AmS
-       \fi
-       \if T\ispages@AmS
-           \ppunbox@AmS\pagesbox@AmS\setpunct@AmS
-       \fi
-       \if T\ispage@AmS
-            \prepunct@AmS p.~\unhbox\pagesbox@AmS\unskip\setpunct@AmS
-       \fi
-    \fi
-    \endref@finishup\date@JACM
-}
-
-
-% This version produces IEEE format references.
-\def\endref@IEEE{%
-    \endref@startup
-    \if T\refi@AmS
-       \hbox to \key@size{\cite@font [\unhbox\keybox@AmS\unskip]\hfil}%
-       \hangindent=\key@size
-       \if T\isby@AmS \unhcopy\bybox@AmS\unskip\setpunct@AmS
-          \setbox\z@=\hbox{\unhbox\bybox@AmS\unskip}%
-          \dimen@=\wd\z@       % We want \dimen0=max(\wd0, 2in)
-          \ifdim\dimen@>2in \dimen@=2in \fi
-          \setbox\bysamebox@AmS=\hbox{\hbox to\dimen@{\leaders\hrule\hfill}}%
-       \else
-           \if T\isbysame@AmS
-               \unhcopy\bysamebox@AmS\unskip\setpunct@AmS
-           \fi
-       \fi
-    \fi
-    \if T\ispaper@AmS
-        \prepunct@AmS``\unhbox\paperbox@AmS\unskip,''
-       \let\prepunct@AmS=\empty
-    \fi
-    \if T\ispaperinfo@AmS
-       \ppunbox@AmS\paperinfobox@AmS\def\prepunct@AmS{, }%
-    \fi
-    \if T\isjour@AmS
-       \ppunbox@AmS\jourbox@AmS\setpunct@AmS
-       \editor@ref
-       \if T\isjourinfo@AmS
-           \ppunbox@AmS\jourinfobox@AmS\setpunct@AmS
-       \fi
-       \if T\isvol@AmS
-           \prepunct@AmS vol.~\unhbox\volbox@AmS\unskip\setpunct@AmS
-       \fi
-       \if T\isissue@AmS
-           \prepunct@AmS no.~\unhbox\issuebox@AmS\unskip\setpunct@AmS
-       \fi
-       \if T\istoappear@AmS
-           \ (to appear)\setpunct@AmS
-       \fi
-       \if T\ispages@AmS
-           \prepunct@AmS pp.~\unhbox\pagesbox@AmS\unskip\setpunct@AmS
-       \fi
-       \if T\ispage@AmS
-            \prepunct@AmS p.~\unhbox\pagesbox@AmS\unskip\setpunct@AmS
-       \fi
-       \if T\ispubladdr@AmS
-           \ppunbox@AmS\publaddrbox@AmS
-           \if T\ispubl@AmS \def\prepunct@AmS{: }\else\setpunct@AmS\fi
-       \fi
-       \if T\ispubl@AmS
-           \ppunbox@AmS\publbox@AmS\setpunct@AmS
-       \fi
-       \let\ispubl@AmS=F\let\ispubladdr@AmS=F% For finishup routine
-       \date@IEEE
-    \fi
-    \endref@finishup\date@IEEE
-}
-
-
-% By default, we use JACM format references
-\let\endref@AmS=\endref@JACM
-
-% But it's possible to get the other format
-\def\IEEE{%
-    \gdef\using@IEEE{T}%       Now we're using IEEE format.
-    \let\editors=\ieee@editors
-    \let\endref@AmS=\endref@IEEE
-    \refdef@AmS\vol{}%         Vol not printed in slanted any more.
-    \global\let\appearing@in=\empty    % Don't say that in IEEE format.
-    \let\volume=\vol
-    \let\book@font=\twelveit   % Book and journal titles in this font.
-    \oktell{IEEE Bibliography Style}%
-}
-
-
-% References Dump
-
-\newwrite\dump@file
-
-\catcode`\{=12 \catcode`\}=12  \catcode`\%=12  \catcode`\[=1   \catcode`\]=2
-\def\ref@open[{]
-\def\ref@close[}]
-\def\ref@comment[%]
-\catcode`\{=1  \catcode`\}=2   \catcode`\%=14  \catcode`\[=12  \catcode`\]=12
-
-\def\refdump{%
-    \vfill\supereject
-    \begingroup
-       \content\reftitle
-       \tell{Dumping \reftitle\space to refdump.tex}%
-       \immediate\openout\dump@file=refdump
-       \immediate\write\dump@file{%
-           \noexpand\catcode`\noexpand\@=11 ^^J%
-           \noexpand\let\noexpand\content=\noexpand\eat@AmS^^J%
-           \noexpand\pageno=\the\pageno^^J%
-           \noexpand\def\noexpand\ref@set\ref@open\ref@comment
-       }%
-       \def\\##1{\immediate\write\dump@file{ \noexpand\\{##1}\ref@comment}}%
-       \ref@set
-       \immediate\write\dump@file{%
-           \ref@close^^J%
-       }%
-       \immediate\closeout\dump@file
-    \endgroup
-}
-
-
-%%%%%%%%%%%%%%%%%%%%
-%  OUTPUT CONTROL  %
-%%%%%%%%%%%%%%%%%%%%
-
-% Control for informational messages.  Default is \verbose mode.
-\newif\iftell@all
-\let\verbose=\tell@alltrue
-\let\quiet=\tell@allfalse
-\verbose
-\def\oktell#1{\iftell@all\tell{#1}\fi}
-\def\okmessage#1{\iftell@all\message{#1}\fi}
-
-% Chapter macro parameters
-\newcount\chapterno
-\chapterno=\z@          % Number of current chapter
-\newif\ifnumber@chapters
-\number@chapterstrue     % By default, number the chapters
-\def\nochapternumbers{%
-    \number@chaptersfalse
-    \oktell{No Chapter Numbers mode}%
-}
-
-% Same thing for sections, subsections, etc
-\newcount\sectno \sectno=\@ne
-\newcount\subsectno \subsectno=\@ne
-\newcount\subsubsectno \subsubsectno=\@ne
-\newif\ifnumber@sections
-\def\numbersections{%
-    \number@sectionstrue
-    \oktell{Section Numbers mode}%
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  OUTPUT CONTROL MACROS  %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-% Center, left justify, right justify -- avoid exceeding margins
-\def\centerline#1{\line{\hfill#1\hfill}}
-\def\leftline#1{\line{#1\hfill}}
-\def\rightline#1{\line{\hfill#1}}
-\def\threepart#1#2#3{\line{\hskip\leftskip\rlap{#1}\hfill#2\hfill
-    \llap{#3}\hskip\rightskip}}
-
-% End of the main body of the document
-\let\enddiss=\bye
-
-% Summary Information
-\outer\def\showsummary{%
-    \begingroup
-       \def\note##1##2##3##4{%
-           \count@=##1
-           \advance\count@ by##3
-           \ifcase\count@
-               \message{No ##2s##4}\or
-               \message{1 ##2##4}\else
-               \message{\the\count@\space ##2s##4}\fi
-       }%
-       \note\fignumber{figure}{-1}{,}%
-       \note\tablenumber{table}{-1}{,}%
-       \note\note@count{footnote}{-1}{,}%
-       \cardinality\ref@set\to\count@
-       \note\count@{citation}{0}{.}%
-    \endgroup
-}
-
-
-% Real version of ragged right margins
-\def\raggedright{%
-    \rightskip=\z@ plus 2em
-    \oktell{Raggedright mode}%
-}
-
-% Disallow hyphenation -- a very dangerous thing
-\def\nohyphens{%
-    \hyphenpenalty=\@M\tolerance=500\pretolerance=\@M
-    \oktell{Nohyphens mode}%
-}
-
-% Allow capitalized words to be hyphenated
-\def\hyphenall{%
-    \uchyph=\@ne
-    \oktell{Hyphenating all words}%
-}
-
-% Handle a long quotation in a standard way
-\def\bigquote#1\endbigquote{%
-    \par
-    \vskip \baselineskip  \vskip -\parskip
-    {   \advance\rightskip by30\p@
-        \advance\leftskip by30\p@
-       \smallertype
-        \singlespace
-       \let\\=\newline
-       \noindent\llap{``}\ignorespaces#1\unskip''\par
-    }% End of singlespacing and special indentation
-    \vskip \baselineskip  \vskip -\parskip
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  CHAPTERS, SECTIONS, FIGURES, TABLES %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% What to do at the beginning of a chapter
-\def\chapter#1\endchapter{
-    \chapter@base #1\endchapter
-    \oktell{Chapter \number\chapterno: #1}
-    \content{Chapter \number\chapterno: #1}
-}
-
-
-% This boolean controls whether chapters are made to start only on
-% odd pages.
-\newif\ifoddpages
-\oddpagesfalse
-\def\twosided{%                This is the ``official'' command
-    \oddpagestrue
-    \oktell{Twosided mode}%
-}
-
-% The guts of the \chapter command.  \chapter==\chapter@base when
-% in \articlestyle.
-\def\chapter@base#1\endchapter{
-    \par
-    \clearpage                         % Clean up from prev chapter
-    \ifoddpages                                % Make sure start on even page.
-       \ifodd\pageno \relax \else \null\vfill\eject \fi
-    \fi
-    \pageno@foot                       % Page #ing special for chap pages
-    \advance\chapterno by\@ne
-    \ifnumber@chapters
-        \centerline{\chap@font CHAPTER \number\chapterno}% Do heading
-    \fi
-    \sectno=\z@
-    \subsectno=\z@
-    \subsubsectno=\z@
-    {\let\\=\cr \tabskip=\z@ \chap@font        % Center the chapter title
-     \halign to\hsize{\centerline{\ignorespaces##\unskip}\cr#1\cr}
-    }
-    \nobreak                 % Shouldn't happen anyway
-    \vskip 1.0in minus 0.15in
-}
-
-% What to do at the beginning of a section
-\outer\def\section{\dosection}
-\def\dosection#1{%
-    \skip@=\lastskip           % \par resets \lastskip, apparently
-    \par
-    % This junk trys to provide consistent spacing
-    \dimen@=\baselineskip
-    \ifdim\skip@<\dimen@
-       \ifdim\skip@=\z@
-           \penalty-200
-       \fi
-       \vskip \dimen@ plus .5\baselineskip
-    \fi
-    \ifnumber@sections
-       \advance\sectno by\@ne
-       \subsectno=\z@
-       \subsubsectno=\z@
-       \leftline{\sec@font\number\sectno. #1}
-    \else
-       \leftline{\sec@font#1}
-    \fi
-    \subcontent{#1}
-    \sanetell{ Section: #1}
-    \nobreak
-    \vskip \z@ plus .15\baselineskip
-    \vskip -\parskip
-}
-
-% And for sub-sections
-\outer\def\subsection{\dosubsection}
-\def\dosubsection#1{%
-    \skip@=\lastskip
-    \par
-    \dimen@=.6\baselineskip
-    \ifdim\skip@<\dimen@
-       \ifdim\skip@=\z@
-           \penalty-100
-       \fi
-       \vskip \dimen@ plus .3\baselineskip
-    \fi
-    \ifnumber@sections
-       \advance\subsectno by\@ne
-       \subsubsectno=\z@
-       \leftline{\subsec@font\number\sectno.\number\subsectno. #1}
-    \else
-       \leftline{\subsec@font#1}
-    \fi
-    \subsubcontent{#1}
-    \sanetell{ \\Subsection: #1}
-    \nobreak
-    \vskip \z@ plus .1\baselineskip
-    \vskip -\parskip
-}
-
-% And for sub-sub-sections
-\outer\def\subsubsection{\dosubsubsection}
-\def\dosubsubsection#1{%
-    \skip@=\lastskip
-    \par
-    \dimen@=.5\baselineskip
-    \ifdim\skip@<\dimen@
-       \ifdim\skip@=\z@
-           \penalty-50
-       \fi
-       \vskip \dimen@ plus .3\baselineskip
-    \fi
-    \ifnumber@sections
-       \advance\subsubsectno by\@ne
-       \leftline{\subsubsec@font\number\sectno.\number\subsectno
-               .\number\subsubsectno. #1}
-    \else
-       \leftline{\subsubsec@font#1}
-    \fi
-    \subsubsubcontent{#1}
-    \sanetell{ \\\\Subsubsection: #1}
-    \nobreak
-    \vskip -\parskip
-}
-
-% This is an alternate definition for plain TeX's \@ins,
-% omitting the \par.  It is for use during \figure etc.  Reason:
-% If you use \figure right after \section, it would otherwise
-% become a legal place for a page break.
-\def\@ins@uci{\begingroup\setbox\z@\vbox\bgroup}
-
-% This is \endinsert from plain.tex, but \midinsert's are not converted
-% to \topinsert's, since that can lead to figures getting out of order.
-% This can lead to excessive blank space at the bottom of the page, but
-% that's life.  Makes use of \keep...\endkeep type stuff.
-\def\endinsert{\egroup % finish the \vbox
-  \if@mid \dimen@\ht\z@ \advance\dimen@\dp\z@
-    \advance\dimen@12\p@
-    \vskip\z@ plus\dimen@
-    \penalty\z@
-    \vskip\z@ plus-\dimen@
-    \bigskip\box\z@\bigbreak
-  \else\insert\topins{\penalty100 % floating insertion
-    \splittopskip\z@skip
-    \splitmaxdepth\maxdimen \floatingpenalty\z@
-    \ifp@ge \dimen@\dp\z@
-    \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero
-    \else \box\z@\nobreak\bigskip\fi}\fi\endgroup}
-
-
-% This macro provides rudamentary support for figures.  The
-% argument to \figure is the name of the file containing the tpic (or whatever)
-% output.  The second argument is the caption for the picture.
-% As usual, TeX's delayed paging and midinserting causes expansion-timing
-% problems which have to be kludged around.
-\newif\iftopfigs \topfigstrue
-\def\domidfigs{%
-    \topfigsfalse
-    \oktell{Midfigs mode}%
-}
-
-% Counters for figures/diagrams/examples and tables
-\newcount\fignumber \fignumber=\@ne
-\newcount\tablenumber \tablenumber=\@ne
-
-% Helper for \figure, \example, and \diagram.  Define \lastfigure and
-% \this@insert, increment the figure number for next time, and make sure
-% the figures list file is open for writing.
-% #1=the caption, to be written to the figures list file
-\def\advance@figno#1{%
-    \xdef\lastfigure{\the\fignumber}% Remember the current figure number
-    \begingroup\no@cites
-        \let\\=\space
-       \xdef\this@insert{\write\noexpand\fig@file{\noexpand\noexpand
-                               \noexpand\listfig{\lastfigure}{#1}%
-                               {\noexpand\number\noexpand\pageno}%
-                     }%
-       }%
-    \endgroup
-    \global\advance\fignumber by\@ne
-    \iffig@closed              % Open figures file if not already
-       \immediate\openout\fig@file=\figtitle
-       \global\fig@closedfalse
-    \fi
-}
-
-% Bump the table number after defining \lasttable.  Prepare \this@insert.
-% Define \table@caption.
-\def\advance@tablenumber#1{%
-    \xdef\lasttable{\the\tablenumber}% Remember the current figure number
-    \begingroup \no@cites \let\\=\space
-       \xdef\this@insert{\write\noexpand\tab@file{\noexpand\noexpand
-                               \noexpand\listfig{\lasttable}{#1}%
-                               {\noexpand\number\noexpand\pageno}%
-                     }%
-       }%
-    \endgroup
-    \global\advance\tablenumber by\@ne
-    \gdef\table@caption{#1}%
-}
-
-\newif\ifpage@figs \page@figsfalse
-
-% Special mode to put figures/diagrams/examples on separate pages
-\def\pagefigs{%
-    \oktell{Page Figures mode}%
-    \page@figstrue
-}
-
-% Usage: \figure{filename}{caption with \\'s}
-\def\figure#1#2{%
-  \begingroup                  % Hide anything that crazy user does!
-    \advance@figno{#2}%
-    % Now do mid or top insert as appropriate
-    \let\@ins=\@ins@uci
-    \ifpage@figs
-       \shipout\vbox to\vsize\bgroup
-               {\smallertype\rm\input #1\relax\centerline{\box\graph}}%
-               \vfill
-               \centerline{Figure \lastfigure}\this@insert
-       \egroup
-    \else \iftopfigs \topinsert \else \midinsert \fi
-       \hrule
-       \vskip .5\baselineskip
-       {\smallertype\rm\input #1\relax\centerline{\box\graph}}%
-       \vskip .5\baselineskip plus .5\baselineskip
-       \centerline{\twelvebf Figure \lastfigure}%
-       \this@insert
-       \let\\=\cr \tabskip=\z@
-       \halign to\hsize{\centerline{\ignorespaces##\unskip}\cr#2\cr}%
-       \vskip2\p@
-       \hrule
-       \endinsert
-    \fi
-  \endgroup
-}
-
-
-% Allow user to specify arbitrary diagrams.  The arguments are:
-% #1=name of the file containing the commands to form the diagram,
-% #2=caption for the figure, possibly containing \\'s.
-\def\diagram#1#2{%
-  \begingroup
-    \advance@figno{#2}%
-    % Do mid or top insert as appropriate
-    \let\@ins=\@ins@uci
-    \ifpage@figs
-       \shipout\vbox to\vsize\bgroup
-               {\smallertype\rm\input #1\relax}%
-               \vfill
-               \centerline{\twelverm Figure \lastfigure}\this@insert
-       \egroup
-    \else \iftopfigs \topinsert \else \midinsert \fi
-       \hrule
-       \vskip .5\baselineskip
-       {\smallertype\rm\input #1\relax}%
-       \vskip .5\baselineskip plus .5\baselineskip
-       \centerline{\twelvebf Figure \lastfigure}%
-       \this@insert
-       \let\\=\cr  \tabskip=\z@
-       \halign to \hsize{\centerline{\ignorespaces##\unskip}\cr#2\cr}%
-       \vskip2\p@
-       \hrule
-       \endinsert
-    \fi
-  \endgroup
-}
-
-
-% Allow user to include verbatim examples from files.  The arguments are:
-% #1=name of the file containing the text of the example,
-% #2=caption for the figure, possibly containing \\'s.
-\def\example#1#2{%
-  \begingroup
-    \advance@figno{#2}%
-    % Do mid or top insert as appropriate
-    \let\@ins=\@ins@uci
-    \ifpage@figs
-       \shipout\vbox to\vsize\bgroup
-               \vbox{\smallertype\singlespace\verbfile{#1}}%
-               \vfill
-               \centerline{\twelverm Figure \lastfigure}\this@insert
-       \egroup
-    \else \iftopfigs \topinsert \else \midinsert \fi
-       \hrule
-       \vskip .5\baselineskip
-       \vbox{\smallertype\singlespace\verbfile{#1}}%
-       \vskip .5\baselineskip plus .5\baselineskip
-       \centerline{\twelvebf Figure \lastfigure}%
-       \this@insert
-       \let\\=\cr  \tabskip=\z@
-       \halign to \hsize{\centerline{\ignorespaces##\unskip}\cr#2\cr}%
-       \vskip2\p@
-       \hrule
-       \endinsert
-    \fi
-  \endgroup
-}
-
-
-% Similar thing for tables
-% usage: \table{caption} ...text... \endtable
-\def\table#1{%
-  \begingroup                  % Hide user zingers
-    \advance@tablenumber{#1}%
-    \setbox\z@=\vbox\bgroup
-}
-
-
-% End of the table body specification.
-\def\endtable{%
-    \egroup            % End the definition of \box0.
-    % Now do top or mid insert
-    \let\@ins=\@ins@uci
-    \iftab@closed              % Open output file if necessary
-       \immediate\openout\tab@file=\tabtitle
-       \global\tab@closedfalse
-    \fi
-    \ifpage@figs
-       \shipout\vbox to\vsize\bgroup
-               \box\z@
-               \vfill
-               \centerline{\twelverm Table \lasttable}\this@insert
-       \egroup
-    \else \iftopfigs \topinsert \else \midinsert \fi
-       \hrule
-       \vskip .5\baselineskip
-       \box\z@         % Insert the material here.
-       \vskip .5\baselineskip plus .5\baselineskip
-       \centerline{\twelvebf Table \lasttable}%
-       \this@insert
-       \let\\=\cr \tabskip=\z@
-       \halign to\hsize{\centerline{\ignorespaces##\unskip}\cr\table@caption
-                        \cr}%
-        \vskip2\p@
-       \hrule
-       \endinsert
-    \fi
-  \endgroup
-}
-
-
-% End of the table body specification for a full-page table.
-\def\endtablepage{%
-    \egroup            % End the definition of \box0.
-    % Now do top or mid insert
-    \let\@ins=\@ins@uci
-    \iftab@closed              % Open output file if necessary
-       \immediate\openout\tab@file=\tabtitle
-       \global\tab@closedfalse
-    \fi
-    \ifpage@figs
-       \shipout\vbox to\vsize\bgroup
-               \box\z@
-               \vfill
-               \centerline{\twelverm Table \lasttable}\this@insert
-       \egroup
-    \else \pageinsert
-       \hrule
-       \vskip .5\baselineskip
-       \box\z@         % Insert the material here.
-       \vskip .5\baselineskip plus .5\baselineskip
-       \centerline{\twelvebf Table \lasttable}%
-       \this@insert
-       \let\\=\cr \tabskip=\z@
-       \halign to\hsize{\centerline{\ignorespaces##\unskip}\cr\table@caption
-                        \cr}%
-        \vskip2\p@
-       \hrule
-       \endinsert
-    \fi
-  \endgroup
-}
-
-% Environment for report generation -- use only at the beginning!
-% Since sections are the biggest division, the table of contents
-% stuff is redefined, and chapter numbering is turned off so that
-% \chapter can be used for the first-page title.  The title page
-% gets no page number (page # 0).  The user can get to the
-% normal chapter font as \titlefont, and the section font as
-% \authorfont.
-\def\articlestyle{%
-    \nochapternumbers
-    \let\subsubsubcontent=\subsubcontent
-    \let\subsubcontent=\subcontent
-    \let\subcontent=\content
-    \let\chapter=\chapter@base
-    \pageno=\z@
-    \let\titlefont=\chap@font
-    \let\authorfont=\sec@font
-    \oktell{Articlestyle mode}%
-}
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%  PAGE NUMBERING and OUTPUT ROUTINES  %
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% This macro produces a blank, numbered page of output
-\def\blankpage{\pageinsert \null\vfill \endinsert}
-
-% This defintion of \folio differs from Plain's in that (a) page
-% numbers are printed in 12pt, and (b) roman numeral ones are
-% printed in italics.  It makes use of a trick, that
-% \romannumeral0 produces no output, which we need for title
-% pages and things, so we make their page numbers be 0.
-\def\folio{\ifnum\pageno>\z@
-    {\twelverm\number\pageno}\else
-    {\twelveit\romannumeral-\pageno}\fi
-}
-
-% Permanent definitions of macros which get switched in and out
-% with \let's.  Do not change any of these !!!
-\def\uci@headpage{\hfill\folio}
-\def\uci@footpage{\hfill\folio\hfill}
-\headline={\uci@headline}
-\footline={\uci@footline}
-
-% If this is used as the footline, it causes a page number to be
-% printed, but with the side-effect of making the headline blank
-% and the footline a page number again.  This is used on pages
-% like the first of a chapter.
-\def\no@foot{%
-    \uci@footpage
-    \global\let\uci@footline=\hfil
-    \global\let\uci@headline=\uci@headpage
-}
-
-% This macro causes the page number to be at the bottom of the current
-% page, and after it has been used there once, it moves to the
-% top right of each page.  It also sets \dimen\topins=0pt so that
-% any material \topinsert'd on these pages will get carried over
-% to subsequent pages.
-\def\pageno@foot{%
-    \dimen\topins=\z@
-    \let\uci@headline=\hfil
-    \let\uci@footline=\no@foot
-}
-
-% Executing this causes page numbers to be at the bottom only, as
-% with the plain TeX format.
-\def\plain@page@numbers{%
-    \let\uci@headline=\hfil    % Initial values similar to plain's
-    \let\uci@footline=\uci@footpage
-}
-
-% Change plain's \makeheadline and \makefootline to position page
-% numbers as required.
-\def\makeheadline{%
-    \vbox to\z@{\vskip-22.65\p@
-    \line{\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip
-}
-\def\makefootline{\baselineskip=1.6cm\line{\the\footline}}
-
-% Define an output routine which will restore \dimen\topins
-% after \chapter, \references, etc, title pages, which have
-% \dimen\topins=0pt
-\def\dissoutput{\shipout\vbox{\makeheadline\pagebody\makefootline}%
-    \advancepageno \global\dimen\topins=\vsize
-    \ifnum\outputpenalty>-\@MM \else\dosupereject\fi
-}
-\let\output@AmS=\dissoutput
-\dimen\topins=\vsize   % Don't insert more than will fit on one page
-
-% Output Routines: We adjust the \raggedbottom command of plain
-% TeX so that the extra space is no more than 1in, and so that
-% the space is put above footnotes instead of below.  NOTE: Since
-% we put a \vfil below the page contents, the topskip glue will
-% never actually be stretched.  Its stretchability is just to
-% let TeX know about the raggedness in computing when to make a
-% page break.  Since it's 1in, the \vfil will never be stretched to
-% more than that amount.
-
-\def\raggedbottom{\topskip=\normal@topskip plus1in \r@ggedbottomtrue
-    \oktell{Ragged bottom mode}}
-\def\normalbottom{\topskip=\normal@topskip\r@ggedbottomfalse
-    \oktell{Normal bottom mode}}
-
-\def\pagecontents{%
-    \ifvoid\topins\else\unvbox\topins\fi
-    \dimen@=\dp\@cclv \unvbox\@cclv    % open up \box255
-    \ifr@ggedbottom \kern-\dimen@ \vfil\fi
-    \ifvoid\footins \else              % footnote info is present
-       \vskip\skip\footins
-       \footnoterule
-       \unvbox\footins
-    \fi
-}
-
-
-%%%%%%%%%%%%%%%%%%%%
-%  INITIALIZATION  %
-%%%%%%%%%%%%%%%%%%%%
-
-\font@no=0                     % Default font=\rm,
-\twelvepoint                   % point size,
-\doublespace                   % and spacing
-\plain@page@numbers            % Page nos like plain's
-
-% Note that normally in AmSTeX, the @ character may not be used.
-% But in the dissertation style, @ may be used as a normal character,
-% As it can in plain TeX.
-\catcode`\@=12
-
-% Eat any further \documentstyle commands
-\def\documentstyle#1{}
-
-% This prints out our welcome message, and it computes the time
-% and date string once per run, which saves time if they're used
-% more than once.  Since \catcode`@=12 at the time this is
-% executed, it can't contain any @-type macros.
-\everyjob={%
-    \begingroup
-       \xdef\today{%
-           \ifcase\month
-               \the\month\or
-               January\or
-               February\or
-               March\or
-               April\or
-               May\or
-               June\or
-               July\or
-               August\or
-               September\or
-               October\or
-               November\or
-               December\else
-               \the\month
-           \fi\space\the\day, \the\year
-       }%
-       \count0=\time
-       \count1=\count0
-       \divide\count0by60
-       \count2=\count0
-       \multiply\count0by60
-       \advance\count1by-\count0
-       \ifnum\count2>11
-           \ifnum\count2>12 \advance\count2by-12\fi
-           \def\ampm{PM}%
-       \else
-           \ifnum\count2=0 \advance\count2by12\fi
-           \def\ampm{AM}%
-       \fi
-       \xdef\daytime{%
-           \ifnum\count2<10 0\fi \the\count2:%
-           \ifnum\count1<10 0\fi \the\count1
-           \ampm
-       }%
-    \endgroup
-    \tell{AmSTeX Dissertation Style, version \version}%
-}
-
-\edef\temp@uci{\the\everyjob}
-\temp@uci
diff --git a/docs/historical/doclib/sfwmac.tex b/docs/historical/doclib/sfwmac.tex
deleted file mode 100644 (file)
index ee42e24..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-% Support for writing UNIX-style documentation (based on webmac.tex)
-
-
-\catcode`\@=11                         % for a little while
-
-
-% More fonts
-
-\font\sixteentex=cmtex10 scaled\magstep2
-\font\twelvetex=cmtex10 scaled\magstep1
-\font\tentex=cmtex10
-\font\eighttex=cmtex10
-
-\def\curfont{%
-    \ifcase\font@no
-       \rm\or
-       \it\or
-       \sl\or
-       \bf\or
-       \tt\or
-       \sc\or
-       \sf\or
-       \tx
-    \else \errmessage{font madness}\fi
-}
-
-\chardef\AM=`\&                                        % ampersand
-\chardef\BS=`\\                                        % backslash
-\chardef\LB=`\{                                        % left brace
-\chardef\RB=`\}                                        % right brace
-\def\LQ{{\tt\char'22}}                         % left quote
-\def\RQ{{\tt\char'23}}                         % right quote
-\def\SP{{\tt\char`\ }}                         % space
-\chardef\TL=`\~                                        % tilde
-\chardef\UL=`\_                                        % underline
-
-\def\everypointsize#1#2{%
-    \def\tx{%
-       \font@no=8
-       \csname#1tex\endcsname
-       \let\&=\AM      \let\\=\BS      \let\{=\LB      \let\`=\LQ
-       \let\}=\RB      \let\'=\RQ      \let\ =\SP      \let\~=\TL
-       \let\_=\UL
-    }%
-}
-
-\curtype
-
-
-% Standard Characters
-
-\def\#{\hbox{\tt\char`\#}}                     % parameter sign
-\def\${\hbox{\tt\char`\$}}                     % dollar sign
-\def\%{\hbox{\tt\char`\%}}                     % percent sign
-\def\^{\ifmmode\mathchar"222 \else\char`^ \fi} % pointer or hat
-
-
-% Examples
-
-\def\eg#1{\hbox{\tx``#1''}}                    % in-line
-
-\def\example#1\endexample{%                    % multi-line
-    $$%
-       \displayindent=\leftskip
-       \advance\displayindent by1.5\parindent
-       \let\\=\cr
-       \tabskip=0pt
-       \halign{%
-           \leftline{\tx\ignorespaces##\unskip}\cr
-           #1\cr
-    }$$%
-}
-
-
-% Miscellany
-
-\def\pgm#1{{\it#1}}                    % UNIX programs
-\def\man#1(#2){\pgm{#1\/}(#2)}         % manual entries
-\def\arg#1{\hbox{\tx`{}#1'{}}}         % arguments to programs
-\def\switch#1{\hbox{\tx`{}-#1'{}}}     % switches to programs
-\def\file#1{\hbox{\sl#1}}              % filename
-\def\bq#1{`{}#1`{}}                    % back-quoted command
-
-
-% Commonly used software systems
-
-\def\EMACS/{{\sf EMACS}}
-\def\INFO/{{\sf INFO}}
-\def\MLisp/{{\sf MLisp}}
-
-\def\MH/{{\sf MH}}
-\def\UUCP/{{\sf UUCP}}
-\def\SendMail/{{\sf SendMail}}
-\def\Mail/{{\sf Mail}}
-\def\sequences/{{sequences}}
-\def\mh#1{{\sf mh.#1}}
-\def\context/{\file{context}}
-\def\profile/{\file{.mh\_profile}}
-\def\whatnow/{{\tx What now?\/}}
-
-\def\MMDF/{{\sf MMDF}}
-\def\MMDFII/{{\sf MMDF-II}}
-
-\def\AMSPPT.STY/{{\tt amsppt.sty}}
-\ifundefined{AmsTeX}
-    \def\AmSTeX{%
-       $\cal A$\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em
-       $\cal S$-\TeX
-    }%
-\fi
-
-\def\DISS.STY/{{\tt diss.sty}}
-\def\PhDTeX{PhD-\TeX}
-
-\def\ROFF/{{\sf ROFF}}
-
-\def\TTYD/{{\sf TTYD}}
-
-
-\catcode`\@=12                         % back to normal
diff --git a/docs/historical/doclib/trademark.tex b/docs/historical/doclib/trademark.tex
deleted file mode 100644 (file)
index 926f720..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-% Trademarks...
-
-\def\gobble#1{}
-
-\def\tradeORGfont{\sc}                 % used for organizations (e.g., ACM)
-\def\tradeNAMfont{\sf}                 % used for names (e.g., Ada)
-
-\def\tradeorg#1{\tradeaux{#1}{\expandafter\gobble\string#1}\empty\tradeORGfont}
-\def\tradename#1#2#3{\tradeaux{#1}{#2}{#3}\tradeNAMfont}
-\def\trademark#1#2{%
-    \tradeaux{#1}{\expandafter\gobble\string#1}{#2}\tradeNAMfont
-}
-
-\def\tradeaux#1#2#3#4{%
-    \def#1/{\relax}%                   % in case #3 references #1
-    \setbox0=\hbox{#3}%                        %   when we make the \hbox
-    \ifdim\wd0>0pt
-       \gdef#1/{%
-           \tradeaux{#1}{#2}\empty{#4}%
-           #1/\nfootnote{#1/ is a trademark of #3.}%
-       }%
-    \else
-       \gdef#1/{{#4#2}}%
-    \fi
-}
-
-\tradeorg\acm
-\tradeorg\ansi
-\tradename\Ada{Ada}
-               {the Department of Defense (\Ada/ Joint Program Office)}
-\tradeorg\bsd
-\tradeorg\ccitt
-\tradename\cms{CMS}            {International Business Machines, Incorporated}
-\tradename\cpm{CP/M}           {Digital Research Corporation}
-\tradename\decnet{DECnet}      {Digital Equipment Corporation}
-\tradeorg\dod
-\tradename\ethernet{Ethernet}  {the Xerox Corporation}
-\tradename\eunice{Eunice}      \empty
-\tradeorg\ieee
-\tradename\lattice{Lattice}    {Lattice, Incorporated}
-\tradename\locus{Locus}                {Locus Computing Corporation}
-\tradename\msdos{MS-DOS}       {Microsoft Corporation}
-\tradeorg\milstd
-\tradename\pcinterface{PC-Interface}%
-                               {Locus Computing Corporation}
-\tradename{\tops20}{Tops20}    {Digital Equipment Corporation}
-\tradename\trustedmail{Trusted\ Mail}%
-                               {Trusted Technologies, Incorporated}
-\tradename\unix{UNIX}          {AT\&T Bell Laboratories}
-\tradename\vax{VAX}            {Digital Equipment Corporation}
-\tradename\vm{VM}              {International Business Machines, Incorporated}
-\tradename\vms{VMS}            {Digital Equipment Corporation}
-\tradename\xenix{Xenix}                {Microsoft Corporation}
diff --git a/docs/historical/mh4/MHCHANGES b/docs/historical/mh4/MHCHANGES
deleted file mode 100644 (file)
index 1488917..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-                     MHCHANGES from mh.3 to mh.4
-
-
-Wed Feb 17 14:47:18 1984  PostMaster (agent: Marshall Rose) <zotnet@uci-750b>
-
-       Decide that mh.3 is finished.  This file keeps track of the
-       changes made between the mh.3 and mh.4 versions.  Note that it's
-       being kept in add-source-change format instead of the usual
-       add-change-log-entry format.
-
-
-Thu Feb 16 10:19:12 1984  PostMaster (agent: Marshall Rose) <zotnet@uci-750b>
-
-       uip/bbr.c - Have bbr use a different prompt based on the name it
-       was invoked with.  This is useful, since it used to use the same
-       prompt as "ex".  This got confusing since sometimes you'd be
-       editing a file in ex while composing a message from bbr.
-
-
-Fri Feb 17 09:10:55 1984  Rand MH System (agent: John Romine) <mh@uci-750b>
-
-       uip/bbc.c: output last update date with -topics in short form
-       instead of local leaders.  local leaders are listed with the other
-       fields with -topics -verbose.
-
-
-Sat Mar 31 08:26:29 1984  PostMaster (agent: John Romine) <mmdf@uci-750b>
-
-       uip/mhmail.c: unlink temp file when exiting due to null input.
-
-
-Mon Apr  2 07:34:35 1984  PostMaster (agent: John Romine)
-
-       uip/refile.c: remove(): bug fix.  call delete-prog if (filep > 0)
-       instead of if (filep > 1).
-
-
-Fri Apr  6 10:52:26 1984  PostMaster (agent:  <mmdf@uci-750b>
-
-       uip/show.c: mhl wasn't seeing its name so it wasn't checking its
-       profile entry.  (fix from spencer thomas at utah-gr).
-
-
-Sat Jun 30 12:28:21 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       sbr/m_getdefs.c: make sure $MH is non-empty before using it.
-
-
-Sat Jun 30 12:28:48 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       config/mh.h: compact msgs structure a bit.  Also add new entry,
-       mp -> attrstats, which tells if the corresponding attribute named
-       in mp -> msgattrs is public or private.
-
-
-Sat Jun 30 12:29:53 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       config/mh.h: Raise MAXFOLDER to 2K-1 and modify DMAXFOLDER as
-       appropriate.  Also, make LOWSEL dependent on MAXFOLDER.
-
-
-Sat Jun 30 16:23:01 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       Add the SMTP option to the SendMail configuration.  Extend
-       post/send to accept -mail, -soml, -saml, and -send.  Also add
-       -client host and -server host.
-
-
-Sat Jun 30 16:23:20 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       Add the -[no]public switches to bbr$mark, bbr$pick, mark, and pick.
-
-
-Sat Jun 30 16:40:22 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       sbr/m_edit.c: On first edit, if "-editor pgm" not specified, try
-       to use $EDITOR prior to using the profile entry for editor.
-
-
-Sat Jun 30 23:27:27 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/send: if $SIGNATURE is empty, and there's a "signature" entry
-       in the profile, set $SIGNATURE to that for post.
-
-
-Mon Jul  2 02:07:37 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/post, uip/send: rework BCC handling to allow the use of a
-       filter file.
-
-
-Sat Jul  7 01:03:02 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       sbr/m_edit.c: #undef the $EDITOR stuff, maybe it's not such a good
-       idea...
-
-
-Sat Jul  7 18:51:02 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       mhmts/hosts.c: add '#include <netdb.h>' for #ifdef BSD42.
-       sbr/m_gmsg.c: fix initializatino of flags[].
-       uip/whom.c: close down fd:s, just like send does, to avoid the
-           infamous "too many open" files error with the MMDFMTS version
-           of post.
-       uip/pick.c: fix-up "[Folder xyz being re-used]" message.  It was
-           using the wrong string for the folder name.
-
-
-Sun Jul  8 23:58:56 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/bbr.c: add the hidden "-prompt string" switch for JLR.
-
-
-Mon Jul  9 00:01:01 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/prompter.c: with BSD42, do a clearerr() on stdin when we get
-       an EOF.  Otherwise, with an EOF in the headers, we lose big...
-
-
-Mon Jul  9 14:48:51 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       config/mh.h: add extern char *version.
-       sbr/help.c: have help() print out program name and version info.
-       conf/makefiles/uip: use version.sh to create version.c for loading
-           with uip:s.
-
-
-Mon Jul  9 17:05:09 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       sbr/showfile.c: take arg vector from caller.
-       uip/show.c: new "-file file" switch for showfile.
-       sbr/m_edit.c: take arg vector from caller.  If present, give to
-       editor in exec.
-
-
-Mon Jul  9 23:15:20 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/{scan,inc,bbr}.c: new switches -[no]size to show the size
-       of the message.
-       uip/scansbr.c: implement -size for scan, inc, and bbr$scan.
-       uip/folder.c: new switches to implement the folder stack.
-       uip/clrsbr.c: consolidate clear_screen() into one file.
-
-
-Tue Jul 10 01:15:22 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       config/mh.h, conf/config/config.c, sbr/m_{getdefs,update}.c: add
-       "context" file in addition to the MH-profile.  The former is
-       dynamic, it contains pfolder and private sequences.  The latter is
-       static, it contains switches, etc.  The ctx file defaults to
-       Mail/context.  But in the MH-profile, you can define the entry for
-       "context" to be whatever you want...
-
-
-Wed Jul 11 02:25:25 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/repl.c: toss the hidden -[no]ccme switches.
-
-
-Wed Jul 11 18:41:07 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/folder.c: remove -up, -down, and -short
-       uip/pick.c: toss all the file-op:s, -scan, and -show.  Just define
-           sequences, or spit 'em to stdout.
-               The select sub-folder is dead!
-               Long live user-defined sequences!
-           Pick got rid of 11 (!!) switches this way, and we've taken our
-           first step into a new age of functionality.
-
-Fri Jul 13 13:17:48 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/folder.c: Set up things so DMAXFOLDER is used when formatting
-       the output strings.
-
-
-Fri Jul 13 13:37:21 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/scansbr.c: Compress the fields a bit.  Right-justify some
-       parts of the header.
-
-
-Sun Jul 15 03:01:12 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/{comp,dist,forw,repl}.c: If send of draft loses, come back to
-       "What now?" level.  Also fix bug with invocation of editor.
-
-
-Sun Jul 15 17:10:38 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/{comp,dist,forw,repl}.c: Add -[no]unique switch.
-       uip/send.c: Remove -[no]unique switch, also read ~/.signature file
-           and define $SIGNATURE if need be.
-       uip/post.c: Don't read ~/.signature file, use $SIGNATURE only.
-       uip/{bbr$scan,inc,scan,scansbr}.c: Only do the ftell() business
-           with -size on an inc.  The others can do an fstat or pointer
-           arithmentic to calculate the size.
-
-       
-
-Mon Jul 16 00:18:49 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/{comp,dist,forw,repl}.c: If "quit" with no "delete, tell the
-           user the name of the draft file.
-       uip/send.c: if invoked as "push", act accordingly
-       sbr/m_send.c: know about "push".
-       uip/mhpath.c: -help wasn't any.
-       uip/rcv{cron,tty}.c: set-up for an MMDF system.
-
-
-Mon Jul 16 00:21:52 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       Install the new Previous-Sequence mechanism.  Introduce the SEQMOD
-       flag to the msgs structure.  Just about every MH program now calls
-       m_setseq () upon parsing the messages and calls m_sync() prior to
-       exiting.
-
-
-Mon Jul 16 15:51:28 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       Gather up the ZOTnet libraries into zotnet/libzot.a, makes things
-       less complicated.
-
-
-Mon Jul 16 22:07:40 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/*.c: Change arguments[50] to arguments[MAXARGS]; change
-       msgs[100] to msgs[MAXARGS] to avoid argument overflow with new
-       pick.
-
-
-Tue Jul 17 00:08:52 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       Install the Sequence-Negation mechanism.
-
-
-Tue Jul 17 16:02:02 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/bbr.c: bring dist, forw, and repl up to date with -[no]unique.
-
-
-Tue Jul 17 16:19:14 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/folder.c: handle +folder and msg argument with -all.
-
-
-Tue Jul 17 19:20:10 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/anno.c: don't require -text.  Also fix bug in prompting.
-
-
-Wed Jul 18 03:01:11 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       Install the code necesary for the @folder notation, meaning
-       +cwf/folder (TSUBCWF).
-
-
-Wed Jul 18 05:35:14 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/{comp,dist,forw,repl}.c: Add -draft{folder,message} switches,
-           remove -[no]unique switches
-       sbr/m_draft.c: New module to interpret -draft switches
-       uip/send.c: Handle multiple messages, add -draft{folder,message}
-           switches, add -push switch
-       uip/bbr.c: bring dist, forw, and repl up to date with all these
-           changes
-       conf/config/config.c: change mh_deliver to postproc
-
-
-Wed Jul 18 20:39:29 1984  Rand MH mail system (agent: Marshall Rose) <mh@uci-750a>
-
-       sbr/path.c: add compath() logic to compress things like @.. and so
-       on.
-
-
-Thu Jul 19 19:56:16 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       sbr/m_edit.c: put back in the draft preserve/delete logic from mh.2
-       sbr/m_draft.c: add the "use" parameter saying whether "new" or
-           "cur" should be the default.
-
-
-Fri Jul 20 21:27:03 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/{comp,dist,forw,repl}.c: new logic if draft exists.
-       uip/{comp,dist,forw,refile,repl,send}.c: fix miscalculation in
-           path of draft/source folder.
-
-
-Sat Jul 21 14:15:43 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       sbr/{m_gmsg,m_seq}.c: allow "compressed" sequence descriptors
-           (e.g., x-y instead of x x+1 ... y-1 y).  Makes things run
-           faster and avoids problems if a sequence is really *big*.
-
-
-Mon Jul 23 09:08:12 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/{dist,forw,repl}.c: fix busted logic when m_draft() is called
-       after we've built the msgs structure for the folder we're working
-       on.  Call m_draft() first.  Other solution was to have m_draft()
-       do a pwd(), save the result, do its work, and then chdir() back.
-       Sigh.
-
-
-Mon Jul 23 09:11:27 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/scansbr.c: If the message has no date, flag it and use the
-       date on the file, if appropriate (e.g., from 'scan' not 'inc').
-
-
-Mon Jul 23 14:27:51 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/{comp,dist,forw,repl,send}.c: add -nodraftfolder switch to
-           turn off draft folder.
-       uip/send.c: add -[no]unique switch to enable/disable message
-           renaming on pushes.
-
-
-Mon Jul 23 16:09:04 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/{scan,replsbr}.c: use ismymbox to determine if address is my
-           mailbox.
-       uip/addrsbr.c: add ismymbox() to say just that.
-
-
-Mon Jul 23 19:07:00 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       sbr/m_getdefs.c: allow long lines in MH profile.
-       uip/ptt.c: rename ptt.c to ap.c and install in MH etc directory.
-
-
-Wed Jul 25 08:49:44 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/bbr.c: bring upto date with dist/forw/repl's -nodraftfolder.
-       sbr/trimcpy.c: fold tabs into spaces in addition to newlines.
-
-
-Thu Aug  2 15:05:29 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/rcv{cron,tty}.c: move the ``#include <stdio.h>'' above the
-           ``#include "mmdf.h"''
-       mf/*.{h,c}: change lexequ() to lequal() to avoid conflict with
-           MMDF-II routine name.
-
-Fri Oct 26 22:19:42 1984  Rand MH Mail Handler (agent: John Romine) <mh@uci>
-       conf/Makefile: make CFLAGS=-O, LDFLAGS=-ns
-       sendmts/smail.c: line 99: formal parameter 'watch' was missing.
diff --git a/docs/historical/mh4/Makefile b/docs/historical/mh4/Makefile
deleted file mode 100644 (file)
index c783629..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#######################################################################
-# Instructions to Make, for generation of nice-looking papers using TeX
-#######################################################################
-
-.SUFFIXES:     .pic .web .tex .dvi .imp
-
-.pic.tex:;     tpic $<
-
-.web.tex:;     sh -c 'if weave $<; then exit 0; else rm $@; exit 1; fi'
-
-.tex.dvi:;     sh -c 'if TEXINPUTS=../doclib:.:${TEXINPUTS} tex \
-                       \\nonstopmode\\input $<\\bye; \
-                         then exit 0; else rm $@; exit 1; fi'
-
-.dvi.imp:;     dviimp $(DFLAGS) -i $@ $<
-
-
-#############################################################
-# Here it is...
-#############################################################
-
-all:           i-all
-print:         i-print
-
-
-#############################################################
-# mh4
-#############################################################
-
-i-all:         mh4.dvi
-
-i-print:       mh4.dvi true
-               dvisp -V -J MH4 $(DFLAGS) mh4.dvi
-
-i-count:       true
-               detex text.tex | wc -cw
-
-
-# customization files, et. al., not included below
-mh4.dvi:       version.tex
-
-version.tex:   mh4.tex text.tex version.sh
-               @: version.sh
-
-true:;
-
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-               rm -f mh4.dvi mh4.imp
-
-clean:;                rm -f CONTENTS.tex FIGURES.tex \
-                       mh4.lof mh4.log mh4.lot mh4.toc _*
diff --git a/docs/historical/mh4/mh4.tex b/docs/historical/mh4/mh4.tex
deleted file mode 100644 (file)
index cd1753f..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-% run this through PhD-TeX
-
-\input dcustom
-\articlestyle
-\draftfalse
-\input version
-
-\input sfwmac
-
-% these are special for mh4.tex
-\def\entry#1{\boxit{#1:}}
-\def\whatnow/{{\tt What now?\/}}
-
-\def\pgm#1{{\it#1}}                    % UNIX programs
-\def\man#1(#2){\pgm{#1\/}(#2)}         % Manual entries
-\def\arg#1{\hbox{\sl\`{}#1\'{}}}       % arguments to programs
-\def\switch#1{\hbox{\`{}\tt-\sl#1\'{}}}        % switches to programs
-\def\eg#1{\hbox{\tt#1}}                        % example
-\def\file#1{\hbox{\sl#1}}              % filename
-\def\bq#1{\`{}#1\`{}}                  % back-quoted command
-
-\header
-    Changes to\\
-       The Rand MH Message Handling System:\\\\
-       MH.4\title
-    Marshall T.~Rose\author
-    \versiondate/\info
-\footnote{}{\hskip -\parskip $^\dagger$ Computer Mail: {\tx MRose@ICS.UCI.EDU}.}
-\centerline{\sc Abstract}
-{\rightskip=0pt\narrower\narrower
-\noindent
-This document describes user-visible changes to the
-UCI version of the Rand \MH/ system that were made
-from \mh3 to \mh4.
-In particular,
-four facilities are discussed:
-multiple composition of drafts,
-user-defined sequences,
-the folder-stack,
-and,
-relative folder addressing.
-This document does not describe bug-fixes, per se,
-or internal changes,
-unless these activities resulted in a visible change for the \MH/ user.
-\par
-This document is meant to supplement,
-not supersede, the standard \MH/ user manual\cite{MH}.
-\par
-Comments concerning this documentation should be addressed to the Internet
-mailbox {\sf Bug-MH@ICS.UCI.EDU}.
-\par}
-
-\input text
-\input refs
-\printcontents
-\showsummary
-
-\bye
diff --git a/docs/historical/mh4/refs.tex b/docs/historical/mh4/refs.tex
deleted file mode 100644 (file)
index 3278715..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-\let\journalinfo=\jourinfo
-\let\thesis=\book                      % experimental
-\let\thesisinfo=\bookinfo              %  ..
-
-\references
-
-\ref{MH}
-\paper The Rand \MH/ Message Handling System: User's Manual
-\paperinfo UCI Version
-\other
-\publ Department of Information and Computer Science
-\publaddr University of California, Irvine
-\month July\year 1984
-\endref
-
-\endreferences
diff --git a/docs/historical/mh4/text.tex b/docs/historical/mh4/text.tex
deleted file mode 100644 (file)
index 419b1b8..0000000
+++ /dev/null
@@ -1,723 +0,0 @@
-% begin text
-\banner
-\section{Acknowledgements}
-The \MH/ system described herein is based on the original Rand \MH/ system.
-It has been extensively developed (perhaps too much so) by Marshall Rose and
-John Romine at the University of California, Irvine.
-Einar Stefferud, Jerry Sweet, and Terry Domae provided numerous suggestions
-to improve the UCI version of \MH/.
-\section{Disclaimer}
-The Regents of the University of California wish to make it known that:
-\bigquote
-Although each program has been tested by its contributor,
-no warranty, express or implied,
-is made by the contributor or the University of California,
-as to the accuracy and functioning of the program
-and related program material,
-nor shall the fact of distribution constitute any such warranty,
-and no responsibility is assumed by the contributor
-or the University of California in connection herewith.
-\endbigquote
-\section{Conventions}
-In this document,
-certain \TeX -formatting conventions are adhered to:
-{\advance\leftskip by\parindent
-\item{1.} The names of \unix/ commands, such as \pgm{comp},
-are presented in {\it text italics}.
-\item{2.} Arguments to programs, such as \arg{msgs},
-are presented in {\sl slanted roman} and delimited by single-quotes.
-\item{3.} \unix/ pathnames and envariables,
-such as \file{/usr/uci/} and \file{\$SIGNATURE},
-are also presented in {\sl slanted roman}.
-\item{4.} Text presenting an example, such as \eg{frated},
-is presented in {\tt typewriter style}.
-\item{5.} Entries in the user's \MH/ \profile/ and \context/ files,
-such as \entry{Current-Folder},
-are presented in {\sc Caps-Small-Caps} and delimited by a box.
-\smallskip}
-\bop\section{General Changes}
-This section discusses system-wide changes to \MH/ that are general in nature.
-\subsection{Message Numbering}
-In previous versions of \MH/, a folder could have up to \eg{999} messages;
-in \mh4, this limit has been raised to \eg{1999}.
-\subsection{Version Information}
-When any \MH/ command is invoked with the \switch{help} switch,
-in addition to listing the syntax of the command,
-the program will list information pertaining to its version.
-This information includes the version of \MH/,
-the host it was generated on,
-and the date the program was loaded.
-For example,
-\example MH \#4.25[UCI] (uci-750b) of Thu Jul 19 21:07:01 PDT 1984\endexample
-The \eg{\#4.25[UCI]} indicates that the program is from the UCI \mh4
-version of \MH/.
-The program was generated on \eg{uci-750b},
-on \eg{Thu Jul 19 21:07:01 PDT 1984}.
-\par
-This information is sometimes useful in the unusual circumstance when a bug
-is found in \MH/.
-By providing the version information,
-along with the circumstances concerning the problem with \MH/,
-the local \MH/ maintainer is better able to track-down the problem.
-\subsection{The User Context}
-The \MH/ profile for the user now consists of two parts:
-a static part, the \profile/, which is found in the user's \file{\$HOME/}
-directory,
-and, a dynamic part, the \context/, which is usually found in the user's \MH/
-directory.
-The former file contains information which \MH/ commands read,
-but {\it never\/} write
-(e.g., command switches).
-The latter contains information that \MH/ commands read and write,
-(e.g., \entry{Current-Folder}).
-\par
-This change has three advantages over the way things were done in \mh3.
-\underbar{First},
-a lot less information gets written out when an \MH/ command exits,
-if the context changes.
-This is due to the fact that the user's \context/ file is often much,
-much smaller than a user's \profile/ file.
-\underbar{Second},
-one can keep different context files around
-(the entry \entry{context} is changed in the user's \profile/ file).%
-\nfootnote{Note that this entry must be given {\it entirely} in lowercase in
-the \profile/ file.}
-Hence, the \MH/ user can maintain different sets of private sequences
-(explained later),
-by manipulating different \context/ files.
-\underbar{Third},
-if more than one person uses a \unix/ login
-(say a maintenance account),
-then each can define their own \file{\$MH} envariable to point to their
-\profile/ file.
-As a result,
-each user has the \MH/ environment which that user is accustomed to.
-Further,
-depending on the needs of the users who share the \unix/ login,
-the same or different contexts may be automatically maintained for that login.
-\par
-See \man{mh-profile}(5) for more details on the user context file.
-\section{Message Selection}
-A new facility has been added to give the \MH/ user greater power in
-selecting and referencing messages:
-first, a change to the \pgm{pick} program is described;
-second, the notion of user-defined sequences is detailed.
-\subsection{Selecting Messages}
-The \pgm{pick} command now does only one thing:
-it defines sequences based on the selection criterion it is given.
-In addition, with the \switch{list} switch,
-\pgm{pick} can be directed to list the numbers of the messages which
-satisfied the criterion, to the standard output.
-This is very handy for using \pgm{pick} in backquoted operations with the
-shell.
-\subsection{User-Defined Sequences}
-User-defined sequences allow the \MH/ user a tremendous amount of power
-in dealing with groups of messages in the same folder
-by allowing the user to bind a group of messages to a meaningful symbolic
-name.
-The user may choose any name for a message sequence,
-as long as it consists of alphanumeric characters and does not conflict with
-the standard \MH/ reserved message names (e.g., \arg{first}, etc).
-After defining a sequence,
-it can be used wherever a \MH/ command expects a \arg{msg} or \arg{msgs}
-argument.
-Although all \MH/ commands expand user-defined sequences as appropriate,
-there are two commands that allow the user to define and manipulate them:
-\pgm{pick} and \pgm{mark}.
-\subsubsection{Pick and User-Defined Sequences}
-Most users of \MH/ will use only the \pgm{pick} command.
-By giving the \switch{sequence~name} switch to \pgm{pick}
-(which can occur more than once on the command line),
-each sequence named is defined as those messages which \pgm{pick} matched,
-according the the selection criteria it was given.
-Hence,
-\example pick -from frated -seq fred\endexample
-finds all those messages in the current folder which were from
-\eg{frated},
-creates a sequence called \eg{fred},
-and then adds them to the sequence.
-The user could then invoke
-\example scan fred\endexample
-to get a \pgm{scan} listing of those messages.
-Note that by default,
-\pgm{pick} creates the named sequences
-before it adds the selected messages to the sequence.
-Hence, if the named sequence already existed,
-the sequence is destroyed prior to being re-defined
-(nothing happens to the messages that were a part of this sequence,
-they simply cease to be members of that sequence).
-By using the \switch{nozero} switch, this behavior can be inhibited,
-as in
-\example
-    pick -from frated -seq sgroup\\
-    pick -from fear -seq sgroup -nozero\\
-    pick -from freida -seq sgroup -nozero%
-\endexample
-which finds all those messages in the current folder which were from
-\eg{frated}, \eg{fear}, or \eg{freida},
-and defines the sequence called \eg{sgroup} as exactly those messages.
-These operations amounted to an ``inclusive-or'' of three selection
-criteria.
-Using \pgm{pick},
-one can also generate the ``and'' of some selection criteria as well:
-\example
-    pick -from frated -seq fred\\
-    pick -before friday -seq fred -nozero fred%
-\endexample
-This example defines the sequence called \eg{fred} as exactly those
-messages from \eg{frated} that were dated prior to \eg{friday}.
-\par
-\pgm{Pick} is normally used as a back-quoted command,
-for example,
-\example scan \bq{pick -from postmaster}\endexample
-Now suppose that the user decides that another command should be issued,
-using exactly those messages.
-Since,
-\pgm{pick} wasn't given a \switch{sequence~name} argument in this example,
-the user would end-up typing the entire back-quoted command again.
-A simpler way is to add a default sequence name to the \profile/ file.
-For example,
-\example pick: -sequence select -list\endexample
-will tell \pgm{pick} to always define the sequence \eg{select} whenever
-it's run.
-The \switch{list} is necessary since the \switch{sequence~name} switch sets
-\switch{nolist}
-whenever the former is encountered.
-Hence, this profile entry makes \pgm{pick} define the \eg{select}
-sequence and otherwise behave exactly as if it had no profile entry at all.
-\par
-Finally,
-previous versions of \pgm{pick} balked if a selection criterion was not given.
-The \mh4 version of \pgm{pick} does not, and merely matches the messages that
-were specified.
-This lets the \MH/ user type something such as
-\example show \bq{pick last:20 -seq fear}\endexample
-instead of typing
-\example
-    mark -add -nozero -seq fear last:20\\
-    show fear%
-\endexample
-\subsubsection{Mark and User-Defined Sequences}
-The \pgm{mark} command lets the user perform low-level manipulation of
-sequences,
-and also provides a well-needed debug facility to the
-implementors/developers/maintainers of \MH/ (the \MH/-hacks).
-In the future, a user-friendly ``front-end'' for \pgm{mark} will
-probably be developed to give the \MH/ user a way to take better
-advantage of the underlying facilities.
-\subsubsection{Public and Private User-Defined Sequences}
-There are two kinds of sequences: {\it public\/} sequences,
-and {\it private\/} sequences.
-{\it Public\/} sequences of a folder are accessible to any \MH/ user who
-can read that folder.
-{\it Private\/} sequences are accessible only to the \MH/ user who defined
-those sequences.
-By default,
-\pgm{pick} (and \pgm{mark\/}) create {\it public\/} sequences
-if the folder for which the sequences are being defined is writable by the
-\MH/ user.
-Otherwise, {\it private\/} sequences are created.
-This can be overridden with the \switch{public} and \switch{private} switches.
-\subsubsection{Sequence Negation}
-In addition to telling a \MH/ command to use the messages in the sequence
-\eg{seen}, as in
-\example refile seen +old\endexample
-it would be useful to be easily able to tell a \MH/ command to use all
-messages {\it except\/} those in the sequence.
-One way of doing this would be to use \pgm{mark} and define the sequence
-explicitly,
-as in
-\example mark -delete -zero seen -seq notseen\endexample
-which,
-owing to \pgm{mark\/}'s cryptic interpretation of \switch{delete} and
-\switch{zero},
-defines the sequence \eg{notseen} to be all messages not in the sequence
-\eg{seen}.
-Naturally,
-anytime the sequence \eg{seen} is changed,
-\eg{notseen} will have to be updated.
-Another way to achieve this is to define the entry
-\entry{Sequence-Negation} in the \profile/ file.
-If the entry was
-\example Sequence-Negation: not\endexample
-then anytime a \MH/ command was given \eg{notseen} as a \arg{msg} or
-\arg{msgs} argument,
-it would substitute all messages that are not a member of the sequence
-\eg{seen}.
-That is,
-\example refile notseen +new\endexample
-does just that.
-The value of the \entry{Sequence-Negation} entry in the profile can be
-any string.
-Hence,
-experienced users of \MH/ do not use a word,
-but rather a special character which their shell does not interpret
-(users of the \pgm{CShell} use a single carat, \eg{`\^'},
-while users of the Bourne shell use an exclamation-mark, \eg{`!'\/}).
-This is because there is nothing to prevent a user of \MH/ from defining a
-sequence with this string as its prefix,
-if the string is nothing but letters and digits.
-Obviously,
-this could lead to confusing behavior
-if the \entry{Sequence-Negation} entry leads \MH/ to believe that two
-sequences are opposites, by virtue of their names differing by the prefix
-string.
-\subsubsection{The Previous Sequence}
-Many times users find themselves issuing a series of commands on the same
-sequences of messages.
-If the user first defined these messages as a sequence,
-then considerable typing may be saved.
-If the user doesn't have this foresight,
-\MH/ provides a handy way of remembering the \arg{msgs} or
-\arg{msg} argument last given to a \MH/ command by the user.
-If the entry \entry{Previous-Sequence} is defined in the \profile/ file,
-then when the command finishes,
-it will define the sequence(s) named in the value of this entry as being
-defined as those messages that were specified.
-Hence, a profile entry of
-\example Previous-Sequence: pseq\endexample
-directs any \MH/ command that accepts a \arg{msg} or \arg{msgs} argument to
-define the sequence \eg{pseq} as those messages when it finishes.
-More than one sequence name may be placed in this entry,
-separated with spaces.
-The one disadvantage of this approach
-is that all \MH/ commands have to update the sequence information for
-the folder each time they run
-(although most commands read this information,
-usually only \pgm{pick} and \pgm{mark} have to write this information out).
-\section{Composition of Mail}
-Two new facilities have been added to give the \MH/ user greater power in
-composing and sending mail:
-the {\it draft folder},
-which allows a user to maintain a folder of message drafts;
-and, {\it draft pushing},
-which permits a user to \pgm{send} the current draft in the background.
-\subsection{The Draft Folder}
-The \pgm{comp}, \pgm{dist}, \pgm{forw}, and \pgm{repl} commands have two
-hidden switches, \switch{draftfolder~+folder} and \switch{draftmessage~msg}.
-If \switch{draftfolder~+folder} is used,
-these commands are directed to construct a draft message in the indicated
-folder.
-If \switch{draftmessage~msg} is not used, it defaults to \arg{new}
-(unless the user invokes \pgm{comp} with \switch{use},
-in which case the default is \arg{cur}).
-Hence, the user may have several message compositions in progress
-simultaneously.
-Now, all of the \MH/ tools are available on each of the user's message
-drafts
-(e.g., \pgm{show}, \pgm{scan}, \pgm{pick}, and so on).
-If the folder does not exist,
-the user is asked if it should be created (just like with \pgm{refile\/}).
-Also,
-the last draft message the user was composing is known as \arg{cur} in the
-draft folder.
-\par
-Furthermore,
-the \pgm{send} command has these switches as well.
-Hence, from the shell,
-the user can send off whatever drafts desired using the
-standard \MH/ \arg{msgs} convention with \switch{draftmessage msgs}.
-If no \arg{msgs} are given, it defaults to \arg{cur}.
-\par
-In addition,
-all five programs have a \switch{nodraftfolder} switch,
-which undoes the last occurance of \switch{draftfolder~folder}
-(useful if the latter occurs in the user's \MH/ profile).
-\par
-If the user does not give the \switch{draftfolder~+folder} switch,
-then all these commands act ``normally''.
-Note that the \switch{draft} switch to \pgm{send} and \pgm{show}
-still refers to the file called \eg{draft} in the user's \MH/
-directory.
-In the interests of economy of expression,
-when using \pgm{comp} or \pgm{send},
-the user needn't prefix the draft \arg{msg} or \arg{msgs} with
-\switch{draftmessage}.
-Both of these commands accept a \arg{file} or \arg{files} argument,
-and they will, if given \switch{draftfolder~+folder} treat these arguments
-as \arg{msg} or \arg{msgs}.%
-\nfootnote{This may appear to be inconsistant, at first,
-but it saves a lot of typing.}
-Hence,
-\example send -draftf +draft first\endexample
-is the same as
-\example send -draftf +draft -draftm first\endexample
-\par
-To make all this a bit more clear, here are some examples.
-Let's assume that the following entries are in the \profile/ file:
-\example
-    comp: -draftfolder +draft\\
-    dist: -draftfolder +draft\\
-    forw: -draftfolder +draft\\
-    repl: -draftfolder +draft\\
-    sendf: -draftfolder +draft%
-\endexample
-Furthermore,
-let's assume that the program \pgm{sendf} is a symbolic link in the user's 
-\file{\$HOME/bin/} directory to \pgm{send}.
-Then, any of the commands
-\example
-    comp\\
-    dist\\
-    forw\\
-    repl%
-\endexample
-constructs the message draft in the \eg{draft} folder using the \arg{new}
-message number.
-Furthermore,
-they each define \arg{cur} in this folder to be that message draft.
-If the user were to use the \pgm{quit} option at \whatnow/ level,
-then later on,
-if no other draft composition was done,
-the draft could be sent with simply
-\example sendf\endexample
-Or,
-if more editing was required,
-the draft could be edited with
-\example comp -use\endexample
-Instead,
-if other drafts had been composed in the meantime,
-so that this message draft was no longer known as \arg{cur} in the \eg{draft}
-folder,
-then the user could \pgm{scan} the folder to see which message draft in the
-folder should be used for editing or sending.
-Clever users could even employ \pgm{pick} to do the work:
-\example
-    comp -use \bq{pick +draft -to bug-mh}\\
-\noalign{\leftline{or}}
-    sendf \bq{pick +draft -to bug-mh}%
-\endexample
-Note that in the \pgm{comp} example,
-the output from \pgm{pick} must resolve to a single message draft
-(it makes no sense to talk about composing two or more drafts with one
-invocation of \pgm{comp\/}).
-In contrast,
-in the \pgm{send} example,
-as many message drafts as desired can appear,
-since \pgm{send} doesn't mind sending more than one draft at a time.
-\par
-Note that the argument \switch{draftfolder~+folder} is not
-included in the profile entry for \pgm{send},
-since when \pgm{comp}, et. al., invoke \pgm{send} directly,
-they supply \pgm{send} with the \unix/ pathname of the message draft,
-and {\it not} a \arg{draftmessage~msg} argument.
-As far as \pgm{send} is concerned,
-a {\it draft folder} is not being used.
-\par
-It is important to realize that \MH/ treats the draft folder like a standard
-\MH/ folder in nearly all respects.
-There are two exceptions:
-\underbar{first}
-under no circumstancs will the \arg{draftfolder~folder} switch cause the
-named folder to become the current folder.%
-\nfootnote{Obviously,
-if the folder appeared in the context of a standard \arg{+folder}
-argument to an \MH/ program, as in
-\example scan +draft\endexample
-it might become the current folder, depending on the context changes of the
-\MH/ program in question.}
-\underbar{Second},
-although conceptually \pgm{send} deletes the \arg{msgs} named in the draft
-folder,
-it does not call \entry{delete-prog} to perform the deletion.
-\subsection{What Happens if the Draft Exists}
-When the \pgm{comp}, \pgm{dist}, \pgm{forw}, and \pgm{repl} commands are
-invoked and the draft you indicated already exists,
-these programs will prompt the user for a reponse directing the program's
-action.
-In \mh4, the prompt is
-\begingroup
-    \smallertype
-    \example
-       ``/usr/src/uci/mh/mhbox/draft'' exists; replace, list, or quit?%
-    \endexample
-\endgroup
-The appropriate responses and their meanings are:
-\smallskip
-{\advance\leftskip by\parindent
-\item{\underbar{replace}:} deletes the draft and starts afresh.
-\item{\underbar{list}:} lists the draft.
-\item{\underbar{quit}:} leaves the draft intact and exits.
-\smallskip}
-\noindent
-In addition, if you specified \switch{draftfolder~folder} to the command,
-then one other response will be accepted:
-\smallskip
-{\advance\leftskip by\parindent
-\item{\underbar{new}:} finds a new draft,
-just as if \switch{draftmessage~new} had been given.
-\smallskip}
-\noindent
-Finally, the \pgm{comp} command will accept one more response:
-\smallskip
-{\advance\leftskip by\parindent
-\item{\underbar{use}:} re-uses the draft,
-just as if \switch{use} had been given.
-\smallskip}
-\subsection{The Push Option at\/{ }\whatnow/ Level}
-The \pgm{comp}, \pgm{dist}, \pgm{forw}, and \pgm{repl} commands take
-an additional option for the \whatnow/ query.
-The \pgm{push} option, which must be spelled out fully,
-directs the command to \pgm{send} the draft
-in a special detached fashion,
-with all normal output is discarded.
-If \pgm{push} is used and the draft can not be sent,
-then \MH/ will send the user a message,
-indicating the name of the draft file,
-and an explanation of the failure.
-Although using \pgm{push} calls \man{send}(1),
-the \pgm{send} command will consult the profile entry for \pgm{push}.
-\par
-The user can also invoke \pgm{send} from the shell with the \switch{push}
-switch,
-which makes \pgm{send} act like it had been \pgm{push\/}'d by one of the
-composition commands.%
-\nfootnote{Note that in this case,
-\pgm{send} consults the profile entry for whatever name it was invoked as,
-such as \pgm{sendf}.}
-\par
-The \pgm{send} program also has two other switches,
-\switch{unique} and \switch{nounique}.
-If \pgm{push\/}'d,
-then the \switch{unique} switch tells \pgm{send} to rename the draft file to
-a unique filename.
-This allows the user to have several drafts being sent simultaneously
-(after {\it push\/}ing one draft,
-another draft may be composed and edited immediately).
-The \switch{unique} switch,
-which is the default when \pgm{send} is \pgm{push\/}'d,
-is not really useful if you're using {\it draft folders},
-as the user generally gets a new message draft for each composition.
-Hence, users of the {\it draft folder} mechanism should put
-\example send: -nounique\endexample
-in their \profile/ file.
-This has the added advantage of making
-\example comp -use\endexample
-easy to use when a draft fails to be posted properly.
-\par
-By using \pgm{push}, the user can free the shell to do other things,
-because it appears to the shell that the \MH/ command has finished.
-As a result the shell will immediately prompt for another command,
-despite the fact that the command is really still running.
-Note that if the user indicates that annotations are to be performed
-(with \switch{annotate}),
-the annotations will be performed after the message has been
-successfully sent.
-This action will appear to occur asynchronously.
-Obviously, if one of the messages that is to be annotated is
-removed before the draft has been successfully sent,
-then when \MH/ tries to make the annotations,
-it won't be able to do so,
-and an error message will mysteriously appear on the user's terminal.
-\subsection{Options at\/{ }\whatnow/ Level}
-When using the \pgm{comp}, \pgm{dist}, \pgm{forw}, and \pgm{repl} commands at
-\whatnow/ level,
-the \pgm{edit}, \pgm{list}, \pgm{headers},
-and (for the \pgm{dist} and \pgm{repl} commands) the \pgm{display} options
-will pass on any additional arguments given them to whatever program they
-invoke.
-\par
-In addition,
-in \mh1 (the original Rand \MH/)
-and \mh2 (the first UCI version of \MH/),
-\MH/ used a complicated heuristic to determine if the draft should be deleted
-or preserved after an unsuccessful edit.
-In \mh3,
-\MH/ was changed to always preserve the draft,
-since \pgm{comp}, et. al.,
-could usually look at a draft, apply another set of heuristics,
-and decide if it was important or not.
-With the notion of a {\it draft folder}, 
-in which one by default gets a \arg{new} message draft,
-\mh4 has again re-implemented the edit deletion/preservation
-algorithm (with a minor bug-fix),
-to keep the draft folder from being cluttered with aborted edits.
-\par
-Also,
-note that by default,
-if the draft cannot be successfully sent,
-these commands return to \whatnow/ level.
-But, when \pgm{push} is used, this does not happen (obviously).
-Hence,
-if these commands were expected to annotate any messages,
-this will have to be done by hand, later on, with the \pgm{anno} command.
-\par
-Finally, if the \switch{delete} switch is given to the \pgm{quit} option,
-then these commands will inform the user of the name of the unsent draft file.
-\subsection{Posting of Mail}
-\mh4 does a few different things when mail is posted.
-\subsubsection{Signature}
-There's now a \entry{Signature} entry in the \profile/ file.
-If the \file{\$SIGNATURE} envariable is not set,
-then \pgm{send} will consult this profile entry to determine the
-personal name of the \MH/ user.
-This personal name is placed in the \eg{From:} field of the message.
-If this profile entry doesn't exist,
-then \pgm{send} will consult the file \file{\$HOME/.signature}.
-\subsubsection{Blind Carbon Copies}
-The \pgm{post} command now handles blind carbon copies in an entirely
-different fashion from the way they were handled in \mh3.
-In particular,
-the message sent to ``blind'' recipients contains minimal information in its
-headers,
-namely \eg{Date:},
-\eg{Message-ID:} (if \switch{msgid} was given),
-\eg{From:},
-\eg{Subject:} (if given in the message draft),
-and a standard blind carbon copy disclaimer.
-The body of the message sent to the blind recipients is simply the actual
-message sent to the ``sighted'' recipients.
-However,
-if the \switch{filter~filterfile} switch was given to \pgm{post},
-then the body of the message is given to \pgm{mhl} to be formatted with the
-named \arg{filterfile}.
-\subsubsection{Server Interaction}
-In \mh4, \MH/ supports a mail transport configuration which allows
-\pgm{post} to talk directly to an SMTP server.
-A possible extension of this,
-which looks particularly promising for when \MH/ is used on small
-workstations,
-is the ability to post mail on a different host,
-such as a ``mail relay''.
-In this way,
-the load on the local host may be reduced,
-and mail traffic may be handled more efficiently.
-\section{Folder Handling}
-Two new facilities have been added to give the \MH/ user greater power in
-manipulating folders:
-{\it relative folder addressing},
-which allows a user to shorten the typing of long folder names;
-and the {\it folder-stack},
-which permits a user to keep a stack of current folders.
-\subsection{Relative Folder Addressing}
-By default, when \arg{+folder} is given,
-and the folder name is not absolute
-(i.e., does not start with \file{/}, \file{./}, or \file{../}),
-then the \unix/ pathname of the folder is interpreted relative to the user's
-\MH/ directory.
-Although this mechanism works fine for top-level folders and their immediate
-sub-folders,
-once the depth of the sub-folder tree grows, it becomes rather unwieldly:
-\example scan +mh/mh.4/draft/flames\endexample
-is a lot of typing.
-\MH/ can't do anything if the current folder was \eg{+inbox},
-but if the current folder was, say, \eg{+mh/mh.4/draft},
-\MH/ has a short-hand notation to reference a sub-folder of the
-current folder.
-Using the \arg{@folder} notation,
-the \MH/ user can direct any \MH/ command which expects a \arg{+folder}
-argument to look for the folder relative to the current folder instead of the
-user's \MH/ directory.
-Hence, if the current folder was \eg{+mh/mh.4/draft},
-then
-\example scan @flames\endexample
-would do the trick handily.
-In addition, if the current folder was \eg{+mh/mh.4/draft},
-\example scan @../pick\endexample
-would scan the folder \eg{+mh/mh.4/pick},
-since, in the \unix/ fashion,
-it references the folder \eg{pick} which is a sub-folder of
-the folder that is the parent of the current folder.
-Since most advanced \MH/ users seem to exhibit a large degree of locality
-in referencing folders when they process mail,
-this convention should receive a lot of use.
-\subsection{The Folder Stack}
-The {\it folder-stack\/} mechanism in \MH/ gives the \MH/ user a
-facility similar to the {\it CShell\/}'s directory-stack.
-Simply put,
-\example folder -push +foo\endexample
-makes \eg{foo} the current folder,
-saving the folder that was previously the current folder on the
-{\it folder-stack}.
-As expected,
-\example folder -pop\endexample
-takes the top of the {\it folder-stack\/} and makes it the current folder.
-Each of these switches lists the {\it folder-stack\/} when they execute.
-It is simple to write a {\it pushf\/} command as a shell script.
-It's one line:
-\example exec folder -push \$@\endexample
-Probably a better way is to link \pgm{folder} to your \file{\$HOME/bin/}
-directory under the name of \pgm{pushf} and then add the entry
-\example pushf: -push\endexample
-to the \profile/ file.
-\par
-The manual page for \man{folder}(1) discusses the analogy between the
-\pgm{CShell} directory stack commands and the switches in \pgm{folder}
-which manipulate the {\it folder-stack}.
-\section{Other Changes}
-This last section discusses the other,
-more program-specific changes made to \MH/.
-\subsection{Address Parsing}
-There's a new library program, \pgm{ap}, which parses addresses according to
-the rules that the \MH/ programs use.
-It's often useful for figuring out how \MH/ sees a particular address.
-The \pgm{rcvtrip} rcvmail hook,
-described at the end of this report,
-uses this facility.
-\subsection{Alternate Mailboxes}
-There's a new entry in the profile, \entry{Alternate-Mailboxes},
-which is read by \pgm{repl} and \pgm{scan} to determine which addresses in a
-messages are under the user's administration.
-Hence,
-\example
-    Alternate-Mailboxes: mh@uci-750a, bug-mh
-\endexample
-says that the mailbox \eg{mh@uci-750a}
-and any mailbox whose local part is \eg{bug-mh}
-is read by the user.
-Hence, \pgm{repl} will not include them in the reply list,
-and \pgm{scan} will act accordingly if it encounters a message which is from
-any of these addresses.
-A current restriction is that the hostnames given must be the ``official''
-hostnames for the mailboxes,
-as local nicknames for hosts are not replaced with their official site names.
-\subsection{Annotation}
-The \pgm{anno} command no longer prompts for a \eg{text} component
-if the \switch{text~body} switch isn't given.
-\subsection{More on Folder Handling}
-If \pgm{folders} 
-(or \pgm{folder} when invoked with the \switch{all} switch)
-is given a \arg{+folder} or \arg{msg} argument,
-then it will set the current folder and/or message
-(in previous versions of \MH/,
-\pgm{folders} ignored any \arg{+folder} or \arg{msg} arguments).
-In addition,
-the top-level folders of the current folder will be listed
-(if \switch{norecurse} is in effect),
-or the current folder will be listed recursively
-(if \switch{recurse} was given).
-\subsection{Scanning}
-The \pgm{scan} and \pgm{inc} commands now have a \switch{size} switch
-(and a complementary switch, \switch{nosize}),
-which indicate if the {\it scan listing\/} should include the size of the
-message in bytes.
-\par
-Furthermore,
-the fields in the {\it scan listing\/} have been compressed a bit to allow
-more of the \eg{Subject} and \eg{Body} portions of the listing to appear.
-\par
-Finally,
-if \pgm{scan} encounters a message without a date field,
-rather than leaving that portion of the {\it scan listing} blank,
-as had been done in previous versions of \MH/,
-the date is filled-in with the last write date of the message,
-and post-fixed with a `*'.
-This is particularly handy for scanning a {\it draft folder},
-as message drafts usually aren't allowed to have dates in them.
-\subsection{BBoards Support}
-The \pgm{bbr} command now uses the name it was invoked with as its prompting
-string.
-To override this,
-the \MH/ user can specify the \switch{prompt~string} switch to \pgm{bbr}.
-\par
-The \pgm{bbc} command now lists the \eg{last update time} of a {\it BBoard},
-instead of the \eg{local leaders} when \switch{topics} is used without
-\switch{verbose}.
-The \eg{local leaders} are now listed when \switch{verbose} is given with
-\switch{topics}.
-\subsection{RcvMail Support}
-The \pgm{rcvcron} and \pgm{rcvtty} are now standard in all \mh4
-configurations.
-Further, there's a shell script, \pgm{rcvtrip},
-that demonstrates the power (and utility) of a {\it hook\/} operating in the
-\MH/ environment.
diff --git a/docs/historical/mh4/version b/docs/historical/mh4/version
deleted file mode 100644 (file)
index 8f92bfd..0000000
+++ /dev/null
@@ -1 +0,0 @@
-35
diff --git a/docs/historical/mh4/version.sh b/docs/historical/mh4/version.sh
deleted file mode 100644 (file)
index 9ec1e79..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-if [ ! -r version ]; then echo 0 > version; fi
-touch version
-echo '\catcode`\#=12' > version.tex
-awk '  { version = $1 + 1; }\
-END    { printf "\\def\\versiontag/{#1.%d}%%\n", version >> "version.tex"; \
-         printf "%d\n", version > "version"; }' < version
-echo '\def\versiondate/{'`date`'}%' >> version.tex
-echo '\catcode`\#=6' >> version.tex
-echo '\tell{Version \versiontag/ of \versiondate/}' >> version.tex
diff --git a/docs/historical/mh4/version.tex b/docs/historical/mh4/version.tex
deleted file mode 100644 (file)
index db4c095..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\catcode`\#=12
-\def\versiontag/{#1.35}%
-\def\versiondate/{Fri Jul 27 11:23:07 PDT 1984}%
-\catcode`\#=6
-\tell{Version \versiontag/ of \versiondate/}
diff --git a/docs/historical/mh4mm/Makefile b/docs/historical/mh4mm/Makefile
deleted file mode 100644 (file)
index fa9c890..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#########################################################################
-# Instructions to Make, for generation of nice-looking papers using LaTeX
-#########################################################################
-
-.SUFFIXES:     .pic .web .tex .dvi .imp
-
-.pic.tex:;     tpic $<
-
-.web.tex:;     sh -c 'if weave $<; then exit 0; else rm $@; exit 1; fi'
-
-.tex.dvi:;     sh -c 'if latex \\nonstopmode\\input $<; \
-                         then exit 0; else rm $@; exit 1; fi'
-
-.dvi.imp:;     dviimp $(DFLAGS) -i $@ $<
-
-
-#############################################################
-# Here it is...
-#############################################################
-
-all:           i-all
-print:         i-print
-
-
-#############################################################
-# mh4mm
-#############################################################
-
-i-all:         mh4mm.dvi
-
-i-print:       mh4mm.dvi true
-               dvisp $(DFLAGS) -J Mh4mm mh4mm
-
-true:;
-
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-               rm -f mh4mm.dvi mh4mm.imp
-
-clean:;                rm -f mh4mm.log mh4mm.blg mh4mm.tmp _*
diff --git a/docs/historical/mh4mm/mh4mm.tex b/docs/historical/mh4mm/mh4mm.tex
deleted file mode 100644 (file)
index 8603218..0000000
+++ /dev/null
@@ -1,660 +0,0 @@
-\documentstyle [12pt]{article}
-\parindent=0pt
-\parskip=7pt plus 2pt
-
-\def\oneline#1{\par\bigskip\leftline{\tt\hskip.75in#1}}
-\def\command#1{\par\bigskip\leftline{\tt\hskip.75in\% #1}}
-\def\comarg#1#2{\par\bigskip\leftline{\tt\hskip.75in\% #1 {\it#2}}}
-\def\tcom#1{\par\bigskip\leftline{\tt\hskip.75in@#1}}
-\def\MH/{{\sf MH}}
-\def\tops20/{{\sc Tops-20}}
-\def\unix/{{\sc Unix}}
-\def\MM/{{\sc mm}}
-\newfont{\itt}{cmti10}
-\sloppy
-\begin{document}
-
-\title{MH for MM Users}
-\author{Mary Hegardt \and Tim Morgan}
-\maketitle
-
-\section{Introduction}
-
-This document is another in a continuing series on use of the \MH/ mail
-system at UCI.  It is intended for those users accustomed to the \MM/ ``user
-agent'' (mail program) under \tops20/ and who are already familiar with
-network mail, but who may not be experienced \unix/ users.  For an
-introduction to \MH/, see ``MH For Beginners'' by Mary
-Hegardt and Tim Morgan.  For complete, detailed information on the \MH/
-system, see {\sl The Rand MH Message Handling System: User's Manual\/} by
-Marshall~T. Rose and John~L. Romine. Both documents are available for
-Xeroxing in suite CS408.
-
-\subsection{UNIX Versus Tops-20}
-
-The \unix/\footnote{\unix/ is a trademark of AT\&T Bell Laboratories}
-paradigm is that each command, or program, should perform only one
-function.  An extension of this idea is that the operating system
-implements only those functions which are necessary, but it does so in
-a very general way so that programs may still accomplish their functions.
-This philosophy probably evolved because the original versions
-of \unix/ ran on PDP-11 minicomputers which had only a small memory
-space for each process.
-
-Consequently, all commands in \unix/, with a very few exceptions, are
-in actuality programs.  On \tops20/, in contrast, many of the most frequently
-used commands are built into the user's shell, or {\em exec.}  Both the
-Exec and {\it csh,} which is typically the user's command interface on
-\unix/, will accept and parse command lines, attempting to invoke a command
-as a program if it is not one of the built-in commands.  \unix/ and \tops20/
-are surprisingly similar internally: the use of the shell, separate
-processes for each command or program to execute, standard input and output
-for each program, and many other ideas are common to both operating
-systems.  Users should be familiar with the capabilities of the shell,
-which is described in the document ``Introduction to the Csh.''
-
-\subsection{The MH User Interface}
-
-The \MH/ mail ``user agent'' is different from most other mail systems.
-\MM/, for example, is a {\em monolithic\/} system because one program
-implements all the mail-related functions.  The disadvantages of monolithic
-systems are that (a)~they are large, so they tend to put more burden on the
-computer system, and (b)~they allow for much less flexibility.  In contrast,
-\MH/ implements each mail command as a separate program: there is no single
-program called {\it mh.}  This approach facilitates interspersing mail
-commands with other, perhaps unrelated, commands.
-
-Another unique feature of \MH/ is that it takes advantage of the facilities
-provided by the operating system.  Most mail agents, such as \MM/, maintain
-a file containing the user's mail in a special, usually undocumented, format.
-When a message is deleted, \MM/ must take care of compacting the mail file.
-It must be able to distinguish the separate messages contained in the file.
-\MM/ must also implement a simple text editor to allow the user to enter
-and modify a message while it is being composed.
-These functions are essentially those provided by the operating system when
-separate files are stored within a directory.  Therefore, the approach
-taken by \MH/ is that
-each message is kept in a separate file.  This file simply contains the
-message, with no other special formatting characters or requirements.
-All the messages are stored within a normal \unix/ directory.  This approach
-makes it easy to add new \MH/ commands, to edit messages using standard
-text editors, etc.
-
-All your \MH/ related files are stored in a directory within your home
-directory.  Usually this directory is called {\tt Mail} or {\tt mhbox},
-although you are free to name it as you choose.  Another file in your home
-directory called \verb|.mh_profile| is equivalent to the {\tt MM.INIT} file
-under \MM/.  It contains all the options which you prefer for the various
-\MH/ commands.  It also contains the name of the \MH/ directory and the
-name that you want on your outgoing mail in the {\tt From:} field (your
-``{\em signature\/}'').
-
-\section{Getting Started}
-
-\subsection{Incorporating Mail}
-
-Another important difference between \MM/ and \MH/ is the concept of the
-{\em maildrop\/} file.  Under \tops20/, the mail transport system delivers
-new messages directly into the recipient's {\tt MAIL.TXT} file, where they may
-then be processed with \MM/.  In contrast, the \unix/ mail transport system,
-called {\it MMDF-II,} makes no assumptions about the user agent used by the
-recipient.  Instead, it puts all new mail into a special file called the
-{\em maildrop.}  This file is in the \verb|/usr/spool/mail| directory.
-When you log in, if there is new mail for you in your
-maildrop, you will be so notified by the message
-
-       \oneline{You have new ZOTnet mail -- type inc (or mail)}
-
-When you are ready to process this new mail, you may type the command
-
-       \command{inc}
-
-(``incorporate'') which will copy the new mail into separate files, one per
-message, stored in your ``inbox'' folder.  A folder is a subdirectory
-beneath your \MH/ directory which is used to store related messages.
-Additional information on folders is given in Section~\ref{Folders},
-page~\pageref{Folders}.  The
-``inbox'' is a distinguished folder because by default {\it inc\/} will
-always copy new mail into that folder, removing it from the maildrop.
-
-If this is the first time you have used {\it inc\/} or any other \MH/
-command, the {\it mh-install\/} program  will inform you that it is
-creating your {\tt Mail} directory. It will also create
-the ``inbox'' folder directory, and \verb|.mh_profile|.  
-
-\subsection{Message Numbers}\label{Scan}
-
-As {\it inc\/} processes each message, it prints a ``scan'' listing showing
-the message number, the date the message was sent,
-the name of the sender, the subject, and sometimes the initial part of the
-text of the message.  A ``scan'' listing is thus similar to the output of
-the {\tt HEADERS} command in \MM/.  Each message within a folder is given a
-number, starting with 1, by which it can be referenced.  {\it
-Inc\/} will display the numbers assigned to each new message in its ``scan''
-listing.
-
-As in \MM/, there is a ``current message'' number which usually identifies the
-message most recently manipulated by the user.  With most \MH/ commands,
-this will be the default message if no messages are explicitly specified in
-a command.  {\it Inc\/} makes the first new message the current message,
-which is indicated by a ``{\tt+}'' character in the scan listing, just after
-the message number.
-
-Many \MH/ commands take a list of messages to process. A message designation
-is either a single message number, two message numbers separated by a dash.
-The dash format indicates a range of messages including the endpoints. A
-message list consists of one or more message designations separated by
-spaces. For example, messages 11 through 15 and message 17 may be indicated
-by typing
-
-       \oneline{11-15 17}
-
-as the argument to some command.  There are also several predefined names
-for messages or lists of messages which may be used in place of message
-numbers:
-
-\bigskip
-\begingroup\parskip=0pt
-\def\titem[#1]{\par\hangafter=1\hangindent=.7in\noindent
-       \hbox to\hangindent{\it\hfil#1\qquad}\ignorespaces}
-
-\titem[cur] The current message (the last one that was handled).  Equivalent
-  to ``.'' or ``{\tt CURRENT}'' in \MM/.
-\titem[next] The next message 
-\titem[prev] The previous message
-\titem[first] The first message in the current folder.
-\titem[last] The last message in the folder.  Equivalent to {\tt\%} or
-  {\tt*} in \MM/.
-\titem[all] All messages ($\it first-last$).  Same as in \MM/.
-\endgroup
-
-It is also possible for you to define your own named {\em sequences\/} of
-messages.  See the {\it pick\/} command description for more details.
-
-\section{Processing Messages}
-
-This section contains a list of the common \MM/ commands and their
-equivalents in the in \MH/ mail system.  A short textual note describes how
-the \MH/ commands differ from their \MM/ counterparts.
-
-\subsection{Listing Messages}
-
-As mentioned in Section~\ref{Scan},
-the {\it scan\/} command may be used to summarize the
-messages in a folder, similar to the {\tt HEADERS} command in \MM/.  Unlike
-most \MH/ commands, however, {\it scan\/} defaults to {\em all\/} the
-messages in the current folder unless you specify one or messages on the
-command line to be scanned.  So simply typing
-
-       \command{scan}
-
-is equivalent to typing {\tt HEADERS ALL} (or {\tt H A}) in \MM/.
-
-\subsection{Reading Mail}
-
-Unlike the {\tt READ} command in \MM/, in \MH/ there is no special
-mail-reading mode (indicated in \MM/ by the {\tt R>} prompt).
-The command to read messages in \MH/ is {\it show.} If no message list is
-specified, then the current message is displayed.  The message is displayed
-by your ``showproc'', as specified in the \verb|.mh_profile|, described
-in Section~\ref{Tailoring}.
-Normally, your ``showproc'' will be {\it more\/} or {\it mhless.}
-Both of these programs will display your messages one screenful at a time.
-You press the \fbox{space bar} on your terminal to see the next screenful,
-or the \fbox{return} key to see the next line.
-
-The command
-
-       \command{show next}
-
-(which will display the first message following the current message in the
-current folder) can be abbreviated as simply
-
-       \command{next}
-
-Similarly, the command ``{\tt show prev}'' can be abbreviated as simply ``{\tt
-prev}''.
-
-To get a paper copy of a mail message, take the output from the {\it show\/}
-command and pipe it into the {\it imprint\/} command.
-
-       \command{show 5 | imprint}
-
-See the manual page for {\it imprint\/} for more information.
-
-
-\subsection{Deleting Messages}
-
-The equivalent of the {\tt DELETE} command in \MM/ is {\it rmm\/} in \MH/
-(remove messages).  It acts on the current message unless messages are
-specified on the command line. Unlike \MM/, the deleted messages will
-no longer show up in a ``scan'' listing. But the messages are not 
-completely removed; they are renamed to have a comma
-prepended to the name of the file containing the message within its folder
-directory.  Therefore, if you need to recover a message, it is possible to
-go into the directory and rename the message back.  Be careful in doing this
-not to overwrite a new message with the same message number!  It is a \unix/
-convention that files whose names begin with a comma will be removed from
-disk ({\em expunged\/}) early each morning. Therefore, your deleted
-messages will be available for the rest of the day, unless you remove another
-message subsequently which has the same message.  Then the previously deleted
-message is gone.
-
-\subsection{Replying to Mail}
-
-The equivalent of the {\tt REPLY} command in \MM/ is {\it repl\/} in \MH/.
-{\it Repl\/} may be given the number of the message to which you wish to
-reply, or it will default to the current message.  When replying in \MM/,
-you are prompted asking if you wish to reply to all the recipients of the
-message to which you are replying, or only to its sender.  In \MH/, normally
-the reply will be constructed to be sent to all the recipients.  You may
-select which recipients receive copies of your reply by using the {\tt
--query} option on {\it repl,} or by putting this option in your
-\verb|.mh_profile|, as described in Section~\ref{Tailoring}. If you
-wish a reply to go to everyone but yourself, you can 
-use \verb|repl -nocc me|.
-
-\subsection{Sending Mail}
-
-The equivalent of the {\tt SEND} \MM/ command is {\it comp\/} (``compose'')
-in \MH/.  These two commands are fairly similar, except that the recipient of
-the message cannot be specified on the {\it comp\/} command line.
-The {\it comp\/} program invokes a simple editor called {\it prompter\/}
-which will prompt you for the {\tt To:}, {\tt Cc:},
-and {\tt Subject:} fields of the message.  Then a line of dashes is typed,
-and you may enter the body of your message (its {\em text,} in \MM/ terms).
-When you are finished, type \fbox{ctrl}--D (equivalent to typing \fbox{ESC} or
-control-Z in \MM/).  Then you'll receive the prompt
-
-       \oneline{What now?}
-
-which is similar to \MM/'s {\tt S>} prompt.  You may receive a list of the
-options that you have at this point by typing ``{\tt?}'' followed by
-\fbox{return}.  Here is a short list of the options and their meanings.
-Notice that, unlike \MM/, there are very few commands to modify the message
-(such as the {\tt TEXT}, {\tt TO}, {\tt CC}, etc., commands which may be
-typed at the {\tt S>} prompt in \MM/).  In place of these commands, you use
-the {\tt edit} command to invoke your favorite text editor on the message,
-and you use it to make the equivalent changes.  You also use your editor
-to include other files into the body of the message, rather than using
-control-B, as in \MM/.  One additional use of the {\tt edit} command is
-for spelling checking.  In \MM/, you may use the command {\tt SPELL} 
-for this purpose.  
-In \MH/, you type ``{\tt edit spell}''\footnote{ Actually, any
-program named after the ``{\tt edit}'' command will be invoked with
-whatever arguments you have given and a path to the file containing
-the message you are editing.} instead.  This will
-cause the spelling checker to be run, giving you a list of the possibly
-misspelled words in your message.
-
-\bigskip
-
-\begingroup
-\def\titem[#1]{\par\hangafter=1\hangindent=1.4in\noindent
-       \hbox to\hangindent{\hfil#1\qquad}\ignorespaces}
-
-\titem[\tt edit \it editor\/] Edit the message using the specified
-                               editor.  When you exit, you will be
-                               back at \verb|What now?|.
-
-\titem[\tt list] Shows the message you just typed
-
-\titem[\tt whom -check] Verifies that the addresses you have
-                               used are valid as far as our system
-                               can tell
-
-\titem[\tt send] Sends the message to the recipients
-
-\titem[\tt push] Sends the message in the background
-
-\titem[\tt quit] Quits without sending the message.
-                               Saves the text of the message as
-                               a ``draft''. Type \verb|comp -use| to
-                               get back to that draft later.
-
-\titem[\tt quit -delete] Quit, throwing away the draft
-\endgroup
-
-\bigskip
-
-\subsection{Forwarding Mail}
-
-The {\it forw\/} command is used in \MH/ to forward messages.  It will take
-a list of messages on the command line to be forwarded, or it will default
-to the current message if none are specified.  It will prompt you like {\it
-comp\/} does for the {\tt To:}, {\tt Cc:}, and {\tt Subject:}\ fields.  Note
-that, unlike \MM/'s {\tt FORWARD} command, {\it forw\/} will not construct a
-subject line automatically.  Also as with {\it comp,} you will have the
-opportunity to add additional text to the message(s) which you are
-forwarding, ended with a control-D.  
-
-\subsection{Resending Mail}
-
-The equivalent of the {\tt RESEND} command in \MM/ is the {\it dist\/}
-(``distribute'') command in \MH/.  {\it Dist\/} works very much like the
-{\it forw\/} command, except that the prompts will be {\tt Resend-To:},
-{\tt Resend-Cc:}, etc. After filling in the headers, a line of dashes
-is typed giving the impression that additional text can be entered.
-Nothing could be further from the truth; if you add any text at this
-point the {\it dist\/} will fail.  Your only opportunity to add text
-is in the {\tt Resend-Note:} field.
-
-\section{Advanced Topics}
-
-\subsection{Selecting Messages}
-
-In \MM/, you may use several reserved command words to select messages
-in place of an explicit list of message numbers.  For example, you can
-type ``{\tt DELETE FROM SMITH}'' to remove all the messages from a user named
-``Smith''.  Rather than building such a capability into each \MH/ program
-which can process message lists, a special program called {\it pick\/} is
-used instead.  Just as there are predefined sequences of messages, such as
-``{\tt all}'', ``{\tt cur}'', etc., you may use {\it pick\/} to define your
-own sequences.  {\it Pick\/} is capable of selecting messages from a folder
-based on the {\tt To:}, {\tt From:}, {\tt Subject:}, {\tt Cc:}, or {\tt
-Date:} fields, or by searching the body of the message.  The patterns to be
-searched for may include full regular expressions (see the ``man'' page for
-{\it ed(1)\/} for more information) or simple strings.
-
-{\it Pick\/} may be used in one of two ways.  First, it may output the
-sequence of message numbers which match the search parameters.  Using the
-backquoting mechanism of the shell, these message numbers may then become
-the arguments to other \MH/ programs.  The second way to use {\it pick\/} is
-to have it define a new sequence name which will be the messages which were
-selected.  Only this second method of using {\it pick\/} will be described
-here; see {\it pick(l)\/} if you wish to use the first method.
-
-In your \verb|.mh_profile|, add the line
-
-       \oneline{pick: -seq sel}
-
-Then each time you use the {\it pick\/} command, it will define the
-resulting sequence of messages to be called ``sel''.  Then to ``pick'' all
-the messages in the current folder which are from ``Smith'', just type
-
-       \command{pick -from smith}
-
-To see a summary of those messages, type
-
-       \command{scan sel}
-
-Then to the remove the messages, type the command
-
-       \command{rmm sel}
-
-You can {\it pick\/} messages according to any of the headers ({\tt -to
--from -subj -cc {\rm or} -date}) or just search all the messages for a given
-word ({\tt -search}).
-
-\subsection{Customizing Your Mail Environment}\label{Tailoring}
-
-In \MM/, you use the {\tt PROFILE} command to tailor your mail environment.
-This command writes a file called {\tt MM.INIT} in your home directory which
-is then read by subsequent executions of \MM/.  In the \MH/ system, the file
-\verb|.mh_profile| serves the same purpose.  It is edited with any normal
-text editor, rather than using a special-purpose command to modify it.  The
-format of the file is line oriented, one line per \MH/ program or \MH/
-option to be set.  The only required line in the profile is the name of the
-primary \MH/ mail directory, which is by default {\tt Mail}. This
-information is specified by the line
-
-       \oneline{Path: Mail}
-
-The textual name you would like to have on your outgoing mail is specified
-by the {\tt Signature:} line.  For example,
-
-       \oneline{Signature: Mary Hegardt}
-
-The BBoards which you like to read should also be listed in the
-\verb|.mh_profile| (see Section~\ref{BBoards}, page~\pageref{BBoards}, for
-additional information).  For example, if you read the ``system'' BBoard
-(where all important announcements are posted), as well as ``whimsey''
-and ``imagen-users'' BBoards, your \verb|.mh_profile| should contain the line
-
-       \oneline{bboards: system whimsey imagen-users}
-
-Other options may be specified on a per-program basis.  The format for these
-lines is the same.  First, the program name is given followed by a colon.
-Then any flags which are to be the default options for that program are
-given.  Here is a short list of the most common options which you may want
-to set in your \verb|.mh_profile|:
-
-       \oneline{showproc: mhless}
-
-The {\it showproc\/} is the program used to show messages to you.  By
-default, it is the {\it more\/} command.  {\it Mhless\/} is the same as
-{\it more\/} except that it omits the headers of the messages which you
-indicate that you wish not to see.  Type
-
-       \command{man mhless}
-
-for more information about this program.
-
-       \oneline{msh: -scan}
-
-Selecting this option causes an automatic scan of new messages on BBoards to be
-made when reading BBoards with {\it bbc,} similar to the scan listing
-produced by {\it inc.}
-
-       \oneline{repl: -query}
-
-causes {\it repl\/} to ask for each address in the message being replied to
-if it should be included in the {\tt To:} or {\tt Cc:} fields of the reply
-being composed.
-
-       \oneline{pick: -seq sel}
-
-This line will cause messages ``picked'' by the {\it pick\/} command to be
-put into a sequence named ``sel''.  This sequence name may then be used
-just as the built-in sequences (``last'', ``first'', etc.).
-
-\subsection{Aliases}
-
-Using \MH/, you may specify your own private mail aliases.  This feature
-allows you to store lists of addresses or long internet addresses of people
-with whom you frequently correspond in one file, and then to address them
-using short mnemonic names.  Typically, you will call your alias file ``{\tt
-aliases}''; it must be stored in your \MH/ directory.  The format of this
-file is simple. The alias is given, followed by a colon, followed by one or
-more legal mail addresses separated by commas.  For example, you might for
-some reason have an alias for all the users named ``Rose'' in the ICS
-department:
-
-       \oneline{roses: prose, srose, mrose, drose}
-
-In addition to your ``{\tt aliases}'' file, you will need to modify your
-\verb|.mh_profile| in order to use aliases.  You should add the flag
-``{\tt -alias aliases}'' to the entries for the commands {\it ali, whom,
-send,} and {\it push,} creating entries for these programs if they aren't
-already in your \verb|.mh_profile|.
-Now, messages addressed to ``{\tt roses}'' will be distributed to all
-the people listed in the alias.
-
-The {\it ali\/} command is used to show you what an alias expands to.
-You just type
-
-       \comarg{ali}{alias}
-
-and {\it ali\/} will respond with the expansion of the {\it alias.}  {\it
-Ali\/} searches the system aliases file in addition to your private ones.
-
-\subsection{Blind Lists}
-
-There are two different types of so-called ``blind addressing'' of messages.
-Users of \MM/ may already be familiar with the ``Blind Carbon Copy'', or
-{\tt BCC:} field.  It allows you to add recipients to your message just
-like those who are CC'd, but the normal recipients will not see that the
-BCC recipients were copied on the message, their replies will not go to the
-blind recipients, and the blind recipients cannot (easily) reply to the
-message.
-
-The second type of blind mailing is actually called a ``group address list'',
-although it is commonly referred to as a ``blind list''.
-The format of this type of address is
-
-       \oneline{{\it phrase\/}: {\it address\_list\/};}
-
-where the ``{\it phrase\/}'' is any English phrase of one or more words,
-and the {\it address\_list\/} consists of one or more addresses separated by
-commas.  The recipients of a message addressed in this fashion will
-see simply
-
-       \oneline{{\it phrase\/}: ;}
-
-so when they reply to the message, their reply will come only to the sender
-(or the {\tt Reply-To:} field, if one was specified), rather than going to
-all the recipients of the original list. For example, to use a group
-address list for the ``{\tt roses}'' alias you would type:
-
-       \oneline{To: People Named Rose: roses;}
-
-This type of group address is very
-useful for making up lists of related people, such as all the people working
-on a particular research project.
-
-\subsection{Folders}\label{Folders}
-
-As mentioned previously, folders are directories within your \MH/ directory
-used to store related messages.  There is no equivalent of the folder
-concept in the \MM/ system. Usually, you will use only the folder ``inbox'',
-so you won't have to worry about folders.  However, if you process a large
-volume of mail, then folders become invaluable in managing the messages
-which you wish to keep for future reference.
-
-Just as there is a ``current message,'' \MH/ maintains a ``current folder,''
-which will normally be ``inbox''.  You can change folders either by
-specifying the folder on the command line of \MH/ programs which take a
-list of messages as an argument, or by using the {\tt folder} command:
-
-       \command{folder +{\it folder\_name}}
-
-In general, the folder name is indicated by a ``{\tt+}'' sign followed
-immediately by the folder name, all preceeding any list of messages. For
-example, you may read the most recent message in a folder called
-``job\_offers'' using the command
-
-       \command{show +job\_offers last}
-
-This command will have the side-effect of setting the current folder to be
-``job\_offers''. You may move messages from the current folder into the
-``job\_offers'' folder using the command
-
-       \comarg{refile +job\_offers}{messages}
-
-where, as usual, the {\it messages\/} list will default to the current
-message in the current folder if none are specified.  Note that, in contrast
-with the {\it show\/} command and most other \MH/ commands, the {\it
-messages\/} are {\em not\/} considered to be in the folder ``job\_offers''.
-You may obtain a summary of all your folders by typing the command
-
-       \command{folders}
-
-When you remove messages from a folder using the {\it rmm\/} command,
-the deleted messages will show up as a ``hole'' in the message numbering.
-The command
-
-       \command{folder -pack}
-
-will cause all the messages within one folder to be renumbered starting
-with~1. Similarly, the command
-
-       \command{folders -pack}
-
-will do the same thing for all your folders.
-
-To remove an empty folder, use the command
-
-       \command{rmf +{\it folder}}
-
-\subsection{Reading BBoards}\label{BBoards}
-
-Two special-purpose programs are utilized in reading BBoards.  The first is
-{\it bbc,} which is used to check a list of BBoards for new messages.
-The list of messages may be given on the command line, or if not, it will be
-taken from the {\tt BBoards:} list in your \verb|.mh_profile|.  You may
-obtain a list of all the available BBoards by typing the command
-
-       \command{bbc -topics}
-
-For each BBoard with unseen messages, {\it bbc\/} will invoke the \MH/
-shell, {\it msh,} whose prompt is
-
-       \oneline{(msh)}
-
-The {\it msh\/} program allows you to read BBoard mail as if it were normal
-messages in one of your folders.  Almost all the \MH/ commands will work
-just as the normally do.  Typing the command ``{\tt quit}'' to {\it msh\/}
-causes it to stop reading the current BBoard and go on to the next one
-containing unseen messages, or to exit if there are no more such BBoards.
-Typing control-D causes {\it msh\/} to exit unconditionally.  The command
-{\tt mark} followed by a message number causes {\it msh\/} to act as if you
-have seen that message and all previous ones.
-
-\subsection{Checking for Mail}
-
-Under \unix/, there are about a dozen different ways to check for new mail.
-The easiest way to do it is to set the {\it csh\/} variable named ``mail''
-to tell {\it csh\/} to check for new mail for you periodically.  To do this,
-add the line
-
-       \oneline{set mail=(60 /usr/spool/mail/\$USER)}
-
-to your {\tt .login} file in your home directory.  This command says to
-check for mail if {\it csh\/} is about to prompt you with a {\tt\%} sign,
-and if it has been at least 60 seconds since it last checked for mail.
-The advantage of this method of mail notification, besides simplicity, is
-that you will never be interrupted by a mail notification.  You will only be
-notified of new mail when you are between commands, when the shell is about to
-prompt you.
-
-If you desire asynchronous mail notification, which will print to your
-terminal regardless of what you are currently doing, you may make use of a
-``Receive Mail Hook'' called ``rcvtty''.  To do this, create a file in your
-home directory called ``{\tt .maildelivery}''.  In this file, put the line
-
-       \oneline{* - pipe R /usr/uci/lib/mh/rcvtty}
-
-Then each time new mail arrives, you will receive a one-line ``scan''
-listing of the mail if your terminal is world-writable. For more information
-on ``maildelivery'' files, type:
-
-       \command{man 5 maildelivery}
-
-
-\subsection{Saving Drafts}
-
-Normally when you use {\it comp,} it creates the message being composed in a
-file called ``{\tt draft}'' in your \MH/ directory. If you use the ``{\tt
-quit}'' option at the ``{\tt What now?}'' prompt, this file will remain
-there.  You may later use the command
-
-       \command{comp -use}
-
-to resume composing the message.
-
-If you begin composing a new message and there is already a ``draft'' file,
-you will be asked for the disposition of this file.  Typing {\tt?}
-\fbox{return} will give you a list of the options at this point.  Normally
-you will either {\tt replace} (delete) the old draft and begin
-a new one or {\tt use} the old one.
-
-The {\tt -file} switch to {\it comp\/} may be used to specify the name of a
-draft other than ``{\tt draft}''.  For example, one might type
-
-       \command{comp -file mary}
-
-to begin composing a message maintained in the draft file ``{\tt mary}''.
-Typing
-
-       \command{comp -file mary -use}
-
-would cause {\it comp\/} to resume composing this same draft after a
-``{\tt quit}'' command to the ``{\tt What now?}'' prompt.
-
-Very advanced users of \MH/ maintain multiple draft files in a {\it draft
-folder.}  This is a normal folder which holds all your drafts, rather than
-having just one draft in your \MH/ directory named ``{\tt draft}''.  If you
-feel that you need to use draft folders, you should consult the {\sl MH
-User's Manual\/} for additional information.
-
-\end{document}
diff --git a/docs/historical/mh5/MHCHANGES b/docs/historical/mh5/MHCHANGES
deleted file mode 100644 (file)
index 3365f66..0000000
+++ /dev/null
@@ -1,1462 +0,0 @@
-                     MHCHANGES from mh.4 to mh.5
-
-
-Mon Aug 27 05:00:44 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       Decide that mh.4 is finished.  This file keeps track of the
-       changes made between the mh.4 and mh.5 versions.  As usual, it's
-       being kept in add-source-change format.  [Actually, mh.4 was
-       finished on July 1, 1984.  For obscure reasons, this ChangeLog
-       didn't start until August 27th though.]
-
-
-Mon Aug 27 05:07:37 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/inc.c: examine the profile entry "maildrop" to override the
-       default maildrop if necessary.  "maildrop" is interpreted with
-       m_mailpath(), so if not an absolute path, it's interpreted relative
-       to the user's MH directory.
-
-
-Tue Sep 11 19:59:24 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       tws/dtime.c: have it know about EDT.  Really, dtimezone needs to
-       get fixed up and use two tables instead of one...
-
-
-Wed Sep 12 20:02:22 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/rcv{cron,tty}.c: if not reading mmdf.h, then read smail.h to
-       get proper definitions of RP_M{ECH,OK}.
-
-
-Sun Sep 16 16:08:39 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/folder.c: change capitalization of "%d Folder%s" to
-       "%d folder%s".
-
-
-Tue Sep 18 14:16:53 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/folder.c: if folder is unreadable (errno==EACCES), just say
-       "unreadable", don't bother to call admonish().
-
-
-Tue Sep 18 14:30:57 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/inc.c: Check $MAILDROP prior to checking the Maildrop: profile
-       entry.
-
-
-Wed Sep 19 16:02:18 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/scan..c: if message is unreadable (errno==EACCES), just say
-       "unreadble", don't bother to call admonish().
-
-
-Fri Sep 21 19:25:25 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       sendmts/hosts.c: change ALLHOSTS logic: if we're running with an
-           exception file, then turn ALLHOSTS on (let mail system be final
-           arbitrator).  Also, if using an exception file, play along if the
-           file can't be opened.
-
-
-Sat Sep 22 19:03:02 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/sbboards.c: forgot a few arguments in a couple of printf-like
-       strings.
-
-
-Sat Sep 22 20:19:40 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-750b>
-
-       uip/rcvlink.c: new rcvmail hook, just like the old rcvlink hook
-       used in the ZOTnet.
-
-
-Mon Oct  1 20:48:25 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-icsb>
-
-       uip/{scan,inc,scansbr}.c: change scansbr.h to #define the return
-       codes from scansbr$scan().  Modify scan.c to say if a null message
-       is empty.
-
-
-Mon Oct  1 20:49:32 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-icsb>
-
-       uip/repl{,sbr}.c: add the -[no]query switch which interactively
-       prompts the user for info on who should be replied-to.
-
-
-Wed Oct 10 09:15:23 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-icsb>
-
-       uip/install-mh.c: fix minor typo in display of help message.
-
-
-Wed Oct 10 14:41:30 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-icsb>
-
-       uip/rcv{cron,link,tty}.c: foil m_getdefs() for JLR.
-
-
-Fri Oct 12 09:52:19 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-icsb>
-
-       sbr/m_edit.c: change rindex() to r1bindex().  Silly typo.
-
-
-Fri Oct 12 09:53:56 1984  Rand MH Mail Handler (agent: Marshall Rose) <mh@uci-icsb>
-
-       uip/ap.c: be sure to foil m_getdefs() for consistency.
-
-
-Mon Oct 15 08:27:13 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       conf/{mhconfig.c,config/config.c}: make the default editor
-           configurable.
-       conf/mhconfig.c: add support for othersupport/Makefile.
-       Makefile,conf/{config/mts.c,makefiles/mts}: add support for the
-           mtstailor file.
-       othersupport/tutorial/: include the MH tutorial
-       uip/{ap,bbr,conflict,inc,post,rcvcron,rcvlink,rmail,sbboards,slocal}.c,
-           mts/msgchk.c: add support for the mtstailor file.
-       uip/{rmail,sbboards,slocal}.c: foil m_getdefs() (just in case).
-
-
-Wed Oct 17 10:02:27 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/inc.c: more mtstailor fixes, always read MAILDIR.
-       uip/prompter.c: add the -[no]rapid switch.
-
-
-Thu Oct 18 11:14:15 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/annosbr.c: if file doesn't exist, don't spit out error
-       diagnostic (comp/dist/forw/send -anno followed by push).
-
-
-Fri Oct 19 08:57:23 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/dist.c: instead of introducing Prev-Resent-Header: just prepend
-           Prev- to previous resent-XXX: fields.
-       uip/{post,dist}.c: append resent-XXX: fields instead of prepending
-           them.  Also some minor clean-up.
-       tws/dtime.c: use a better structure to permit "fool-proof"
-           generation of time with dst.
-       tws/dtimep.c: minor clean-up.
-
-
-Sat Oct 20 11:47:26 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/post.c: let fcc: fields have more than one folder entry.
-
-
-Mon Oct 22 11:37:30 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sendmts/smail.c: forgot to declare parameter watch for -DSENDMAIL.
-       conf/makefiles/*: make "make install" a synonym for "make inst-all".
-       conf/makefiles/*: support $(DESTDIR) convention.
-
-
-Tue Oct 23 12:35:58 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       conf/config/mts.c, mts/mts.h: remove the mbx_lock() and mbx_unlk()
-       routines and replace them with the lock-and-open routines
-       lkopen(), lkclose(), lkfopen(), and lkfclose().  lkopen() acquires
-       an exclusive lock on the named file (which *must* exist) and then the
-       appropriate open.  lkclose() releases the lock and closes the
-       file.  lkfopen() is to lkopen() as fopen() is to open().  lkfclose()
-       is to lkclose() as fclose() is to close().  I had to do all this
-       so with 4.2BSD we can use flock to do the locking instead of the
-       link/unlink business.
-
-
-Wed Oct 24 11:00:55 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-              -- All fixes from Terry Domae at NRTC --
-       conf/mhconfig.c: invoke mhdoc with csh explicitly since V7 doesn't.
-       conf/config/config.c, config/mh.h: add new global variable libpath.
-       uip/mhlsbr.c: support libpath for system-wide forms.
-       config/mh.h,mf/mf.c,sbr/getusr.c,uip/post.c: add -DNRTC for MAILID
-           support
-       uip/replsbr.c: don't panic if the host for the sender/from field
-           is unknown.
-       uip/{send,whom}.c: forgot to use m_draft() instead of m_maildir(draft).
-       sbr/m_draft.c: fix things up for show -draft.
-       uip/show.c: add a "-form formfile" switch.  Also, support for -draft
-           to reflect draftfolders.
-
-
-Wed Oct 24 21:46:22 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       conf/config/config.c, config/mh.h: add libpath() which looks first
-           in m_maildir and then etcpath for the file.  Get rid of the
-           std* variables since libpath() now does the same thing.
-       With libpath, we now search m_maildir and then etcpath for
-           alias files for send and whom, form files for comp, dist, forw,
-           and repl, and filter files for forw and mhl.
-
-
-Sat Oct 27 23:08:23 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_getdefs.c: create the MH-directory if it's not there.
-       uip/rmf.c: when rmf'ing a folder make sure parent's folder is
-               writable as well as the folder.
-
-
-Sun Oct 28 10:32:06 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/*.c: remove calls to m_news(), also add m_foil() to foil
-           implicit calls to m_getdefs ().
-       {sbr/m_getdefs,uip/rmf}.c: make mp->others checking a bit smarter
-           for #ifdef UCI.
-
-
-Sun Oct 28 20:36:45 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/folder.c: On "folder +foo", if +foo doesn't exist, ask if it
-           should be.
-
-
-Sun Oct 28 22:12:22 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/bbr$repl: forgot to support -[no]query.
-       conf/doc/tmac.h: add .nf and .fi at the right spots for "FILES",
-           etc.
-
-Mon Oct 29 19:23:10 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/bbc.c: remove a couple of calls to setbbent().  They were
-           defeating setbbfile().  They weren't even needed since the
-           first thing that bbc does (even before parsing arguments) is
-           to call setbbent().
-       uip/show.c: force -noformat, -noheader, and -nopr to be at least
-           three characters for recognition.
-       uip/post.c: when invoking fileproc, add a '+' only if it doesn't
-           start with '+' or '@'.
-
-
-Tue Oct 30 08:12:50 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/{comp,dist,forw,repl}.c: make the "push" option at "What now?"
-           level visible.  Document the draftfolder switches in the
-           manual page
-       uip/bbc.c: document `-file BBoardsfile' in manual page
-       uip/bbl.c: remove -debug switch
-       uip/repl.c: remove -debug switch
-       uip/send.c: document -[no]remove in manual page, make -push
-           visible and add -nopush.  Document the draftfolder switches in
-           the manual pages
-
-
-
-Tue Oct 30 16:35:37 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/prompter.c: if the skeleton lacked a body sometimes prompter
-           would ask for a body and sometimes it wouldn't.  Now it doesn't.
-       uip/dist.c: call ready_msg() each time ready_draft() is called so
-           user can edit message being dist'd.  (sigh)
-
-
-Tue Oct 30 18:59:45 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       mf/mf.c: very minor clean-up of isfrom().
-       mhmts/{hosts.c,netmail.c},{mmdf,sendmts}/hosts.c: include mts.h
-
-
-Tue Oct 30 21:30:38 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       tws/dtimep.c: parse ctime(3) strings, since some fool hosts
-           actually permit that to get into the Internet.
-
-
-Tue Oct 30 22:14:19 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/post.c: if we get an address-bearing field without any address,
-           just ignore it instead of complaining about it.
-
-
-Wed Oct 31 07:54:41 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       mmdf/hosts.c: somehow "mmdf.h" and "util.h" weren't included.
-
-
-Wed Oct 31 08:13:36 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/prompter.c: if the skeleton lacked a body sometimes prompter
-           would ask for a body and sometimes it wouldn't.  Now it ALWAYS
-           does.
-       uip/show.c: "show -pr -f n" exec'd "pr inbox/-f inbox/n".  Now it
-           exec's "pr -f inbox/n" like it should.
-
-
-Wed Oct 31 14:41:06 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/scansbr.c: change SLINE to 78 (instead of 79).  We really
-           should read termcap or an MH profile entry though.
-
-
-Wed Oct 31 19:12:58 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/rcv{cron,tty}.c: include "../mmdf/util.h" when MMDFMTS.
-
-
-Wed Oct 31 20:23:13 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-             -- All fixes from Phyllis Kantar at Rand --
-       uip/repl.c: should use done(1) if the initial m_edit fails instead
-           of done(0).
-       sendmts/smail.c: comment out passing of "-ov" to SendMail if
-           compiled at Rand.
-
-Wed Oct 31 22:27:33 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/repl.c: since post can handle multiple folders in an fcc:
-           line, take advantage of it.
-
-
-Thu Nov  1 00:33:24 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       bbsupport/{bboards.{daily,weekly},bb{save,remove}} - use /bin/sh
-           not /bin/csh
-       bbsupport/bb{aka,exp,tar}.c - call setbbent() with the right
-           argument.  Where applicable use /bin/sh not /bin/csh
-       conf/config/MakeBBoards - remove dependencies
-       conf/mhconfig.c - support for empty mmdfldir and non-empty
-           mmdflfil.
-
-
-Thu Nov  1 15:14:43 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       support/mhl.format: change terminal length from 40 to 23.
-
-
-Thu Nov  1 18:42:44 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/brkstring.c:  brkany() wasn't checking for a null string.  It
-           does now.
-
-
-Fri Nov  2 07:56:36 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/pick.c: if no matches and -list output a "0" so backquoting
-           fails.
-
-
-Fri Nov  2 13:17:27 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/replsbr.c: don't bomb if returnee's host is unknown (use
-           AD_HOST instead of AD_NAME).
-       mmdf/hosts.c: when calling mmdf_init() use invo_name and not "mh".
-
-
-Fri Nov  2 13:44:50 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/{forw,forwsbr}.c: change encapsulation algorithm to use
-           different bit-stuffing scheme.
-       uip/mhlsbr.c: with -forward (interface from forw), support change
-           in encapsulation algorithm.
-
-
-Fri Nov  2 17:08:18 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/forwsbr.c: remove, put cpydgst() into sbr/cpydata.c
-       config/mh.h, sbr/llib-lmh: declare cpydgst().
-
-
-Sat Nov  3 19:56:51 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/bbc.c: get this: "bbc -quiet" with no other arguments and a
-           bogus "bboards:" entry in the profile would yield a core dump.
-           Marvelous.
-
-
-Sun Nov  4 15:00:20 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_getfld.c: in the interests of speed-up, change eom() to a
-           macro that calls the auxilary function Eom() if need be.  This,
-           along with the addition of a new mbx_style, DEFAULT, should
-           give a significant speed-up in parsing individual files and
-           the MH profile.  Finally, make Getc() a macro as well, which
-           calls the routine GETC() only on special occasions.
-       config/mh.h,sbr/{llib-lmh,m_getfld.c}: change mbx_unknown() to
-           m_unknown().
-
-
-Sun Nov  4 17:40:04 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/folder.c: forgot the m_sync() after m_setcur().  This
-       prevented "folder +folder msg" from setting msg as cur.
-
-
-Mon Nov  5 13:14:36 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/replsbr.c: don't adios() when can't understand "From:" or
-       "Sender:" field.  Continue on, gracefully (ha!)
-
-
-Mon Nov  5 18:15:01 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-            -- ALTOS port of MH.5 (under #ifdef ALTOS) --
-       conf/config/config.c: "more" resides in /usr/bin/. "ls" resides
-           in /bin/.
-       conf/config/mts.c: read /etc/mhid for {Local,System}Name().  Also
-           add routine gethostname () which reads /etc/systemid.
-       config/mh.h: #include "../config/altos.h" on #ifdef ALTOS.  Also,
-           new #define LINK which is "@" unless ALTOS else "#".
-       config/altos.h: to get past V7 compiler...
-       mf/msgchk.c: was using NULL instead of ""
-       mf/mf.h: #include "../config/altos.h" on #ifdef ALTOS.
-       sbr/m_edit.c: use LINK instead of "@"
-       sbr/m_gmsg.c: use LINK instead of "@"
-       sbr/m_seq.c: was using NULL instead of ""
-       uip/clrsbr.c: use minimum of 2048 size for termcap buffer
-       uip/dist.c: use LINK instead of "@"
-       uip/install-mh.c: use (FILE *)NULL instead of NULL
-       uip/msh.c: don't #include <sys/ioctl.h> if ALTOS
-       uip/repl.c: use link instead of "@"
-       uip/rmf.c: use link instead of "@"
-
-
-Tue Nov  6 09:56:21 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       conf/mhconfig.c: add "oldload" option for ALTOS.
-
-
-Tue Nov  6 09:56:55 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/{m_edit.c,llib-lmh}: add extra argument for $cwd for edit.
-       uip/{comp,dist,forw,repl}.c: call pwd() and invoke m_edit with the
-           extra argument.
-
-
-Tue Nov  6 21:16:42 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/msh.c: call m_unknown() since advanced m_getfld() algorithm
-           loses otherwise (a long story).
-
-
-Tue Nov  6 21:33:39 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/dist.c: on "push" call ready_draft() prior to actual push()
-           since if dist is invoked from bbr the file being distributed
-           will get zapped prior to ready_draft() getting called.  Moby
-           hack.
-
-
-Wed Nov  7 20:12:04 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_draft.c: "Draft-Folder: +drafts" loses.  Strip the '+' if
-           need-be.
-
-
-
-Wed Nov  7 20:45:44 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/{clr,scan}sbr.c: read termcap to ascertain the length of the
-           scan line.
-       uip/trmsbr.c: used to be called uip/clrsbr.c
-
-
-Wed Nov  7 21:51:56 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/post.c: make Bcc:s look more line a forwarded message.
-       uip/mhl.c: add -forwall flag to help forw for batching. the -forward
-           flag now just uses the encapsulation algorithm.
-
-
-Thu Nov  8 16:59:37 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/bbc.c: trap sigTERM just like sigEMT so user can kill bbc and
-           "have the right thing happen".
-
-
-Sat Nov 10 16:10:33 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/trimcpy.c: remove all trailing [lt]wsp.
-
-
-Mon Nov 12 08:15:59 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/msh.c: msh$show didn't know about the `-form formfile' switch.
-
-
-Mon Nov 12 08:29:19 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       conf/makefiles/bbsupport: when MH profile was installed for the
-           BBoards login, the context file wasn't.
-       sbr/m_getdefs.c: if "context:" isn't set in the MH profile, then
-           don't complain if it's not there.
-
-
-Mon Nov 12 11:01:51 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/post.c: re-arrange the code a bit for better organization.
-
-
-Mon Nov 12 22:15:53 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-            -- All fixes from Fred Blonder at UMCP-CS --
-       conf/doc/mh.rf: add more details (mini tutorial).
-       sbr/{concat.c,llib-lmh}: use <varargs.h>
-       sbr/m_name.c: use simpler method, sprintf().  Also fix size of
-           name[] buffer.
-
-
-Tue Nov 13 00:08:01 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/{burst,msh}.c: fix bursting algorithm to support forwardings/bcc:s.
-       uip/{forw,mhlsbr,post}.c: strip one extra \n from last encapsulation
-           boundary.
-
-
-Tue Nov 13 00:58:41 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/msh.c: add "inc" and "mhmail" commands (big deal).
-
-
-Tue Nov 13 13:08:41 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       newsupport/mh_receive: make it generated during MH configuration.
-       conf/mhconfig.c: support above change.
-
-
-Tue Nov 13 18:58:43 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       tws/{tws.h,dtime.c}: move tws_compare() from uip/picksbr.c to
-           dtime.c, call it twsort().
-
-
-Tue Nov 13 21:05:53 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/msh.c: add "sortm" command.
-       uip/sortm.c: clean it up a bit.
-
-
-Wed Nov 14 10:23:19 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-          -- All suggestions from Phyllis Kantar at Rand --
-       mf/mf.{h,c}: add new field entry "note" for 822-style comments.
-       config/addrsbr.h: add corresponding field entry m_note.
-           also change m_hnum to m_type.
-       uip/addrsbr.c: add a new argument to getm() to say what type the
-           default host is.
-
-
-Wed Nov 14 13:30:00 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_convert.c: if "0" is given as a message number, print
-           special error message (for use with backquoted pick).
-       sbr/m_gmsg.c: be more careful about saying when "cur" exists.
-           (don't set "curmsg" unless "mp -> msgstats[curmsg] & EXISTS").
-
-
-Wed Nov 14 19:06:24 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_{gmsg,seq}.c: fix various logic bugs that prevented private
-           sequences from being recognized as such.
-
-
-Wed Nov 14 20:16:04 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/adios.c: for 4.2BSD use writev() on the adios() family of
-           routines, gives much smoother output.
-       uip/mhlsbr.c: call the adios() family of routines instead of
-           explicitly using stderr.
-
-
-Wed Nov 14 22:19:10 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_gmsg.c: undo curmsg "fix" above, it broke MH mightily!
-       sbr/m_convert.c: check curmsg here, so explicit references to
-           "cur", when it doesn't exist, fails.
-
-
-Wed Nov 14 23:24:56 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-          -- All suggestions from Phyllis Kantar at Rand --
-       sbr/{ssequal,uleq}.c: default arguments to "" if NULL.
-       uip/addrsbr.c: have ismymbox() recognize localhost!user.
-       uip/folder.c: have "folder -fast msg" set "msg" as cur.
-       sbr/m_getdefs.c: if using $MH, and it isn't relative,
-           after expanding it, setenv it to an absolute pathname for
-       subshells.
-
-
-Thu Nov 15 09:24:32 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-            -- More fixes from Fred Blonder at UMCP-CS --
-       sbr/concat.c: botched <varargs.h> installation for the pyramid.
-           use Fred's code.
-
-
-Thu Nov 15 09:29:43 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-                 -- Fixes from John Romine at TGC --
-       uip/{forw,mhlsbr}.c: using NULL instead of "" in a couple of
-           places.
-
-
-Thu Nov 15 12:11:58 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       mmdf/hosts.c: at the suggestion of Doug Kingston, use dm_v2route()
-           to map host references to official domain strings.
-
-
-Thu Nov 15 21:15:41 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-                 -- Fixes from John Romine at TGC --
-       sbr/m_getdefs.c: use (FILE *)NULL instead of NULL when testing
-           fopen()'s return value.
-
-
-Fri Nov 16 08:20:50 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_getdefs.c: close up COMPAT code slightly.
-       conf/makefiles/*: change "-cp $(BINDIR)/cmd zcmd" to use "-mv".
-           (On a trial basis.)
-
-Fri Nov 16 08:21:08 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-            -- More fixes from Fred Blonder at UMCP-CS --
-       conf/mhconfig.c: #define SVAL(s) to handle those pesky
-           de-references to NULL.
-
-
-Fri Nov 16 19:01:32 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/msh.c: remove -[no]burst switches.  Add "rmm" command, but don't
-           document it yet.  Still have to resolve a few problems.
-       
-
-Sat Nov 17 13:49:12 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       config/mh.h,uip/{folder,refile}.c: add NFOLDERS to denote max number
-           of folders/files on command line.
-
-
-Sat Nov 17 15:33:14 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/{mhl,trm}sbr.c: add sc_length() to return li#.  Have mhl
-           assume co# and li# based on termcap entry if not given on
-           command line.  If entries aren't present in termcap, use
-           values in template.
-
-
-Sat Nov 17 21:22:35 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       conf/makefiles/{mts,uip}: change PGMPROT to 755 for dpk.
-
-
-Sat Nov 17 22:43:11 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/msh.c: add msh$pack command.
-       uip/pack.c: simplify a bit.
-
-
-Sun Nov 18 15:00:07 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/pick.c: if -help, set -nozero so done() doesn't print "0".
-           Moby hack.
-
-
-Mon Nov 19 23:36:57 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/bbc.c: neaten handling of distribution addresses on
-           `-topics' output.
-
-
-Tue Nov 20 16:56:14 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       bboards/{bboards.h,getbbent.c}: change bboard structure to make
-           life easier for bbc.  Also add new structure for use with msh.
-
-
-Wed Nov 21 13:35:33 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       config/dropsbr.h: new include file
-       uip/dropsbr.c: add support for maildrop mapping
-       uip/dropsbr.c: add new parameter to mbx_open() for default mode on
-           creation
-       uip/{msh,pack,post,rcvpack,s{bboards,local}}.c: modify to use new
-           support for maildrop mapping
-
-
-Fri Nov 23 19:26:35 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/{bbc,post,prompter,rcvdist,rmail,{repl,scan}sbr,s{bboards,local}}.c:
-           minor clean-up
-
-
-Fri Nov 23 21:08:04 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-                  -- More Changes for the ALTOS --
-       config/altos.h: didn't work, idiotic V7 compiler (cpp) didn't do
-           "the right thing", so get rid of it and change the variable
-           names in-line
-       conf/config/mts.c: make isdlm{1,2} into macros instead of routines
-           in mf/mf.c; also move getusr() there.
-       conf/config/mts.c: make getfullname () standard and add new
-           mtstailor option, mailid, to do the BRL/NRTC stuff with
-           pw_gecos
-
-
-Sat Nov 24 09:59:31 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-                 -- Fixes from John Romine at TGC --
-       conf/mh-gen.8: include "dm.h" in list of include files for MMDF2
-       conf/mh-gen.8: typo "ggenerate"
-       conf/examples/READ-ME: BSD41a => BSD41A
-       conf/mhconfig.c: V7 compiler tosses its cookies on reasonably
-           formed structure members.  Fix
-       conf/config/config.c: remove comment about "pick -show"
-       conf/{config/config.c,doc/mh-profile.rf}, config/mh.h sbr/m_getdefs.c:
-           remove scanproc, since that's used only by "pick -scan" which does
-           not exist
-       conf/mhdoc: make into a Bourne shell script.
-
-
-Sat Nov 24 19:09:14 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/showfile.c: if lproc is "mhl", use mhlproc for consistency
-           (Actually, user should use "lproc: show", "showproc: mhl".)
-
-Sat Nov 24 22:29:09 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/mhlsbr.c: into the fold
-
-
-Sun Nov 25 13:28:47 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/{{mhl,trm}sbr,msh}.c: use and support SOprintf() for output
-           to terminal
-       uip/mhlsbr.c: add support for built-in mhl in msh, mhlsbr()
-       uip/msh.c: use new support for built-in mhl
-       sbr/m_getfld.c: some mis-logic in Eom(); if style is UNKNOWN,
-           ALWAYS figure out what it is prior to going on
-
-
-Sun Nov 25 19:30:46 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       bbsupport/bboards.{dai,week}ly: if the bboards login shell is csh,
-           can't use /bin/sh format...
-
-
-Sun Nov 25 23:36:59 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/{mhl,trm}sbr.c: move discard() from mhlsbr to trmsbr
-
-
-Mon Nov 26 10:20:07 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/send.c: add -[no]forward
-
-
-Mon Nov 26 12:26:28 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/mhlsbr.c: add -[no]bell
-
-
-Mon Nov 26 20:34:18 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/refile.c: new module; implements the "refile" option at "What
-           now?" level
-       uip/{comp,dist,forw,repl}.c: new switch -noedit, says to skip the
-           initial edit and proceed directly to "What now?" level.
-           Also make use of the new "refile" option at "What now?" level
-       uip/comp.c: support for JLR's comp from a folder/msg notion
-
-
-Tue Nov 27 14:19:18 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/post.c: ignore Fcc:s when disting
-
-
-Tue Nov 27 16:54:51 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_draft.c: add new result parameter which tells if a
-           draft-folder is being used
-       uip/{comp,dist,forw,repl,show,send,whom}.c: modified appropriately
-           for extra parameter; this info is needed to decide which prompt and
-           options to offer the user if the draft chosen exists
-
-
-Tue Nov 27 19:08:46 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/addrsbr.c: in addition to griping about bogus addresses in the
-           "alternate-mailboxes:" entry, add a line saying to fix it (and
-           where)
-       uip/scansbr.c: very minor cosmetic change in cpyfrm() for group
-           handling
-
-
-Tue Nov 27 19:22:51 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_getfld.c: add m_eomsbr() for msh$mhl for bursting (sigh)
-
-
-Tue Nov 27 20:44:45 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-                  -- More Changes for the ALTOS --
-       conf/makefiles/{mts,tws}: @(LDOPTIONS) was being left out of
-           LDFLAGS
-       config/aliasbr.h,uip/{ali,aliasbr}.c: prefix members of the aka
-           structure with ak_, prefix members of the adr structure with ad_
-       tws/tws.h: type "void" undefined
-       uip/rcv{dist,pack,tty}.c: include <sys/ioctl.h> only if not on
-           ALTOS
-       uip/ttyw.c: put everything under #ifdef TTYD
-
-
-Tue Nov 27 21:02:41 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/send.c: re-implement the -[no]unique switches for JLR.
-
-
-Wed Nov 28 00:15:25 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/trmsbr.c: always read termcap and do what we can.  When called
-           from in a non-interactive environment, do the right thing at
-           the right time...
-       uip/msh.c: call sc_width() at start-up to read good values from
-           trmsbr
-
-
-Wed Nov 28 08:24:04 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/refile.c: if +folder arg is forgotten, don't print usage
-           string.  Also add -draft switch.
-
-
-Wed Nov 28 11:28:56 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/mhlsbr.c: ignores wasn't being handled properly (logic bug)
-
-
-Wed Nov 28 19:57:44 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/rcv{pack,tty}.c: move inclusion of <sys/types.h> and
-           <setjmp.h> to the not MMDFMTS part, since "util.h" includes
-           'em
-
-
-Wed Nov 28 20:37:16 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/comp.c: restore old context-sensitive behavior
-
-
-Wed Nov 28 20:42:21 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       conf/makefiles/*: for installations, use mv -f to save backup
-
-
-Wed Nov 28 22:59:34 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/msh.c: add -draft argument to msh$refile; clean-up -draft
-           argument in msh$show
-       sbr/m_draft.c: call path() on value of Draft-Folder: so relative
-           folders work (!!)
-       uip/repl.c: expand fcc: @folder arguments
-       
-
-Thu Nov 29 01:55:12 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/pick.c: don't output that "0" on error exits if stdout is a
-           tty... (yep, pick acts differently for ttys, just like ls)
-
-
-Fri Nov 30 08:47:52 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/news.c: forgot to include mh.h; no one must be using it, love
-           to trash it from the distribution.
-
-
-                      -- Enter BETA Testing --
-
-
-Wed Dec  5 14:28:18 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       mts/msgchk.c, Makefile, conf/makefiles/mts: honor MF conventions
-           in msgchk, required MH sbr library
-       uip/inc.c: better check of umincproc
-       uip/{dist,forw,repl}.c: typo prevented annotation with the pyramid
-           cc
-       conf/makefiles/{bbsupport,uip}: give path to chown
-       uip/dropsbr.c: no diagnostic if map is empty
-       conf/config/mts.c, bboards/getbbent.c: more ALTOS stuff for v7 cc
-       sbr/m_getfld.c, uip/mhlsbr.c: botched pointer to function notation,
-           visible on v7 cc
-       bbsupport/bbexp.c: forgot to foil m_getdefs()
-       sbr/m_{setcur,seq}.c: handle "cur" correctly
-       sbr/m_getfld.c: in msh$mhl with a message with no body, big loss
-       uip/post.c: don't ask
-       sbr/m_getfld.c, conf/makefiles/sbr: use the mts stuff to
-           initialize the delimiter.  The programs that need this will
-           call mts_init() themselvess prior to calling m_getfld()
-
-
-Wed Dec  5 22:58:11 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/sbboards.c: on distribution, if a particular address loses,
-           keep on going and report the error later on.
-       bboards/mmdf/mmdf.{1,2}/bboards/bb_wtmail.c: in addition to above
-           fix to sbboards, post failure notices to the local-XXX-request
-           address.
-
-
-Fri Dec  7 00:25:24 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/{inc,show}.c: implement "unseen" for TGC.  This feature is
-           currently undocumented pending field-testing.
-
-
-
-Sat Dec  8 18:16:20 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/rcvtty.c: minor-cleanup
-
-
-Sat Dec  8 18:16:41 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       config/mh.h, tws/tws.h, conf/config/mts.c: remove the void
-           definitions
-       conf/Makefile, config/makefiles/*: remove -ns from LDFLAGS
-       conf/makefiles/uip: don't use the -g option for ls for
-           s{bboards,local}
-       conf/makefiles/*: use -l to ls not -ls
-
-
-Mon Dec 10 23:38:05 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       config/scansbr.h, uip/{inc,scansbr,send,post}.c: add support for
-           TTI's prototype TMA under #ifdef TMA
-       uip/tmasbr.c: new module for support
-
-
-Tue Dec 11 17:05:36 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/trmsbr.c: minor fix in discard() for #ifdef ALTOS
-
-
-Tue Dec 11 22:35:58 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-            -- Fixes from Julian Onions at Nottingham --
-       conf/makfiles/*: "ld -x -r" terminates with status 1 even if all
-           goes well, so tell make not to worry about it
-       config/mh.h,conf/examples/READ-ME: talk about void=int
-       uip/{msh,post,rcv{dist,pack,tty},slocal}.c: include <sys/ioctl.h> if
-           not V7
-
-
-Wed Dec 12 11:51:52 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       tws/{tws.h,dtime.c}: use modified version of gtime() to add new
-           structure element to (struct tws *).  This makes time
-           comparisons insensitive to timezones, etc.
-
-Thu Dec 13 00:05:42 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_getfld.c: big fields were having their headers zero'd
-
-
-Tue Dec 18 15:59:34 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_getfld.c, uip/scansbr.c: some speed improvements from Jim
-           Larus at UCB
-
-
-Tue Dec 18 16:00:07 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       bboards/getbbent.c, conf/config/mts.c, sbr/m_backup.c,
-           uip/dropsbr.c: for ALTOS "%.*s" doesn't work if * evals to 0,
-           so kludge around it
-
-
-Tue Dec 18 16:00:48 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/{bbc,msh}.c: for Farber, say name of BBoard not name of file
-
-
-Tue Dec 18 16:48:17 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       bboards/*.c, conf/config/mts.c, mhmts/*.c, mmdf/*.c, sendmts/*.c,
-           tws/*.c: register madness
-
-
-Wed Dec 19 12:49:42 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_getfld.c: advise() with inverted arguments
-
-
-Sat Dec 29 10:43:12 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/msh.c: improved $mhfolder handling for -prompt.
-
-
-Sat Dec 29 10:45:08 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_sync.c: handle public and read-only sequences correctly
-       uip/rmf.c: fix botch for handling read-only folders
-
-
-Sat Dec 29 12:17:50 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       conf/{config/config.c,doc/{folder,mh-profile}.rf}, sbr/m_getdefs.c,
-           uip/folder.c: fix folder -fast -recurse
-
-
-Sat Dec 29 16:56:59 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       conf/makefiles/sbr, config/mh.h, sbr/llib-lmh, sbr/closefds.c,
-           uip/{msh,post,rcvtty,replsbr,send,slocal,whom}.c: implement
-           closefds ()
-
-
-Sun Dec 30 11:50:57 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/post.c: one more -noverbose fix
-
-
-Sun Dec 30 12:01:08 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/sortm.c: fix for holes in "msgs" from Mike O'Brien
-
-
-Sun Dec 30 12:11:45 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/post.c: have non-recipient addresses honor aliases
-
-
-Sun Dec 30 19:52:27 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       conf/config/{config,mts}.c, mmdf/hosts.c, uip/trmsbr.c,
-           bboards/getbbent.c, config/mh.h: minor cleanup.
-
-
-Mon Dec 31 17:43:49 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       tws/{tws.h,dtime.c}: add dgmtime()
-
-
-Mon Dec 31 21:28:07 1984  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/packf.c, conf/doc/packf.c, conf/{config/config.c,makefiles/uip},
-           change pack to packf
-       config/mh.h: make MAXFOLDERS smaller for the ALTOS
-
-
-Wed Jan  2 13:20:42 1985  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/addrsbr.c: #ifdef DUMB inserted
-
-
-Fri Jan  4 16:28:49 1985  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/addrsbr.c: SENDMTS was botching UUCP addrs
-
-
-Mon Jan  7 19:05:22 1985  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       uip/inc.c: add -[no]truncate
-       conf/doc/*: change up documentation a bit
-
-
-Tue Jan  8 09:12:42 1985  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       conf/{mh-gen,doc/MH}.rf: last change, fix public domain notice
-       config/notice.h: remove
-       uip/version.sh: don't include ../config/notice.h
-
-
-Tue Jan  8 09:45:25 1985  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       sbr/m_edit.c: from Mike O'Brien on 4.2BSD use symlinks if "@" is
-           across file systems
-       uip/inc.c: slight botch in -[no]truncate
-
-Tue Jan  8 13:54:13 1985  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       MH.5 is finished, finally.
-
-
-Sat Jan 26 09:05:52 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-                 -- Fixes for MHMTS configuration --
-       conf/makefiles/uip: shouldn't build rcvdist on an MHMTS system
-       conf/doc/mhook.rf: ditto
-       conf/config/mts.c, mhmts/netmail.c, mts/mts.h, uip/rmail.c:
-           some typos in the declarations of global MTS variables that
-           are MHMTS specific
-       mf/mmuu.c: addr_convert() conflicted with routine of same name
-           in uumm.c
-       uip/news.c: looking in the wrong place for <sys/dir.h> on 4.2BSD
-           systems
-
-
-Sat Jan 26 09:08:43 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/{inc,post}.c: changes for #ifdef TMA; this stuff is still
-           under non-disclosure (not the MH code, just the -ltma library
-           which doesn't come with MH)
-
-
-Sat Jan 26 09:38:08 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       tws/dtime.c: #define dysize(), since could be a macro in ctime.c
-           (thanks, Fred)
-
-
-Sat Jan 26 09:12:27 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       MH #5.310[UCI] (uci-750a) released to MH-Workers
-
-
-Sun Jan 27 17:41:03 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       sendmts/smail.c, uip/post.c: with -DSMTP, keep one SMTP connection
-           open, instead of starting a new one for each transaction
-       othersupport/pop/{Makefile,{popd,popser,inc,popsbr}.c}: support
-           "rpop" under #ifdef RPOP
-       othersupport/pop/client.c: remove
-       conf/{config/mts.c,tailor/READ-ME,makefiles/sendmts}, mts/mts.h,
-           sendmts/{smail,client}.c: support new server search list
-           facility used by both -DSMTP and -DPOP
-
-
-Sun Jan 27 18:42:49 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       conf/makefiles/mts: dependency screw-up on mts.o
-
-
-Tue Feb 12 19:33:14 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/mhlsbr.c: clear_screen() logic between messages botched
-
-
-Mon Feb 18 12:53:50 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       conf/doc/send.rf, uip/send.c: de-implement ~/.signature support
-
-
-Wed Feb 20 20:40:14 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/inc.c: fix suggested by John Dilley at Purdue, inc now ignore
-           signals if it's going to zero the maildrop.
-
-
-Wed Feb 20 20:48:12 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       sbr/adios.c: save errno prior to doing fancy perror stuff
-
-
-Fri Mar  1 19:48:53 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/config/config.c: if MORE is defined, used that instead of
-           /usr/ucb/more.  The #ifdef ALTOS dependency is removed.
-          ALTOS users should use options MORE='"/usr/bin/more"',
-          just like users of the Dual.
-       conf/examples/READ-ME: document same
-
-
-Fri Mar  1 19:56:43 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/config/mts.c: for the DUAL, you can't link to a file that you
-           can't read, unbelievable, eh?, so change the creat (foo, 0000)
-           to creat (foo, 0400).  Also, fix up some botched args to a
-           sprintf() call.
-
-
-Fri Mar  1 19:59:32 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/trmsbr.c: forgot to make a termcap buffer TXTSIZ'd instead
-           of BUFSIZ'd.
-
-
-Sat Mar 1 20:21:17 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       MH #5.321[UCI] (uci-750a) released to MH-Workers
-
-
-Wed Mar  6 18:08:11 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/{dropsbr,packf,post,slocal}.c: fix to maildrop mapping bug
-           with MHMTS and local delivery in post, and SENDMTS and local
-           delivery in slocal
-
-Wed Mar  6 18:19:46 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       TODO, config/addrsbr.h, sendmts/smail.c, mf/mf.{c,h},
-           uip/{addrsbr,ap,post,rcvdist,sbboards}.c: handle 822-style
-           routing
-
-
-Wed Mar  6 18:59:22 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-              -- Fixes from Robert Elz <kre@ucb-vax> --
-       sbr/makedir.c: use mkdir() under #ifdef BSD42
-       uip/rmf.c: use rmdir() under #ifdef BSD42
-
-
-Sat Mar  9 15:36:13 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       bboards/mmdf/mmdf.{1,2}/bboards/bb_wtmail.c, uip/sbboards.c:
-           fix minor bug requiring nearly major re-write!!!
-
-
-Sat Mar  9 15:54:40 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/dropsbr.c: fix bug when fixing stomped maildrop.
-
-
-Tue Mar 12 18:07:44 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       othersupport/pop/pop.txt: a few minor corrections to typos.
-
-
-Wed Mar 13 22:01:37 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       -- Fixes suggested by Phyllis Kantar <phyl@rand-unix> --
-       uip/{comp,dist,forw,repl}.c: fix quit -delete logic
-       conf/doc/{comp,mh-chart}.rf: document "-file file" switch
-       uip/send.c: "send -help" should done (1) for comp, et. al.
-       uip/send.c: typo "tempoary"
-       conf/doc/{send,whom}.rf: Profile Components forgot Draft-Folder
-       uip/ali.c: always load system aliases
-       conf/doc/{MH,comp,dist,forw,mhook,repl,send,show,mh-alias,mh-mail,
-           mh-profile,mhl,post}.rf: typo fixes
-       conf/doc/send.rf, uip/send.c: -forward now the default, also
-           don't gripe about "show -draft file"
-
-
-Wed Mar 13 22:24:07 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/send.c: fix "use xxx logic"
-       uip/msh.c: a NULL vs. "" typo
-
-
-Thu Mar 14 22:41:37 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-          -- Fixes suggested by John Dilley <jad@Purdue> --
-       conf/{config/mts.c,tailor/READ-ME}: add new mtstailor variables
-           localname, systemname, and uucpchan
-       mts/mts.h, conf/{mh-gen.8,config/{mts.c,mtstailor},tailor/READ-ME}:
-           add new mtstailor variable lockstyle to control style of locking
-       sbr/m_getfld.c: catch the UNIX "from user" line
-       uip/scansbr.c: make use of the UNIX "from user" line
-       uip/addrsbr.c: more #ifdef DUMB support
-       uip/inc.c: minor bug in inc w.r.t. closing locked file
-       uip/post.c: more #ifdef DUMB support
-       uip/replsbr.c: support Return-Path: for defaulting host names
-           as a last resort
-
-
-Fri Mar 15 11:45:00 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       othersupport/emh/READ-ME: new file
-
-
-Fri Mar 15 23:05:43 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       bbsupport/bbexp.c: fix string botch for command to popen.
-           also allow extra arguments to indicate aging period.
-
-
-Fri Mar 15 23:21:29 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       sbr/printsw.c: compress output of printed switches
-       sbr/m_getdefs.c: let $MHCONTEXT override context variable
-       sbr/m_{getdefs,gmsg,sync}.c, conf/doc/mh-profile.rf: let the profile
-           entry "mh-sequences" override .mh_sequences
-       sbr/m_seq.c: optimization
-
-
-Sat Mar 16 00:28:01 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/{inc,msh,rcvtty,scan,scansbr}.c: clean up handling of
-           inc -silent
-       sbr/{llib-lmh,m_send.c}, uip/{annosbr,comp,dist,forw,repl}.c: move
-           annotations into send
-       conf/makefiles/uip, uip/{send,post}.c: ditto
-       conf/doc/{dist,forw,repl}.rf: ditto
-       uip/anno.c: forgot to check (mp -> msgstats[msgnum] & SELECTED)
-
-
-Sat Mar 16 01:38:06 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/config/mts.c: add a few calls to mts_init ("mts") at
-           strategic places
-
-
-Sat Mar 16 12:23:37 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/{mark,msh}.c: don't set previous-sequence to make debugging
-           easier
-
-
-Sat Mar 16 12:49:48 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       Makefile: simply Makefile using sh, also make DESTDIR work
-       conf/makefiles/othersupport: simplify Makefile
-
-
-Tue Mar 19 14:17:30 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       othersupport/mtrenv/bin/{distf,mpick,packit}: updates
-
-
-Tue Mar 19 17:31:14 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/doc/{ap,mh-chart}.rf, uip/ap.c: accept -help switch
-
-
-Tue Mar 19 18:16:33 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/doc/msgchk.rf: new file
-       conf/{doc/{mh,mh-chart,MH}.rf,makefiles/doc}: update for msgchk
-
-
-Thu Mar 21 08:45:11 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       sendmts/smail.c: fix logic error in sm_end(); MMDF-I has this
-           problem, MMDF-II might!
-
-
-Sat Mar 23 12:48:30 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-                   -- Support the WhatNow shell --
-       conf/makefiles/{sbr,uip}: updates for all of this
-       uip/{comp,dist,forw,repl}.c: remove What now? code,
-           add -whatnow program, -nowhatnow
-       sbr/m_whatnow.c: new module
-       conf/config/config.c,config/mh.h,sbr/m_getdefs.c: new variable
-           whatnowproc
-       sbr/llib-lmh: update
-       uip/whatnow.c: new program, the first WhatNow shell
-       conf/doc/{mh-chart,whom}.rf, uip/whom.c: upgrade to take draftfolder
-           arguments
-       sbr/putenv.c: update for above
-       sbr/m_send.c: undo previous edits, m_whatnow() takes care of it
-       uip/distsbr.c: new module for dist-style support
-       uip/{send,whom}.c: call distout() in distsbr.c
-       conf/doc/whatnow.rf: new file
-       conf/doc/{MH,comp,dist,forw,mh,mh-{chart,profile},repl}.rf: updates
-       conf/doc/template: fix
-
-
-Sun Mar 24 18:32:47 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       sbr/m_draft.c,
-           uip/{comp,dist,forw,refile,repl,send,show,whatnow,whom}.c: have
-           -nodraftfolder override "Draft-Folder:" profile entry
-
-
-Mon Mar 25 18:06:48 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       mf/mf.c: avoid (incorrectly) recognizing " at " for "@" by using a
-           heuristic suggested by JSol.
-
-
-Tue Mar 26 18:02:52 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/doc/repl.rf: document bug in replcomps
-
-
-Tue Mar 26 18:32:49 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/{config/mts.c,tailor/READ-ME}, config/aliasbr.h, mts/mts.h, 
-           uip/aliasbr.c: make "*" logic mts-tailorable (ugh), you get
-           to choose highest non-user uid and non-user shell
-
-
-Wed Apr  3 23:52:13 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       sendmts/smail.c: comment out an extra RSET for UCI's losing
-           MMDF-I SMTP server
-
-
-Wed Apr  3 23:53:12 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       ohtersupport/mtrenv/bin/whatnow: new file
-
-
-Sat Apr  6 16:17:23 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       MH #5.348[UCI] (uci-750a) released to MH-Workers
-
-
-Fri Apr 19 18:27:16 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/{config/mts.c,tailor/READ-ME}, mts/mts.h, uip/inc.c:
-           support the new MTS variable "pophost"
-
-
-Fri Apr 19 18:28:44 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       bboards/bboards.h, uip/bbc.c: support BB_INVIS for "hidden"
-           BBoards in -topic
-       uip/bbc.c: catch a long name that got past us
-       uip/bbc.c: fix -topics logic when BBoards given
-
-
-Fri Apr 19 18:32:13 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/doc/MH.rf, sbr/m_send.c: de-implement "push" in whatnow
-           having send look for profile-entry of "push" rather than "send"
-           to confusing to the user "community"
-
-
-Fri Apr 19 19:13:44 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/post.c: more #ifdef DUMB madness, for local addresses,
-           if no host portion given, then don't give it to sm_wadr()
-       uip/post.c: back #ifdef DUMB off a bit in From: for MMDFMTS
-
-
-Fri Apr 19 19:23:39 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/whatnow.c: if edit fails, it's time to go away
-       sbr/m_edit.c: minor cosmetic change
-
-
-Fri Apr 19 19:44:25 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/send.c: on annotations, if push'd avoid getting upset
-           if message to annotate isn't there
-       uip/send.c: fix "typo" for r1bindex ()
-       uip/send.c: put ~/.signature support back in under #ifdef UCI
-       uip/send.c: use mktemp() instead of bogus makename!
-       uip/send.c: fix screwy interaction between msh, dist, whatnow,
-           and send (oh no!)
-
-
-Sat Apr 20 14:46:10 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       sbr/m_send.c, uip/whatnow.c: on "push", let send do push() instead
-           of whatnow
-
-
-Wed Apr 24 22:44:30 1985  /mtr (agent: Marshall Rose) <uci@nrtc>
-
-       sbr/m_whatnow.c, uip/{dist,forw,repl}.c: fix obscure "@" bug.
-
-
-Wed Apr 24 22:45:39 1985  /mtr (agent: Marshall Rose) <uci@nrtc>
-
-       conf/doc/MH.rf: just a few more fixes...
-
-
-Thu May  2 21:13:03 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/sbboards.c: fdopen() called with wrong arg!
-
-
-Thu May  2 21:13:32 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/post.c: a few more back-offs with #ifdef DUMB...
-
-
-Thu May  2 21:13:32 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/makefiles/uip: make whatnow chmod +t'd
-
-
-Thu May  2 21:14:56 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       MH #5.360[UCI] (uci-750a) released to MH-Workers
diff --git a/docs/historical/mh5/Makefile b/docs/historical/mh5/Makefile
deleted file mode 100644 (file)
index 5eb4134..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#######################################################################
-# Instructions to Make, for generation of nice-looking papers using TeX
-#######################################################################
-
-.SUFFIXES:     .pic .web .tex .dvi
-
-.pic.tex:;     tpic $<
-
-.web.tex:;     sh -c 'if weave $<; then exit 0; else rm $@; exit 1; fi'
-
-.tex.dvi:;     sh -c 'if TEXINPUTS=../doclib:.:${TEXINPUTS} tex \
-                       \\nonstopmode\\input $<\\bye; \
-                         then exit 0; else rm $@; exit 1; fi'
-
-
-#############################################################
-# Here it is...
-#############################################################
-
-all:           i-all
-print:         i-print
-
-
-#############################################################
-# mh5
-#############################################################
-
-i-all:         mh5.dvi
-
-i-print:       mh5.dvi true
-               dvisp -J mh5 mh5.dvi
-
-i-count:       true
-               detex text.tex | wc -cw
-
-
-# customization files, et. al., not included below
-mh5.dvi:       version.tex
-
-version.tex:   mh5.tex text.tex diagram1.tex diagram2.tex refs.tex version.sh
-               @: version.sh
-
-true:;
-
-
-
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-               rm -f mh5.dvi mh5.imp
-
-clean:;                rm -f CONTENTS.tex FIGURES.tex \
-                       mh5.lof mh5.log mh5.lot mh5.toc _*
diff --git a/docs/historical/mh5/diagram1.tex b/docs/historical/mh5/diagram1.tex
deleted file mode 100644 (file)
index c0a620a..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-% diagram 1
-
-\verbatim
-From:     @(digest)-Request
-To:       @(digest) Distribution: dist-@(digest);
-Subject:  @(digest) Digest V@(volume) #@(issue)
-Reply-To: @(digest)
---------
-@(digest) Digest     @(date)      Volume @(volume) : Issue @(issue)
-
-Today's Topics:
-?endverbatim
diff --git a/docs/historical/mh5/diagram2.tex b/docs/historical/mh5/diagram2.tex
deleted file mode 100644 (file)
index 1d3467e..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-% diagram 2
-
-\verbatim
-width=80,length=0,overflowtext=,overflowoffset=0
-Date:leftadjust,compress,compwidth=9
-From:leftadjust,compress,compwidth=9
-Subject:leftadjust,compress,compwidth=9
-:
-body:nocomponent,overflowtext=,overflowoffset=0
-?endverbatim
diff --git a/docs/historical/mh5/mh5.tex b/docs/historical/mh5/mh5.tex
deleted file mode 100644 (file)
index 49b63df..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-% run this through PhD-TeX
-
-\input dcustom
-\articlestyle
-\drafttrue
-\input version
-
-\input sfwmac
-
-\header
-    Changes to\\
-       The Rand MH Message Handling System:\\\\
-       MH.5\title
-    Marshall T.~Rose$^\dagger$\author
-    \versiondate/\info
-\footnote{}{\hskip -\parskip $^\dagger$ Computer Mail: {\tx MRose@ICS.UCI.EDU}.}
-
-\centerline{\sc Abstract}
-{\rightskip=0pt\narrower\narrower
-\noindent
-This document describes the user-visible change to the
-UCI version of the Rand \MH/ system that were made from \mh4 to \mh5.
-This document does not describe bug-fixes, per se,
-or internal changes,
-unless these activies resulted in a visisble change for the \MH/ user.
-
-This document is meant to supplement,
-not supersede, the standard \MH/ user manual\cite{MH}.
-
-Comments concerning this documentation should be addressed to the Internet
-mailbox {\sf Bug-MH@ICS.UCI.EDU}.
-\par}
-
-\input text
-\input refs
-\printcontents
-\unskip\footnote{}{\hskip -\parskip This document (version \versiontag/)
-was \TeX set \today\ with DISS.STY v\version.}
-\showsummary
-
-\bye
diff --git a/docs/historical/mh5/refs.tex b/docs/historical/mh5/refs.tex
deleted file mode 100644 (file)
index ea546ed..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-\let\journalinfo=\jourinfo
-\let\thesis=\book                      % experimental
-\let\thesisinfo=\bookinfo              %  ..
-
-\references
-
-\ref{MH}
-\by M.T.~Rose, J.L.~Romine.
-\paper The Rand \MH/ Message Handling System: User's Manual
-\paperinfo UCI Version
-\other
-\publ Department of Information and Computer Science
-\publaddr University of California, Irvine
-\month July\year 1984
-\endref
-
-\ref{MH.BB}
-\by M.T.~Rose.
-\paper The Rand MH Message Handling System: The UCI BBoards Facility
-\other
-\publ Department of Computer and Information Sciences
-\publaddr University of Delaware
-\month October\year 1984
-\endref
-
-\ref{MH.TUT}
-\by M.T.~Rose.
-\paper The Rand MH Message Handling System: Tutorial
-\other
-\publ Department of Computer and Information Sciences
-\publaddr University of Delaware
-\month October\year 1984
-\endref
-
-\endreferences
diff --git a/docs/historical/mh5/text.tex b/docs/historical/mh5/text.tex
deleted file mode 100644 (file)
index 79c4156..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-% begin text
-\banner
-\section{Acknowledgements}
-The \MH/ system described herein is based on the original Rand \MH/ system.
-It has been extensively developed (perhaps too much so) by Marshall Rose and
-John Romine at the University of California, Irvine.
-Einar Stefferud, Jerry Sweet, and Terry Domae provided numerous suggestions
-to improve the UCI version of \MH/.
-
-\section{Disclaimer}
-The Regents of the University of California wish to make it known that:
-\bigquote
-Although each program has been tested by its contributor,
-no warranty, express or implied,
-is made by the contributor or the University of California,
-as to the accuracy and functioning of the program
-and related program material,
-nor shall the fact of distribution constitute any such warranty,
-and no responsibility is assumed by the contributor
-or the University of California in connection herewith.
-\endbigquote
-
-\section{Conventions}
-In this document,
-certain \TeX -formatting conventions are adhered to:
-\smallskip
-{\advance\leftskip by\parindent
-\item{1.} The names of \unix/ commands, such as \pgm{comp},
-are presented in {\it text italics}.
-\item{2.} Arguments to programs, such as \arg{msgs},
-are presented in {\tt typewriter style} and delimited by single-quotes.
-\item{3.} \unix/ pathnames and envariables,
-such as \file{/usr/uci/} and \file{\$SIGNATURE},
-are presented in {\sl slanted roman}.
-\item{4.} Text presenting an example, such as
-\example comp\ -editor\ zz\endexample
-is presented in {\tt typewriter style}.
-\smallskip}
-
-\bop\section{General Changes}
-The author is pleased to announce that there are actually very few
-user-visible changes to \mh5 from the \mh4 distribution.
-The majority of \mh5 development was in the form of bug fixes and slight
-generalizations.
-In addition, \mh5 is somewhat faster than \mh4:
-all programs have been speeded-up slightly,
-a few, such as \pgm{msh}, have been speeded-up signficantly.
-
-\subsection{Library Paths}
-When a filter or form file argument is given to an \MH/ program,
-and the name specified is not absolute (doesn't start with a \file{/\/}),
-then the \MH/ program will first check in the user's \MH/ directory.
-If the file is not present,
-then program will consult the standard \MH/ library for the file.
-This convention allows the PostMaster to make available system-wide
-templates and skeletons.
-
-\subsection{MH Directory}
-If the \MH/ directory of a user doesn't exist,
-then \MH/ will query the user if it should be created.
-This is primarily useful when copying a \profile/ from one host to another,
-or when the site administrator creates a \profile/ for a user when creating
-the associated login.
-
-\subsection{Documentation}
-Two new documents have been prepared for the \mh5 distribution:
-{\sl The Rand MH Message Handling System: Tutorial},
-which is cited as \cite{MH.TUT};
-and,
-{\sl The Rand MH Message Handling System: The UCI BBoards Facility},
-which is cited as \cite{MH.BB}.
-The former is a useful tutorial for novice users of \MH/.
-The latter describes BBoard handling and \MH/.
-
-\section{Draft Handling}
-This section discusses how the handling of drafts has been changed in \mh5.
-
-The most important change is that the {\it draft-folder} notation
-and the {\it push} option at \whatnow/ level have been explicitly made
-visible in the \MH/ system.
-There's a new profile entry called \eg{Draft-Folder} which defines the
-default draft-folder for the \MH/ user.
-By using this entry, such as \example Draft-Folder:\ +drafts\endexample
-the \MH/ user needn't add \switch{draftfolder\ drafts} to the entries
-for \pgm{comp}, \pgm{dist}, \pgm{forw}, and \pgm{repl} in the user's
-\profile/ file.
-
-\subsection{What Happens if the Draft Exists}
-A new option has been added to \pgm{comp}, \pgm{dist}, \pgm{forw}, and
-\pgm{repl} when the draft already exists: \eg{refile\ +folder}.
-This allows you to \pgm{refile} the draft into another folder and then get a
-fresh draft.
-
-\subsection{Editing Environment}
-In previous versions of \MH/,
-when \pgm{comp}, \pgm{dist}, \pgm{forw}, and \pgm{repl} allowed the user to
-edit the draft,
-the \MH/ user's current working directory was somewhere inside of the user's
-\MH/ directory.
-This often lead to confusing results.
-In \mh5,
-when the user edits a draft,
-the current working directory is unchanged.
-Furthermore, two envariables are defined during the editing session for
-\pgm{dist} and \pgm{forw}:
-\file{\$editalt},
-which is the name of the message (\unix/ file) being distributed or replied-to;
-and,
-\file{\$mhfolder},
-which is the name of the folder (\unix/ directory) containing the message
-being distributed or replied-to.
-
-\subsection{Rapid Composition}
-The \pgm{prompter} command has two new switches \switch{rapid} and
-\switch{norapid}.
-If the \switch{rapid} option is given then \pgm{repl} won't display an
-existing body of the draft being edited.
-This is useful for using \pgm{forw} with a slow terminal.
-
-\subsection{Ultra Rapid Composition}
-The \pgm{comp}, \pgm{dist}, \pgm{forw}, and \pgm{repl} commands have a new
-option, \switch{noedit}.
-If \switch{noedit} is given,
-then the initial edit is supressed.
-This is useful for various canned applications
-(and perhaps more graceful than \switch{-editor /bin/true\/}).
-
-\subsection{Digest Generation}
-The \pgm{forw} command has the beginnings of a digest-composition facility,
-with the \switch{digest\ list}, \switch{issue\ number},
-and \switch{volume\ number} switches.
-
-If \pgm{forw} is given the argument \eg{list} to the \switch{digest} switch,
-and the \switch{issue\ number} switch is not given,
-then \pgm{forw} looks for a profile entry called
-\eg{digest-issue-list:} and increments its value to use as the issue
-number.
-Similarly,
-if the \switch{volume\ number} switch is not given,
-then \pgm{forw} looks for \eg{digest-volume-list:}
-(but does not increment its value) to use as the volume number.
-
-Having calculated the name of the digest and the volume and issue numbers,
-\pgm{forw} will look for a profile entry called \eg{sedproc:}
-(which defaults to \pgm{/bin/sed\/})and filter the components file
-(as specified with the \switch{form\ formfile} switch)
-with the following definitions:
-\eg{@(digest)}, \eg{@(issue)}, \eg{@(volume)}, and \eg{@(date)}.
-
-\tagdiagram{1}{Sample skeleton for digest composition}{digestcomps}
-A good components file to use, (which might be called \file{digestcomps\/}) is
-shown in Figure~\digestcomps.
-
-\pgm{Forw} will now compose the draft,
-using the standard digest encapsulation algorithm
-(even putting a \eg{End of list Digest} trailer in the draft).
-Once the draft is composed by \pgm{forw},
-it writes out the volume and issue profile entries for the digest,
-and then invokes the editor.
-
-\tagdiagram{2}{Sample template for digest messages}{mhldigest}
-Naturally, when composing the draft,
-the \pgm{forw} program will honor the\hbreak
-\switch{filter\ filterfile} switch,
-which is given to \pgm{mhl} to filter each message being forwarded prior to
-encapsulation in the draft.
-A good filter file to use, (which might be called \file{mhl.digest\/})
-is shown in Figure~\mhldigest.
-
-\subsection{Replies}
-The \pgm{repl} command has two new switches \switch{query} and
-\switch{noquery}.
-If the \switch{query} option is given then for each address that would go in
-the \eg{cc:} field of the reply,
-\pgm{repl} asks the user if the address should be included.
-This is sometimes useful for replying to mail sent to a large number of people.
-(Obviously, one could simply edit the draft produced by \pgm{repl},
-but the \switch{query} option is useful if \pgm{prompter} is the editor used
-by \pgm{repl} and one doesn't want to invoke a second editor.)
-
-Previous versions of \pgm{repl} would terminate if a \eg{From:} or
-\eg{Sender:} field was not found or could not be parsed.
-The \pgm{repl} program in \mh5 will continue to compose the reply draft,
-after advising you of this anomaly.
-
-\subsection{Blind Carbon Copies}
-After much experimentation, \MH/ has finally stabilized on the format of
-blind-carbon-copies.
-As in \mh4, when \pgm{post} generates a draft for blind recipients,
-a new draft is composed with a minimal set of headers.
-In \mh5 however, the \eg{BCC-Disclaimer:} field is no longer used.
-Instead, the draft for the blind recipients contains the original message as a
-forwarded message.
-This more clearly identifies a blind-carbon-copy to the blind recipient.
-
-\subsection{File Carbon Copies}
-A message draft can now have more than one folder listed in a \eg{Fcc:} field.
-Each folder should be separated by a comma, just like the addresses in a
-\eg{cc:} field.
-In addition, the folders listed in a \eg{Fcc:} field may use the
-relative-folder addressing notation
-(though this latter activity is not recommended).
-
-\subsection{Refiling the Draft}
-At \whatnow/ level, there is a new option, \eg{refile}.
-This options takes any arguments acceptable to the \pgm{refile} program,
-and \pgm{refile\/}'s the message draft into the named folder(s).
-
-\subsection{Annotations}
-If the \switch{annotate} switch is given to \pgm{dist}, \pgm{forw}, or
-\pgm{repl}, and the message is (re)moved by the user prior to the successful
-posting of the draft, the \MH/ program will not complain as before.
-Hence, users of the \eg{push} option at \whatnow/ level need not worry about
-asynchronous error messages.
-
-\section{Other Changes}
-This last section describes the other more program-specific changes made to
-\MH/.
-
-\subsection{Bursting}
-The bursting mechanism in \MH/ has been made sufficiently general to allow
-\pgm{burst} to work on forwarded messages and blind-carbon-copies in addition
-to digests.
-Although \pgm{burst} can not always successfully decapsulate messages
-encapsulated by sites not running \MH/,
-it handles forwarded messages and blind-carbon-copies,
-as constructed by \pgm{forw} and \pgm{send}, easily.
-
-In addition, the \pgm{send} program has two new switches,
-\switch{forward}, and \switch{noforward}.
-If the \switch{forward} option is given,
-then if a \pgm{send} which has been \pgm{push\/}'d in the background fails,
-in addition to containing the reasons for the failure,
-the failure notice contains the draft as a forwarded message.
-This means one can simply \pgm{burst} the failure notice to get the draft
-back,
-instead of hunting around for it.
-
-\subsection{Incorporation of Mail}
-There's a new profile entry called \eg{MailDrop} which can be used to define
-the default maildrop that \pgm{inc} should use.
-In addition, if the envariable \file{\$MAILDROP} is defined,
-then \pgm{inc} will use its value as the default maildrop.
-
-The \pgm{inc} program also has a new option:
-\switch{truncate} and \switch{notruncate},
-which indicates if the maildrop should be truncated.
-By default, \switch{truncate} is used defualt maildrop is used,
-otherwise \switch{notruncate} is used.
-
-\subsection{Clearing the Display}
-The \switch{ff} and \switch{noff} switches have been removed from the
-\pgm{scan} and \pgm{mhl} programs.
-Instead, the \pgm{scan} has been given two switches,
-\switch{clear} and \switch{noclear}
-(\pgm{mhl} already has these switches).
-The action of the \switch{clear} option is simple:
-if the standard output to the \MH/ program is a terminal,
-then the program will output the correct ``escape sequence'' to clear the
-terminal's screen;
-if the standard output is not a terminal,
-then the program will output a formfeed.
-
-In addition,
-both \pgm{scan} and \pgm{mhl} consult the \file{\$TERM} envariable to
-determine such things as the length and width of your terminal.
-The \pgm{scan} program uses this to determine how long each line of the scan
-listing should be.
-The \pgm{mhl} program uses this to determine the default length and width
-of your terminal (instead of the $40$ by $80\/$),
-prior to reading the template or consulting command line options.
-
-\subsection{Folder Handling}
-If the \pgm{folder} command is given the name of a folder that does not exist,
-\pgm{folder} will query the user if the folder should be created.
-This is useful for creating a folder that the \MH/ user intends to access
-later.
-
-In previous releases of \MH/,
-the \pgm{rmf} program would consider a folder writable if it was writable by
-the user.
-Since \pgm{rmf} ultimately removes the folder itself,
-\pgm{rmf} considers a folder writable if the folder and its parent are
-writable by the user.
-If not, the folder is treated as a read-only folder by \pgm{rmf}.
-
-\subsection{MailDrops}
-The name of the \pgm{pack} program has been changed to \pgm{packf}.
-The author didn't want to do this.
-Some people don't know when to leave well enough alone.
-
-\subsection{Refiling}
-The \pgm{refile} program now has a \switch{draft} switch saying to file the
-current draft.
-
-\subsection{RcvMail Support}
-In addition to the standard \pgm{rcvpack} and \pgm{rcvtty} receive mail hooks,
-and the \pgm{rcvtrip} shell script,
-there's a new rcvmail hook called \pgm{rcvdist}.
-The \pgm{rcvdist} hook allows a user of \MH/ to have his/her mail forwarded
-without the intervention of the PostMaster.
-(By the way, the \pgm{rcvpack} hook used to be called \pgm{rcvcron\/}.)
-
-\subsection{Reading BBoards}
-The \pgm{msh} program (which used to be called \pgm{bbr\/})
-implements an \MH/ shell.
-In addition to the commands that the old \pgm{bbr} program had,
-\pgm{msh} also has the
-\pgm{inc}, \pgm{mhmail}, \pgm{pack}, \pgm{rmm} and \pgm{sortm} commands.
-
-In addition, \pgm{msh} uses a ``maildrop mapping'' mechanism to
-significantly speed-up its start-up time compared to the old \pgm{bbr}.
-The \pgm{pack} program supports this mechanism as well,
-so \pgm{msh} starts quickly on ordinary \pgm{pack\/}'d files as well.
-
-Finally, \pgm{mhl} is now built-in to \pgm{msh},
-so with a \eg{showproc} of \pgm{mhl},
-the \pgm{msh} user gets speedy response in listing messages.
diff --git a/docs/historical/mh5/version b/docs/historical/mh5/version
deleted file mode 100644 (file)
index aabe6ec..0000000
+++ /dev/null
@@ -1 +0,0 @@
-21
diff --git a/docs/historical/mh5/version.sh b/docs/historical/mh5/version.sh
deleted file mode 100644 (file)
index 9ec1e79..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-if [ ! -r version ]; then echo 0 > version; fi
-touch version
-echo '\catcode`\#=12' > version.tex
-awk '  { version = $1 + 1; }\
-END    { printf "\\def\\versiontag/{#1.%d}%%\n", version >> "version.tex"; \
-         printf "%d\n", version > "version"; }' < version
-echo '\def\versiondate/{'`date`'}%' >> version.tex
-echo '\catcode`\#=6' >> version.tex
-echo '\tell{Version \versiontag/ of \versiondate/}' >> version.tex
diff --git a/docs/historical/mh5/version.tex b/docs/historical/mh5/version.tex
deleted file mode 100644 (file)
index dfd3194..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\catcode`\#=12
-\def\versiontag/{#1.21}%
-\def\versiondate/{Wed Nov 14 08:55:30 EST 1984}%
-\catcode`\#=6
-\tell{Version \versiontag/ of \versiondate/}
diff --git a/docs/historical/mh6.5/MHCHANGES b/docs/historical/mh6.5/MHCHANGES
deleted file mode 100644 (file)
index f9e4812..0000000
+++ /dev/null
@@ -1,1052 +0,0 @@
-                      MHCHANGES from MH 6.1 to MH 6.3
-
-
-Tue Nov 12 11:24:46 1985  /mtr <mrose@nrtc-gremlin>
-
-       MH 6.1 is official.
-
-
-Fri Nov 15 19:14:44 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/{rcvtty,slocal}.c: touch-ups
-
-
-Sun Nov 17 16:28:23 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/{ap,mhl,repl,scan}.rf: note that #ifdef BERK kills
-           address parsing
-       conf/makefiles/{doc,uip,support/*,zotnet/*}: make tar command visible
-       sbr/m_convert.c: oops, new message numbering resulted in bad
-           diagnostic
-       papers/*/Makefile: fix LaTeX rule for v2.08
-
-
-Tue Nov 19 23:06:16 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/send.c: de-referencing NULL due to bad precedence, tsk
-
-
-Wed Nov 20 10:58:40 1985  /mtr <mrose@nrtc-gremlin>
-
-       MH 6.1 covert update for sbr/m_convert.c, uip/send.c
-
-
-Sun Nov 24 18:58:41 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/slocal.c: some tuning, also fix a bug in usr_pipe()
-       uip/dropsbr.c: have mbx_copy support noisy
-       uip/{packf,post,rcvpack,sbboards,slocal}.c: use this change
-
-
-Tue Nov 26 00:22:17 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/refile.c: oops, forgot copy-back on optimzied m_remsg
-
-
-Sat Nov 30 22:36:49 1985  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/tws/dtime.c: add #ifdef INETONLY
-       uip/post.c: for #ifdef BERK don't say {Local,UUCP,Network}
-           Recipients
-       conf/doc/sortm.rf: note problem with errors
-       uip/bbc.c: for getbbvis() insist on readability
-       support/bboards/bbexp.c: oops, calling pick wrong
-       conf/doc/pick.rf: document -datefield anomaly
-       conf/makefiles/support/bboards: oops, left context owned by root
-       h/mh.h: ruserpass -> _ruserpass for SUN.  why?
-
-
-Sun Dec  1 07:58:50 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/vmh.c: remove double-scroll
-       uip/annosbr.c: oops, closing fd: without unlocking!
-       sbr/makedir.c: plug an obscure security hole in inc
-       uip/mhlsbr.c: read_termcap being called prematurely
-       zotnet/tws/dtime.c: load tw_sday appropriately
-       zotnet/tws/*.c: try using numeric timezone for official renditions,
-           under #ifdef MTR for now
-
-
-Sun Dec  1 16:11:03 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/inc.c: more idiotic de-referncing of NULL, found on SUNs
-       uip/replsbr.c: ditto
-       uip/show.c: recognize more of mhl's switches
-
-
-Wed Dec  4 23:38:06 1985  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/mts/mts.h: oops for MMDFONLY
-       conf/{mh-gen.8,makefiles/zotnet/mts}: talk about -Dlocname
-
-
-Thu Dec  5 19:55:11 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/scansbr.c: fix machine dependency pointed out by Chuck Collins
-       dist/READ-ME: new file talking about make bug
-       COVER-LETTER, conf/{mh-gen.8,doc/MH.rf}: change UCI -> UCI.EDU
-
-
-Fri Dec  6 11:08:20 1985  /mtr <mrose@nrtc-gremlin>
-
-       support/bboards/mmdfII/gen: wrong filename
-
-
-Sun Dec  8 18:39:01 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/send.c: always remove dist file
-       uip/vmh.c: work on erase-word handling, a bit
-       uip/folder.c: -fast -vs- -pack fixup
-       uip/mhlsbr.c: %text defined for date fields
-
-
-Tue Dec 10 18:39:37 1985  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/mts/client.c: moved from mts/sendmail/client.c
-       conf/makefiles/{mts/sendmail,zotnet/mts}: changed
-       mts/support/llib-lsendmail, zotnet/mts/llib-lmts: changed
-       mts/sendmail/client.c: 4.2BSD specific only!
-       conf/config/mts.c, zotnet/mts/mts.h: update
-       conf/mhconfig.c: update
-       conf/Makefile: simplify
-
-
-Tue Dec 10 21:11:45 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/mh-gen.8: clear up some sys5 stuff
-       zotnet/mf/umhook.c: sys5-ize
-       uip/addrsbr.c: alternate-mailboxes: defaulted wrong under #ifdef
-           BERK, it's now "<userid>*"
-       conf/doc/mh-profile.rf: fix documentation to reflect reality
-
-
-Tue Dec 10 22:38:23 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/addrsbr.c: normalize a bit (finally)
-       uip/addrsbr.c: new routine adrsprintf() to remove #ifdef BANG
-               dependencies
-       uip/{post,rcvdist,replsbr,sbboards}.c: use adrsprintf()
-       uip/post.c: remove #ifdef MF dependency for stand-alone MH,
-           remove #ifdef DUMB dependency by making addrsbr.c smarter
-           about being dumber
-       mts/mmdf/hosts.c: remove #ifdef DUMB dependency (right now,
-           addrsbr:getm() is the only one that calls it and it doesn't
-           call it under #ifdef DUMB...
-
-
-Tue Dec 10 23:28:20 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/sbboards.c: oops, typo found by lint
-
-
-Wed Dec 11 19:08:20 1985  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/libndir: -lndir for non-BSD sites, graciously supplied
-           by Kirk McKusick
-
-
-Tue Dec 17 08:36:59 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/send.c: different alert announcement based on -forward
-
-
-Tue Dec 17 08:53:52 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/makefiles/sbr, sbr/cndfree.c: clean-up a bit
-
-
-Tue Dec 17 18:26:34 1985  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getfld.c, uip/{format,mhl,pick}sbr.c: clean-up indirection
-           code for less tolerant compilers
-       uip/bbc.c: add -[no]rcfile switch
-       uip/msh.c: clean up a diagnostic
-
-
-Tue Dec 17 21:42:44 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/makefiles/sbr, h/mh.h, sbr/llib-lmh: cndfree() removed
-       sbr/{add,m_{delete,replace}}.c, uip/{mhl,vmh}sbr.c: replace cndfree
-       sbr/m_foil.c, uip/install-mh.c: compensate
-
-
-Wed Dec 18 13:37:09 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: make second, optimized pass to catch private bboards
-           that the user knows about
-       uip/popsbr.c: ditto
-       uip/popser.c: slight tune-up
-
-
-Wed Dec 18 20:27:38 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/slocal.c: minor touch up
-       uip/umhook.c: moved from zotnet/mf
-
-
-Wed Dec 18 22:51:58 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: optimize on calling mshproc, check size of maildrop
-           first; if empty, don't invoke it!
-
-
-Thu Dec 19 08:16:54 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/refile.c: better diagnostic from Fred Blonder
-
-
-Thu Dec 19 22:34:23 1985  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/mts/client.c: #ifdef BIND code when no gethostent()
-       conf/{mh-gen.8,doc/mh-tailor.rf}: document it
-
-
-Thu Dec 19 23:58:44 1985  /mtr <mrose@nrtc-gremlin>
-
-       Release MH 6.2 to selected sites, including Berkeley for 4.3BSD testing
-
-
-Sun Dec 29 19:58:43 1985  /mtr <mrose@nrtc>
-
-       zotnet/mts/client.c: fix #ifdef BIND stuff a bit
-       h/mshsbr.h, uip/{mhlsbr,msh,mshcmds}.c: try to fix lost peer
-           problems...
-       conf/doc/vmh.rf: update
-       zotnet/drop/lock.c: not returning right errno
-       uip/dropsbr.c: ditto, plus not trying enough
-       conf/makefiles/doc: "make tar" forgetting tmac.h
-       uip/addrsbr.c: strcpy de-referencing NULL
-       uip/refile.c: got rid of a spurious \n (!!)
-       conf/examples/{udel,nrtc-mtr}: new files
-       h/mh.h, sbr/m_{convert,gmsg}.c, uip/{msh,rcvstore,refile}.c: fix
-           LOWSEL logic
-       uip/vmh.c: fix slight bug in sideground handling (misspelled
-           #ifdef, oops!)
-       conf/{mh-gen.8,config/mts.c},mts/*/hosts.c: remove the NETWORK option
-
-
-Mon Dec 30 20:03:25 1985  /mtr <mrose@nrtc>
-
-       conf/Makefile: options mangled(!?!)
-       uip/msh.c: if update of mailbox fails, it gets zero'd(!!)
-           (oops, not checking error condition)
-       support/pop/popser.c: if update of mailbox fails, clean-up
-           correctly (no zero problem here!)
-       uip/inc.c: on truncate of maildrop, remove mailbox map (XXX)
-       conf/makefiles/uip, uip/{send,whatnowsbr}.c: move send into
-           the WhatNow shell
-       uip/sendsbr.c: new file
-       conf/doc/whatnow.rf: update
-
-
-Tue Dec 31 10:13:44 1985  /mtr <mrose@nrtc>
-
-       conf/doc/vmh.rf: back-down last update
-       conf/mh-gen.8: forgot an \&
-       conf/examples/nrtc-{gw,mtr}, h/rcvmail.h: tsk, NRTC running an old
-           MMDF-II
-
-
-Tue Dec 31 13:53:14 1985  /mtr <mrose@nrtc>
-
-       conf/doc/whatnow.rf, uip/whatnowsbr.c: remove "headers" option
-       conf/doc/ADMIN.rf: clear-up post -debug documentation
-       conf/doc/{mh-chart,send,post}.rf, uip/{post,send,whatnowsbr}.c: remove
-           -[no]remove switches
-       uip/{repl,post}.c: some touch-ups
-
-
-Tue Dec 31 19:16:23 1985  /mtr <mrose@nrtc>
-
-       zotnet/tws/{dtime,dtimep}.c: dst fix-ups
-       conf/doc/send.rf: append, not prepend
-       uip/rmail.c: slight touch-up
-       uip/ap.c: oops, not printing all info
-       zotnet/mf/mf.c: botching trailing comment handling!
-       uip/scansbr.c: have cpy() omit trailing >>blank<<
-       sbr/m_gmsg.c: not zero'ing msgstats[] under non-MTR code
-
-
-Tue Dec 31 22:23:43 1985  /mtr <mrose@nrtc>
-
-       conf/doc/mhook.rf: minor typos
-       miscellany/rcvtrip/*: update
-
-
-Tue Dec 31 23:21:21 1985  /mtr <mrose@nrtc>
-
-       uip/mhlsbr.c: a bit more pipe trickyness (this gets old real fast)
-       conf/doc/ADMIN.rf: talk about popd and /etc/rc.local
-       papers/{myths,mznet}/Makefile: update
-       uip/bbc.c: augment XTND2 botch diagnostic
-       uip/msh.c: if popd says BBoard-ID: for a message is 0, read it
-           ourselves
-
-
-Fri Jan  3 13:11:03 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: SIGTSTP race condition, #undef for now
-
-
-Sun Jan  5 20:06:03 1986  /mtr (agent: Marshall Rose) <uci@dewey>
-
-                 -- Interface TTI TMA to MH #6.2 --
-       [ N.B.: The TTI TMA is NOT in the public domain; the MH support for
-               the TTI TMA IS in the public domain! ]
-       conf/{mh-gen.8,mhconfig.c,doc/ADMIN.rf}: support "tma on"
-       conf/makefiles/{doc,uip}: ditto
-       Makefile: for the moment
-
-
-Mon Jan  6 15:25:20 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{msh,mshcmds}.c: work on refile
-       uip/{vmh,msh}.c: support FAST quit (no final refresh on
-           updated mailbox)
-
-
-Tue Jan  7 15:06:05 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: got the SIGTSTP problem, now wait on child to stop prior
-           to stopping ourselves...
-
-
-Wed Jan  8 23:16:10 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/trmsbr.c: better defaults for "li" and "co"
-
-
-Thu Jan  9 15:29:09 1986  /mtr <mrose@nrtc-gremlin>
-
-                  -- Fixes Suggested by Craig Partridge --
-       support/bboards/mmdfII/bboards/mmdfonly.h: if V4_2BSD on, set BSD42
-       conf/doc/{mhl,show}.rf: talk more about moreproc
-       uip/mhlsbr.c: have INTR work as advertised
-       uip/{send,whatnowsbr}.c: link on dist botched, oops!
-
-
-Thu Jan  9 16:31:28 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/mshcmds.c: don't rmm() messages which don't get refiled
-       uip/vmh.c: truncate stuff on Scan window (finally)
-       uip/scansbr.c: work on diagnostics a bit
-
-
-Thu Jan  9 22:37:29 1986  /mtr <mrose@nrtc-gremlin>
-
-       MH 6.2 is official, awaiting enhancements Berkeley!
-
-
-Fri Jan 10 10:17:57 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/sbboards.c: botch multiple bboard handling (forgot to rewind
-           input, thanks to Larry Henry)
-       support/bboards/mmdfII/bboards/bb_wtmail.c: not handling errors
-           right
-       sbr/cpydgst.c: stay symmetric with change to bb_wtmail.c, the code
-           worked fine, adding matching braces for clarity (!!)
-
-
-Sun Jan 12 14:01:25 1986  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/mh-e: new version from James Larus
-
-
-Sun Jan 12 22:58:34 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: getbbvis a bit too agressive, use popd algorithm
-
-
-Wed Jan 15 04:43:33 1986  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/netnews/: more stuff
-
-
-Wed Jan 15 18:44:32 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/addrsbr.c: ismymbox() losing under #ifdef DUMB, oops!
-
-
-Wed Jan 15 19:03:54 1986  /mtr <mrose@nrtc-gremlin>
-
-       COVER-LETTER: update
-
-
-Wed Jan 15 23:15:54 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/pop/popsbr.c: pophack on PASS command
-
-
-Fri Jan 17 13:19:23 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/ali.c: add -noalias for RaJ
-
-
-Wed Jan 22 11:13:08 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/pop/popwrd.c: squash bug
-       h/mh.h: remove sigmask definition
-       uip/{bbc,vmh}.c: add sigmask if not defined in <signal.h>
-           (4.3BSD finally wised up!)
-
-
-Sun Jan 26 16:57:18 1986  /mtr <mrose@nrtc-gremlin>
-
-       {conf/makefiles/uip,uip/post.c}: lint touch-up
-       conf/doc/{inc,mh-chart,send,post}.rf: add the #ifdef TMA stuff
-       sbr/m_remsg.c: tuning
-       uip/mark.c: re-arrange debug output slightly
-       h/mh.h: add some padding to fix some m_remsg bugs
-       uip/{inc,rcvstore}.c: oops, mp -> hghmsg not keeping pace with
-           m_remsg!
-
-
-Mon Jan 27 17:51:07 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/whatnowsbr.c: forgot to put -[no]push for built-in send
-       h/addrsbr.h, uip/{addrsbr,post}.c: introduce auxformat(), the
-           back-end to adrformat(); post calls auxformat directly in
-           certain cases
-       uip/{dp,forw}.c: was cheating on adrformat, now on auxformat
-
-
-Fri Jan 31 13:25:17 1986  /mtr <mrose@nrtc-gremlin>
-
-       COVER-LETTER: update
-       support/general/mhl.format: Remove length/width constraints
-
-
-Sun Feb  2 14:01:28 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/tws/dtime.c: twsort() fix from John Romine for ALTOS
-       uip/addrsbr.c: smarter ismymbox for default case
-       conf/{mh-gen.8,doc/repl.rf}, uip/repl.c: add #ifdef ATHENA code
-
-
-Sun Feb  2 20:47:36 1986  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/replies/: new directory
-
-
-Mon Feb  3 11:21:49 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/whatnowsbr.c: oops, slight dist botch
-       support/general/mhl.format: make date display user-friendly
-       conf/mh-gen.8: clean-up descriptions of options
-       uip/sbboards.c: normalize code wrt to MMDF-II BBoards channel
-       uip/msh.c: when running under vmh and not in control of TTY,
-           ignore TSTP so BPOP can spool ahead!
-       papers/{usenix/usenix,multifarious/multifarios,trusted/trusted}.tex:
-           fix up banners a bit
-
-
-Wed Feb  5 09:32:08 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/bboards/mmdfII/READ-ME: update
-
-
-Wed Feb  5 11:25:05 1986  /mtr <mrose@nrtc-gremlin>
-       
-       MH 6.3 #1[UCI] (nrtc-gremlin) is official, still awaiting Berkeley
-           enhancements
-
-
-Wed Feb  5 14:42:55 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/tws/{tws.h,dtime.c}: new argument to dasctime()
-       uip/{format,pick}sbr.c: make use of it
-
-
-Sun Feb  9 22:14:10 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/pop/syslog.c: #ifdef BSD43 means use standard syslog
-
-
-Sun Feb 16 15:40:20 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_setvis.c: oops, fix-up unseen sequence stuff
-       uip/whatnowsbr.c: oops, a couple of typos
-
-
-Sun Feb 16 19:11:33 1986  /mtr <mrose@nrtc-gremlin>
-
-       -- Incorporate Berkeley enhancements, courtesy of Van Jacobson --
-       h/{format,scan}sbr.h: updated for new formatsbr stuff
-       h/mh.h: updated for new m_getfld
-       conf/MH: new default file
-       conf/config/config.c: support spost under BERK and SENDMTS
-       conf/mhconfig.c: support new zotnet/fmt/ directory
-       conf/makefiles/uip: support spost
-       conf/makefiles/zotnetM: support new zotnet/fmt/ directory
-       conf/makefiles/zotnet/fmt: new Makefile
-       conf/makefiles/zotnet/tws: support for new lex-based date parser
-       sbr/m_gmsg.c,uip/msh.c: change init of READONLY
-       sbr/m_getfld.c: re-written, super optimized!
-       support/general/{digestcomps,mhl.digest,mhl.forward,scan.*}: use
-           new fmt stuff
-       zotnet/fmt/: new directory
-       zotnet/tws/{dtimep.lex,lexedit.sed,lexstring.c}: new files
-       zotnet/tws/dtime.c: update
-       uip/{forw,scan,scansbr}.c: use new format stuff
-       uip/{inc,mhlsbr,mshcmds,replsbr}.c: use new format stuff
-       uip/trmsbr.c: use stderr for ioctl()s
-       uip/spost.c: new file
-       uip/{addr,format}sbr.c: remove, they're in zotnet/fmt/
-
-
-Sun Feb 16 23:04:34 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/fmt/: move into sbr/ to avoid loading problems
-       sbr/{addrsbr,formatsbr,fmtcompile,formataddr}.c: new files
-       h/fmtcompile.h: new file
-       conf/makefiles/{sbr,zotnetM}: update
-       sbr/llib-lmh: update
-
-
-Mon Feb 17 20:14:35 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/general/scan.{time,size}: mday/month inverted
-       sbr/{formatsbr,fmtcompile}.c: bring upto date with MH 6.3+
-       sbr/formatsbr.c: missing tzone/sday/dst handling!
-       h/scansbr.h: slight update
-       uip/scansbr.c: try using formataddr() routine to do "correct"
-           formatting of scan'd addresses, didn't work! use friendly
-       zotnet/tws/dtimep.lex: tsk, use lint!  also, fix numeric timezones
-       sbr/addrsbr.c: some ismymbox fixes for non-BERK code (from 6.3)
-       sbr/formatsbr.c: not priming the pump!
-       h/fmtcompile.h, sbr/{formatsbr,fmtcompile}.c: add "friendly"
-       support/general/scan.time2: call it scan.timely
-       conf/makefiles/support/general: support scan.timely
-
-
-Tue Feb 18 01:13:51 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/formatsbr.h: updates from Van
-
-
-Tue Feb 18 02:15:00 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: upgrade for new m_getfld()
-       support/general/scan.*, h/scansbr.h: still more changes
-       support/general/replcomps: still more changes
-
-
-Tue Feb 18 22:14:51 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getfld.c: eom_action() lacking argument
-       sbr/m_getfld.c: not working right on packf'd files
-       uip/{msh,mshcmds}.c: under BPOP, need to fix things so m_getfld()
-           doesn't dump core!
-
-
-Wed Feb 19 00:16:55 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/dist.c, support/general/distcomps, sbr/fmtcompile.c: updates
-           from Van
-       sbr/formatsbr.c: remove ismymbox prime
-       sbr/fmtcompile.c: use adios(), not exit()!
-
-
-Wed Feb 19 00:56:30 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getfld.c: different fix for packf'd files from Van
-
-
-Wed Feb 19 01:55:40 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/mh.h: add msg_* vars in m_getfld() as externs
-       uip/{msh,{repl,scan}sbr}.c: remove msg_* declarations
-       sbr/m_getfld.c: add a bit of BODYEOF support (without slowing it
-           down, wouldn't want to upset Van!)
-
-
-Wed Feb 19 03:11:42 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/{formataddr,fmtcompile,m_{draft,getfld,maildir},printsw,pwd}.c:
-           lint it
-       uip/{formatsbr,forw,msh,replsbr,scan,scansbr,spost}.c: lint it
-       support/pop/popser.c: lint it
-       sbr/formatsbr.c: remove MHFMTDEBUG code
-       */Makefile: depend 'em
-
-
-Wed Feb 19 10:50:04 1986  /mtr <mrose@nrtc-gremlin>
-
-       papers/mh6.4: new interim documentation directory, for 4.3BSD
-       conf/doc/{MH,ap,dp,mh,mh-chart,mhl,repl,scan}.rf: update
-       conf/doc/mh-format.rf: new file
-       support/general/replcomps: oops, should call formataddr on all
-           addrs
-
-
-Thu Feb 20 08:07:49 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{a,d}p.c: start working on it
-       h/formatsbr.h: new variable fmt_norm
-       sbr/formatsbr.c: use it
-       h/fmtcompile.c, sbr/{fmtcompile,formatsbr}.c: define "pretty"
-       sbr/formataddr.c: sight touch-up
-       uip/formatsbr.c: oops, bug in PUTD()
-       uip/{fmtcompile,formatsbr}.c: init mn structures in case of error.
-           This is still buggy since: 1) the structure still doesn't get
-           reset on errors, and 2) you can still dereference nulls
-       zotnet/tws/dtimep.lex: slight touch-up
-
-
-Thu Feb 20 19:55:20 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/mhlsbr.c: add formatsbr support
-       sbr/addrsbr.c: use better default matching in ismymbox
-       miscellany/mtrenv: update
-       support/general/mhl.*: update
-
-
-Thu Feb 20 22:57:33 1986  /mtr <mrose@nrtc-gremlin>
-       
-       MH 6.4 #1[UCI] (nrtc-gremlin) made available to Van Jacobson
-           for inclusion in 4.3BSD UNIX
-
-
-Sun Feb 23 13:59:46 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_gmsg.c: big bug fix from Terry West.  Thanks, Terry!
-       h/strings.h: System5 bcopy-equivalents from Doug Gwyn
-       zotnet/tws/tws.h: support #ifdef ATZ
-       conf/makefiles/uip: slight lint botch
-
-
-Mon Feb 24 17:14:39 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/inc.c: have -host/-file ask if file doesn't exist
-       uip/{packf,mshcmds}.c: ditto
-
-
-Tue Feb 25 08:08:43 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/burst.c: another realloc() fix from Terry West
-       sbr/vfgets.c: ditto
-       support/pop/popser.c: enhancmenets from Dave Cohrs
-       conf/doc/pop5.rf: document it
-       conf/mhconfig.c: support "debug" directive
-       makefiles/*: use it
-
-
-Tue Feb 25 09:47:09 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{scan,mshcmds}.c: slight touch-ups
-       uip/mhlsbr.c: fix up SIGPIPE handling, again
-       support/general/scan.time: fix up for numeric timezone
-       uip/scansbr.c: re-support "encrypted"
-       uip/msh.c: add "exit" command for Dave Farber
-       miscellany/convert: new directory
-
-
-Tue Feb 25 17:45:28 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/mshsbr.h, uip/msh*.c: add direct folder support for symmetry's
-           sake, ugh!
-
-
-Wed Feb 26 21:05:46 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/sendsbr.c: better diagnostics when post fails
-
-
-Thu Feb 27 22:12:53 1986  /mtr <mrose@nrtc-gremlin>
-
-                            -- Van sends updates --
-       conf/makefiles/uip, h/fmtcompile.h,
-       sbr/{format{addr,sbr},fmtcompile,addrsbr}.c,
-       support/general/replcomps, uip/{repl,mhl,scan,whatnow}sbr.c
-
-
-Thu Feb 27 22:16:43 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/formataddr.c: remove <strings.h>
-       sbr/addrsbr.c: Van doesn't like "user*" instead of "user" as the
-           default is-my-mailbox for BERK.  Since he's the BERK-author, I'll
-           assume he knows what he's doing...
-       support/general/replcomps: Use "tws", instead of "pretty" for
-           in-reply-to:
-       uip/whatnowsbr.c: If -draft{folder,message} and -nodraftfolder are
-           added as no-ops, make them "hidden" from -help output
-       uip/{{a,d}p,forw,mhlsbr}.c: update
-
-
-Mon Mar  3 10:18:40 1986  /mtr <mrose@nrtc-gremlin>
-
-                      -- Van sends fixes to my updates --
-       uip/mshcmds.c: not resetting scansbr for formatting
-       uip/scansbr.c: oops, typo!
-
-
-Mon Mar  3 16:53:19 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/sendsbr.c: oops, close() on an uninitialized variable! (thanks
-           to Jim Koda)
-
-
-Tue Mar  4 08:15:17 1986  /mtr <mrose@nrtc-gremlin>
-
-                      -- Van sends fixes to my updates --
-       uip/mhlsbr.c: not resetting mhlsbr for formatting
-       zotnet/tws/dtimep.lex: not getting MIL-TZ's right
-
-
-Tue Mar  4 09:53:31 1986  /mtr <mrose@nrtc-gremlin>
-
-       papers/usenix/: change to realwork/
-
-
-Wed Mar  5 12:48:58 1986  /mtr <mrose@nrtc-gremlin>
-
-       dist/READ-ME: oops, forgot usenix name change
-       conf/makefiles/uip: hmm, interesting loader problem
-
-
-Thu Mar  6 13:36:26 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/addrsbr.c: yet another fix for ismymbox()
-       uip/replsbr.c: #ifdef ISI code to avoid duplicate replies (due to
-           Jim Koda)
-
-
-Sun Mar  9 14:04:26 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/mh-gen.8: add a line about chown and sys5
-       sbr/m_convert.c: better BADRNG diagnostic
-       uip/mshcmds.c: oops, typo
-
-
-Sun Mar  9 14:06:54 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/scansbr.h, sbr/fmtcompile.c: better versions from Van
-       support/general/{replcomps,scan.timely}: better versions from Van
-           (snuck the %pretty instead of %tws in, eh Van?)
-       support/general/{digestcomps,mhl.forward,scan.{size,time}}: update
-
-
-Sun Mar  9 18:52:37 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/scansbr.h, support/general/{digestcomps,mhl.forward,scan.*}: update
-
-
-Sun Mar  9 20:09:35 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/bboards/bboards.h: add BB_REMOTE flag for bbc
-       uip/bbc.c: support BB_REMOTE, under #ifdef MTR for the moment
-       uip/bbc.c: allow bb_aka (again?!?)
-
-
-Mon Mar 10 00:43:19 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{msh,mshcmds}.c: packf hack, ala refile hack
-       uip/{post,rcvdist}.c, support/bboards/mmdfII/bboards/bb_wtmail.c:
-           MMDF-II nameserver support from Steve Kille
-
-
-Mon Mar 10 10:17:29 1986  /mtr <mrose@nrtc-gremlin>
-
-       {sbr/formatsbr,uip/scansbr}.c: more optimizations from Van!
-       sbr/m_getfld.c: Van fixes problems due to losing vanilla-4.2 C
-           optimizer!
-       sbr/m_getfld.c: slight touch-up by MTR
-       uip/bbc.c: remove #ifdef MTR bracketing, code works fine
-       uip/refile.c: slight touch-ups
-       sbr/m_getfld.c: on xxxERR returns, forgetting to zero value buffer
-
-
-Mon Mar 10 18:08:37 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/post.c: fix handling of (in)visible addresses
-       uip/rcvdist.c: re-do to use format facility
-       uip/{replsbr,forw}.c: touch-ups
-       conf/config/config.c, h/mh.h: new variable rcvdistcomps
-       conf/{makefiles/{uip,support/general},doc/mhook.rf}: update
-       sbr/m_getfld.c: bstring() support for non BSD42, SYS5 systems
-       conf/doc/ADMIN.rf: update
-
-
-Tue Mar 11 19:43:27 1986  /mtr <mrose@nrtc-gremlin>
-
-       h/dropsbr.h, uip/dropsbr.c: new routines mbx_read() and mbx_write()
-       uip/{msh,mshcmds}.c, support/pop/popser.c: use it
-       h/{addr,format,scan}sbr.h, sbr/addrsbr.c: slight touch-up
-       uip/inc.c: slight touch-up
-
-
-Sun Mar 16 15:20:27 1986  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/mem: appointment diary support from Ken Yap
-
-
-Wed Mar 19 23:00:53 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/pop/popser.c: one last fix for ENOENT mailboxes
-
-
-Wed Mar 19 23:12:54 1986  /mtr <mrose@nrtc-gremlin>
-
-                          -- Changes for MMDF-IIb --
-       uip/post.c, support/bboards/mmdfII/bboards/bb_wtmail.c: know about
-           new mm_winit protocol and RP_NS/RP_DOK responses
-
-
-Thu Mar 20 23:05:10 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/mhlsbr.c: mhl enhancement from JLR permitting a prefix string
-           for each line of the body (e.g, "component="    > ")
-
-
-Fri Mar 21 21:12:39 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/{MH,mh-format}.rf: typos
-
-
-Sat Mar 22 11:51:45 1986  /mtr <mrose@nrtc-gremlin>
-
-                        -- Fixes from Phyllis Kantar --
-       uip/dropsbr.c: typo
-       conf/doc/{send,pick}.rf: typos
-       conf/makefiles/doc: forgot $(OPTIONSn) in $(MAN1) definition
-
-
-Sat Mar 22 18:24:35 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/mhmail.c: handle -body better
-
-
-Mon Mar 31 15:07:26 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/replsbr.c: handle bad addresses with better diagnostics
-
-
-Wed Apr  2 17:17:32 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/addrsbr.c: slight typo in comment
-
-
-Sun Apr  6 19:22:52 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/inc.c: forgot to initialize some FILE*'s; dumps core on
-           celerity
-
-
-Mon Apr  7 09:55:23 1986  /mtr <mrose@nrtc-gremlin>
-
-       mts/sendmail/smail.c: slight "client" check
-
-
-Wed Apr  9 12:04:56 1986  /mtr <mrose@nrtc-gremlin>
-
-                        -- Van fixes some more bugs --
-       sbr/m_getfld.c: not handling buffer boundary cases right
-       uip/replsbr.c: not adding "," correctly when concatenating an
-           address string during message scan
-       sbr/formatsbr.c: mymbox test dumped core if address parse failed
-       h/{fmtcompile,formatsbr}.h, sbr/{fmtcompile,formatsbr}.c: more
-           enhancements
-
-
-Wed Apr  9 12:36:58 1986  /mtr <mrose@nrtc-gremlin>
-
-                   -- MTR actually gets to fix something! --
-       sbr/m_getfld.c: messages with an empty body caused inc to
-           prematurely think the maildrop had reached EOF.  Believe it
-           or not, the mhmail fix last month exercised this!
-
-
-Wed Apr  9 22:08:37 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/vmh.c: output non-standard control characters in carat format
-
-
-Thu Apr 10 02:26:52 1986  /mtr <mrose@nrtc-gremlin>
-
-       Makefile: touch-up "make distribution"
-       conf/examples/nrtc-*-mtr: remove
-       conf/makefiles/uip: touch-up
-       conf/doc/MH.rf: add TMA stuff, conditionally
-
-
-Thu Apr 10 03:47:48 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getfld.c: Van fixes Marshall's fix
-
-
-Thu Apr 10 10:42:25 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/scansbr.c: recognize the 822 "Encrypted:" header instead of
-           doing a uprf() on the body
-       uip/{scan,mshcmds}.c: recognize SCNENC return from scan ()
-
-
-Thu Apr 10 15:06:59 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/config/bboards.*: mail reports to PostMaster
-
-
-Sat Apr 12 16:32:21 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/post.c: try to keep fcc:s under MH-directory so links are
-           maintained
-
-
-Mon Apr 14 22:56:46 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/bboards/bbexp.c: not ending msh correctly, msh tried
-           to update the maildrop even though it was already locked
-           by bbexp
-
-
-
-Mon Apr 14 23:52:03 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getfld.c: locc() not range checking on cnt
-
-
-Thu Apr 17 13:25:20 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/addrsbr.c: fix from Terry West, more alternate-mailbox misery
-
-
-Thu Apr 17 20:51:53 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/mts/lock.c: add some more #ifdefs to support stand-alone
-           locking library
-       conf/examples/udel*: update
-       papers/myths/: remove
-       conf/makefile/papers: update
-
-
-Mon Apr 21 10:22:09 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/mf/mf.c: sanity check in getadrx() on string to parse
-
-
-Mon Apr 21 17:31:43 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/{inc,post}.c: slight mods for TMA mods
-       conf/doc/mh-chart.rf: ditto
-
-
-Thu Apr 24 00:19:35 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/mh-chart.rf: slight mods for TMA mods
-
-
-Thu Apr 24 10:34:06 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/mts/lock.c: lint touch-up
-       support/pop/popd.c: ditto
-
-
-Thu Apr 24 19:37:09 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/ADMIN.rf: typos
-
-
-Thu Apr 24 20:13:28 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/msgchk.c: print out last read date
-       conf/makefiles/uip: add tws dependency
-
-
-Thu Apr 24 23:53:57 1986  /mtr <mrose@nrtc-gremlin>
-
-                             -- From Craig Partridge --
-       support/bboards/mmdfII/bboards/*: bug fixes for MMDF-IIb
-       conf/mh-gen.8: mention that MMDF-IIb has the BBoards distribution
-
-
-Fri Apr 25 00:01:50 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/ADMIN.rf: slight touch-up
-
-
-Fri Apr 25 10:47:19 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/trmsbr.c: use stdout (not stderr) for termcap checking
-
-
-Fri Apr 25 13:39:55 1986  /mtr <mrose@nrtc-gremlin>
-
-                          -- From Craig Partridge --
-       support/bboards/mmdfII/bboards/getbbent.c: bad field in BBoards file
-           causes hang, note it and skip!
-
-
-Sun Apr 27 17:23:56 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/scansbr.c: recognition of 822 Encrypted: header a bit botched
-       h/scansbr.h, support/general/scan.*: support encrypted
-
-
-Mon Apr 28 21:00:21 1986  /mtr <mrose@nrtc-gremlin>
-
-                       -- Yet Another Fix from Terry --
-       uip/dropsbr.c: another typo
-
-
-Tue Apr 29 20:17:11 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/mhook.rf: extra tip with SendMail and slocal
-
-
-Thu May  1 15:30:07 1986  /mtr <mrose@nrtc-gremlin>
-
-                          -- From Craig Partridge --
-       support/pop/mmdfII/pop/READ-ME: fixes
-
-
-Fri May  2 16:35:11 1986  /mtr <mrose@nrtc-gremlin>
-
-                         -- More Bug Fixes from Van --
-       uip/scansbr.c: check return from fclose()
-       uip/inc.c: avoid locking/stat race condition
-       sbr/m_sync.c: lock signals out during update of sequences
-
-
-Fri May  2 17:02:01 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/show.c: WHATNOW botch fixed by Jim Valerio
-
-
-Sat May  3 01:37:15 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/{m_{sync,update},pidwait}.c, uip/{bbc,sendsbr,vmh}: inspired
-           by Van's 4.2BSD signal optimizations
-
-
-Sat May  3 02:49:29 1986  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/tws/{tws.h,dtime.c,dtimep.lex}: fixes for DST
-       conf/makefiles/zotnet/tws: add -n to lex's invocation
-
-
-Sun May  4 13:28:23 1986  /mtr <mrose@nrtc-gremlin>
-
-       uip/msgchk.c: change the "last read" message to use alpha-timezones
-
-
-Sun May  4 14:18:15 1986  /mtr <mrose@nrtc-gremlin>
-
-       support/general/replcomps: use %tws instead of %pretty
-       support/general/mhl.*: streamline slight
-
-
-Sun May  4 16:10:36 1986  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/mh.rf: forgot about TMA stuff
-       conf/makefiles/doc: forgot rcvstore
-
-
-Sun May  4 17:49:43 1986  /mtr <mrose@nrtc-gremlin>
-
-       sbr/pidwait.c, uip/{bbc,sendsbr,vmh}.c: back off signal handling
-           modifications
-
-Sun May  4 18:08:47 1986  /mtr <mrose@nrtc-gremlin>
-
-       MH 6.5 #1[UCI] (nrtc-gremlin) made available to Van Jacobson
-           for inclusion in 4.3BSD UNIX
diff --git a/docs/historical/mh6.5/Makefile b/docs/historical/mh6.5/Makefile
deleted file mode 100644 (file)
index 5b67f77..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#########################################################################
-# Instructions to Make, for generation of nice-looking papers using LaTeX
-#########################################################################
-
-.SUFFIXES:     .pic .web .tex .dvi .imp
-
-.pic.tex:;     tpic $<
-
-.web.tex:;     sh -c 'if weave $<; then exit 0; else rm $@; exit 1; fi'
-
-.tex.dvi:;     sh -c 'if latex \\nonstopmode\\input $<; \
-                         then exit 0; else rm $@; exit 1; fi'
-
-.dvi.imp:;     dviimp $(DFLAGS) -i $@ $<
-
-
-#############################################################
-# Here it is...
-#############################################################
-
-all:           i-all
-print:         i-print
-
-
-#############################################################
-# mh6
-#############################################################
-
-i-all:         mh6.dvi
-
-i-print:       mh6.dvi true
-               dvisp $(DFLAGS) -J mh6 mh6
-
-
-# customization files, et. al., not included below
-mh6.dvi:       mh6.vrsn
-
-mh6.vrsn:      mh6.tex version.sh
-               @: version.sh mh6
-
-biblio:;       bibtex mh6
-
-index:;                idx2ind mh6
-               sed -e 's|%\\newindex|\\newindex|' < mh6.ind > mh6.tmp
-               mv mh6.tmp mh6.ind
-
-true:;
-
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-               rm -f mh6.dvi mh6.imp
-
-clean:;                rm -f mh6.log mh6.blg mh6.tmp _*
diff --git a/docs/historical/mh6.5/READ-ME b/docs/historical/mh6.5/READ-ME
deleted file mode 100644 (file)
index f39b7cf..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-[ For the following, substitute the name of the directory this file resides
-  in for "foo".  E.G., if this file is mh5/READ-ME, s%foo%mh5%g ]
-
-    The Makefile assumes you have LaTeX on your system.  LaTeX is Leslie
-    Lamport's macro package for TeX.  If you can't find LaTeX on your
-    system, ask your local TeX maintainer where it's kept, since LaTeX
-    should have come with your UNIX TeX distribution.
diff --git a/docs/historical/mh6.5/bcustom.bib b/docs/historical/mh6.5/bcustom.bib
deleted file mode 100644 (file)
index f98b683..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-% BibTeX customization
-
-% people
-@string{mtr = "Marshall T. Rose"}
-
-% places
-@string{nic = "ARPA Internet Network Information Center"}
-@string{nrtc = "Northrop Research and Technology Center"}
-@string{sri = "SRI International"}
-@string{uci = "University of California, Irvine"}
-@string{udel = "University of Delaware"}
-@string{cis = "Department of Computer and Information Sciences"}
-@string{ics = "Department of Information and Computer Science"}
-@string{rand = "The Rand Corporation"}
-
-% journals
-@string{cn/isdn = "Computer Networks and ISDN Systems"}
-@string{ccr = "Computer Communication Review"}
-@string{ieeecm = "IEEE Communications Magazine"}
-
-% types
-@string{rfc = "Request for Comments"}
diff --git a/docs/historical/mh6.5/lcustom.tex b/docs/historical/mh6.5/lcustom.tex
deleted file mode 100644 (file)
index c595c04..0000000
+++ /dev/null
@@ -1,249 +0,0 @@
-% LaTeX customization
-
-
-\makeatletter                          % for a little while
-
-
-% plain TeX compatibility
-
-\def\oldstyle{\xdef\@oldstyle{\the\textfont\@ne}\mit\@oldstyle}
-
-
-% PhD-TeX compatibility
-
-\def\showsummary{%
-    \begingroup
-       \def\note##1{%
-           \ifcase\value{##1}no ##1s\or
-               1 ##1\else
-               \the\value{##1} ##1s\fi
-       }%
-       \typeout{LaTeX summary: \note{figure}, \note{table}, \note{footnote}.}%
-    \endgroup
-}
-
-\def\smaller{\footnotesize}
-
-
-% Float Support
-
-% \tagfigure*[FLOAT]{FILE}{CAPTION}{LABEL}
-%    *         optional
-%    FLOAT     float options
-%    FILE      reads TPIC output in file figureFILE
-%    CAPTION   for list of figures
-%    LABEL     for \ref and \pageref
-\def\tagfigure{\@ifstar{\@stagfigure}{\@tagfigure}}
-\def\@tagfigure{\@ifnextchar[{\@@tagfigure}{\@@tagfigure[t]}}
-\def\@stagfigure{\@ifnextchar[{\@@stagfigure}{\@@stagfigure[t]}}
-
-\def\@@tagfigure[#1]#2{%
-    \@@@tagfigure[#1]{\input figure#2\relax\centerline{\box\graph}}}
-\def\@@stagfigure[#1]#2{%
-    \@@@stagfigure[#1]{\input figure#2\relax\centerline{\box\graph}}}
-
-
-% \tagdiagram*[FLOAT]{FILE}{CAPTION}{LABEL}
-%    *         optional
-%    FLOAT     float options
-%    FILE      reads LaTeX input in file diagramFILE
-%    CAPTION   for list of figures
-%    LABEL     for \ref and \pageref
-\def\tagdiagram{\@ifstar{\@stagdiagram}{\@tagdiagram}}
-\def\@tagdiagram{\@ifnextchar[{\@@tagdiagram}{\@@tagdiagram[t]}}
-\def\@stagdiagram{\@ifnextchar[{\@@stagdiagram}{\@@stagdiagram[t]}}
-
-\def\@@tagdiagram[#1]#2{\@@@tagfigure[#1]{\input diagram#2\relax}}
-\def\@@stagdiagram[#1]#2{\@@@stagfigure[#1]{\input diagram#2\relax}}
-
-\def\@@@tagfigure[#1]#2#3#4{%
-    \begin{figure}[#1]
-       \hrule
-       \vskip .5\baselineskip
-       \begin{minipage}\columnwidth
-           \small#2%
-       \end{minipage}
-       \vskip .5\baselineskip plus .5\baselineskip
-       \caption{#3}%
-       \label{#4}%
-       \vskip 2pt
-       \hrule
-    \end{figure}
-}
-
-\def\@@@stagfigure[#1]#2#3#4{%
-    \begin{figure*}[#1]
-       \hrule
-       \vskip .5\baselineskip
-       \begin{minipage}\textwidth
-           \small#2%
-       \end{minipage}
-       \vskip .5\baselineskip plus .5\baselineskip
-       \caption{#3}%
-       \label{#4}%
-       \vskip 2pt
-       \hrule
-    \end{figure*}
-}
-
-
-% \tagtable*[FLOAT]{FILE}{CAPTION}{LABEL}
-%    *         optional
-%    FILE      read LaTeX input in file tableFILE
-%    FLOAT     float options
-%    CAPTION   for list of tables
-%    LABEL     for \ref and \pageref
-\def\tagtable{\@ifstar{\@stagtable}{\@tagtable}}
-\def\@tagtable{\@ifnextchar[{\@@tagtable}{\@@tagtable[t]}}
-\def\@stagtable{\@ifnextchar[{\@@stagtable}{\@@stagtable[t]}}
-
-\def\@@tagtable[#1]#2#3#4{%
-    \begin{table}[#1]
-       \hrule
-       \vskip .5\baselineskip
-       \begin{minipage}\textwidth
-           \small\input table#2\relax
-       \end{minipage}
-       \vskip .5\baselineskip plus .5\baselineskip
-       \caption{#3}%
-       \label{#4}%
-       \vskip 2pt
-       \hrule
-    \end{table}
-}
-
-\def\@@stagtable[#1]#2#3#4{%
-    \begin{table*}[#1]
-       \hrule
-       \vskip .5\baselineskip
-       \begin{minipage}\columnwidth
-           \small\input table#2\relax
-       \end{minipage}
-       \vskip .5\baselineskip plus .5\baselineskip
-       \caption{#3}%
-       \label{#4}%
-       \vskip 2pt
-       \hrule
-    \end{table*}
-}
-
-
-% Document style options:
-%           10pt - Makes ten-point type the normal (default) type size
-%      draftnote - Customized draft option
-
-\@namedef{ds@10pt}{\def\@ptsize{0}}    %%% for orthogonality
-
-
-\newif\ifdraft \draftfalse
-
-\def\draftstring{{\ifdraft \tt Draft\fi}}
-
-\def\draftext{%
-    \ifdraft
-       \begingroup
-           \tt
-           \ifodd\thepage
-               \LaTeX set \today\ with \fmtname\ v\fmtversion
-           \else
-               Draft \versiontag/ of \versiondate/
-           \fi
-       \endgroup
-    \fi
-}
-
-\def\versiontag/{%
-    \gdef\versiontag/{\#0}%
-    \gdef\versiondate/{\today}%
-    \@input{\jobname.vrsn}%6
-    \versiontag/%
-}
-\def\versiondate/{%
-    \gdef\versiontag/{\#0}%
-    \gdef\versiondate/{\today}%
-    \@input{\jobname.vrsn}%
-    \versiondate/%
-}
-
-\def\ds@draftnote{%
-    \drafttrue
-    \@ifundefined{ds@draft}{}{\ds@draft}%
-    \def\ps@plain{%
-       \def\@oddhead{\draftext\hfil}%
-       \def\@oddfoot{\draftstring\hfil\rm\thepage\hfil\draftstring}%
-       \let\@evenhead=\@oddhead
-       \let\@evenfoot=\@oddfoot
-    }%
-}
-
-
-% The Title
-
-\def\title#1{%
-    \gdef\@title{#1}%
-    \gdef\banner{%
-       \newpage\setcounter{page}{1}%
-       \begin{center}\Large#1\end{center}%
-    }%
-}
-
-
-% Miscellany
-
-\def\implies{\quad\supset\ }
-
-\def\tdots{\ldots\thinspace}
-
-\def\boxit#1{\fbox{\sc#1}}
-
-\def\note#1{\ifdraft\marginpar{\tt#1}\fi}
-
-
-% Fractions (from The TUGboat v6 n1, 1985)
-
-\def\myfrac#1/#2{%
-    \leavevmode\kern.1em
-    \raise.5ex\mbox{\the\scriptfont\z@ #1}\kern-.1em
-    /\kern-.15em\lower.25ex\mbox{\the\scriptfont\z@ #2}%
-}
-
-
-% Trademarks...
-
-\input trademark
-
-
-% Startup
-
-\xdef\today{%
-    \ifcase\month
-       \number\month\or
-       January\or February\or March\or April\or May\or June\or
-       July\or August\or September\or October\or November\or December\else
-       \number\month\fi
-    \space\number\day, {\noexpand\mit\number\year}%
-}
-
-\begingroup
-    \count0=\time
-    \count1=\count0
-    \divide\count0 by 60
-    \count2=\count0
-    \multiply\count0 by 60
-    \advance\count1 by -\count0
-    \ifnum\count2>11
-       \ifnum\count2>12 \advance\count2 by -12\fi
-       \def\ampm{pm}%
-    \else
-       \ifnum\count2=0 \advance\count2 by 12\fi
-       \def\ampm{am}%
-    \fi
-    \xdef\daytime{%
-       \ifnum\count2<10 0\fi \the\count2:%
-       \ifnum\count1<10 0\fi \the\count1
-       \ampm
-    }%
-\endgroup
-
-
-\makeatother                           % back to normal
diff --git a/docs/historical/mh6.5/mh6.bbl b/docs/historical/mh6.5/mh6.bbl
deleted file mode 100644 (file)
index de04fdc..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-\begin{thebibliography}{MRose85}
-
-\bibitem[MRose85]{MH.USR}
-Marshall~T. Rose and John~L. Romine.
-\newblock {\it {The Rand MH Message Handling System: User's Manual}}.
-\newblock Department of Information and Computer Science, University of
-  California, Irvine, \mh6 edition, November, {\oldstyle 1985}.
-\newblock UCI Version.
-
-\end{thebibliography}
diff --git a/docs/historical/mh6.5/mh6.major b/docs/historical/mh6.5/mh6.major
deleted file mode 100644 (file)
index 0cfbf08..0000000
+++ /dev/null
@@ -1 +0,0 @@
-2
diff --git a/docs/historical/mh6.5/mh6.minor b/docs/historical/mh6.5/mh6.minor
deleted file mode 100644 (file)
index f599e28..0000000
+++ /dev/null
@@ -1 +0,0 @@
-10
diff --git a/docs/historical/mh6.5/mh6.tex b/docs/historical/mh6.5/mh6.tex
deleted file mode 100644 (file)
index 29b169e..0000000
+++ /dev/null
@@ -1,617 +0,0 @@
-% run this through LaTeX
-
-\input lcustom
-
-\documentstyle[12pt,sfwmac]{article}
-
-\begin{document}
-
-\title{Changes to\\ The Rand MH Message Handling System:\\
-       MH \#6.5 for 4.3BSD UNIX}
-\author{Marshall T.~Rose\\
-       Northrop Research and Technology Center\\
-       One~Research Park\\
-       Palos Verdes Peninsula, CA  90274}
-\date{\ifdraft \versiondate/\\ Version \versiontag/\else \today\fi}
-\maketitle
-\footnotetext[0]{\hskip -\parindent
-This document (version \versiontag/)
-was \LaTeX set \today\ with \fmtname\ v\fmtversion.}
-
-\begin{abstract}
-This document describes the user-visible change to the
-UCI version of the Rand \MH/ system that were made from \mh5 to \MH/ \#6.5.
-It is based on the \mh6 changes document,
-but has been updated to accurately reflect the \MH/ distributed with
-4.3\bsd/~\unix/.
-This document does not describe bug-fixes, per se,
-or internal changes,
-unless these activities resulted in a visible change for the \MH/ user.
-
-This document is meant to supplement,
-not supersede, the standard \MH/ User's manual\cite{MH.USR}.
-
-Comments concerning this documentation should be addressed to the Internet
-mailbox {\sf Bug-MH@ICS.UCI.EDU}.
-\end{abstract}
-
-\newpage
-\f\section*     {Acknowledgements}
-The \MH/ system described herein is based on the original Rand \MH/ system.
-It has been extensively developed (perhaps too much so) by Marshall T.~Rose
-and John L.~Romine at the University of California, Irvine.
-Einar A.~Stefferud, Jerry N.~Sweet,
-and Terry P.~Domae provided numerous suggestions
-to improve the UCI version of \MH/.
-Of course,
-a large number of people have helped \MH/ along.
-The list of ``\MH/~immortals'' is too long to list here.
-However, Van Jacobson deserves a special acknowledgement for his tireless
-work in improving the performance of \MH/.
-Some programs have been speeded-up by a factor of 10 or 20.
-All of users of \MH/, everywhere, owe a special thanks to Van.
-
-\f\section*     {Disclaimer}
-The Regents of the University of California wish to make it known that:
-\begin{quote}
-Although each program has been tested by its contributor,
-no warranty, express or implied,
-is made by the contributor or the University of California,
-as to the accuracy and functioning of the program
-and related program material,
-nor shall the fact of distribution constitute any such warranty,
-and no responsibility is assumed by the contributor
-or the University of California in connection herewith.
-\end{quote}
-
-\newpage
-\f\section*     {Conventions}
-In this document,
-certain \LaTeX -formatting conventions are adhered to:
-\begin{enumerate}
-\item  The names of \unix/ commands, such as \pgm{comp},
-are presented in {\it text italics}.
-
-\item  Arguments to programs, such as \arg"msgs",
-are presented in {\tt typewriter style} and delimited by single-quotes.
-
-\item  \unix/ pathnames and envariables,
-such as $$\file{/usr/uci/}\hbox{\qquad and\qquad}\file{\$SIGNATURE},$$
-are presented in {\sl slanted roman}.
-
-\item  Text presenting an example, such as
-\begin{verbatim}
-    comp -editor zz
-\end{verbatim}
-is presented in {\tt typewriter style}.
-\end{enumerate}
-
-\newpage
-\f\section*     {General Changes}
-Unlike the changes between \mh4 and \mh5,
-a large number of user-visible changes have been made in \mh6.
-These changes have been in the form of bug fixes and several generalizations.
-The majority of these will not affect novice users.
-In addition, \mh6 is a great deal faster than \mh5:
-all programs have been speeded-up significantly,
-thanks to work done by Van Jacobson as part of the process of including \mh6
-in the 4.3\bsd/~\unix/ distribution.
-
-This document describes all user-visible changes to \mh5 from it's initial
-release to the intermediate release of \MH/ \#6.5.
-
-\subsection*   {System-5 Support}
-In addition to support for \bsd/~\unix/, V7~\unix/ and \xenix/ variants of
-\unix/,
-\MH/ finally has support for the AT\&T variant of \unix/, System~5.
-Hopefully this will greatly expand the number of system which can run \MH/.
-Ironically,
-it appears that five ports of earlier versions of \MH/ (including \mh5)
-were done,
-but news of the work was not widespread.%
-\footnote{In fact,
-three groups in one large organization ported \MH/ independently,
-each without knowledge of the others' work.}
-
-\subsection*   {Documentation}
-Several new documents have been included in the \mh6 distribution:
-The paper {\em MH.5: How to process 200 messages a day and still get some
-real work done}
-was presented at the 1985 Summer Usenix Conference and Exhibition in
-Portland, Orgeon.
-Another paper, {\em MH: A Multifarious User Agent},
-has been accepted for publication by Computer Networks.
-Both describe \MH/,
-the former from a more technical and somewhat humorous perspective,
-the latter from a more serious and research-oriented perspective.
-In addition,
-a third paper has been included,
-{\em Design of the TTI Prototype Trusted Mail Agent},
-which describes a so-called ``trusted'' mail agent built on top of \MH/.
-This paper was presented at the Second International Symposium on
-Computer Message Systems in Washington, D.C.
-A fourth paper,
-{\em MZnet: Mail Service for Personal Micro-Computer Systems},
-is also included.
-This paper,
-which was presented at the First International Symposium on Computer Message
-Systems in Nottingham, U.K.,
-describes a \cpm/-based version of \MH/.
-
-In addition,
-the \MH/ tutorial, {\em The Rand MH Message Handling System: Tutorial},
-and,
-{\em The Rand MH Message Handling System: The UCI BBoards Facility},
-have both been updated by Jerry N.~Sweet.
-
-For \MH/ administrators (PostMasters and the like),
-there's an entirely new document,
-{\em The Rand MH Message Handling System: Administrator's Guide}.
-It explains most of the ``ins and outs'' of maintaining an \MH/ system.
-
-Finally, all of the manual entries and the \MH/ manual have had a thorough
-working over.
-The documentation is expanded, more accurate, and more detailed.
-
-\subsection*   {Help Listings}
-When any \MH/ command is invoked with the \switch"help" switch,
-in addition to listing the syntax of the command and version information,
-the \MH/ configuration options will be listed.
-\MH/ has so many configuration options,
-that when debugging problems, this information is invaluable.
-
-\subsection*   {The \MH/ Profile}
-There are two new profile entries worth noting:
-\verb"MH-Sequences" tells \MH/ the name of the file to record public
-sequences in.
-Users of \pgm{vm}, a proprietary, visual front-end to \MH/,
-make use of this to disable the public sequences feature of \MH/.
-
-The profile entry \verb"Unseen-Sequence" names those sequences which should be
-defined as those messages recently incorporated by \pgm{inc}.
-The \pgm{show} program knows to remove messages from this sequence once it
-thinks they have been seen.
-If this profile entry is not present, or is empty, then no sequences are
-defined.
-Otherwise, for each name given, the sequence is first zero'd and then each
-message incorporated is added to the sequence.
-As such, this profile entry is rather analogous to the
-\verb"Previous-Sequence" entry in the user's \MH/ profile.
-
-In addition, the \verb"Alternate-Mailboxes" entry in the profile has been
-expanded to support simple wild-carding.
-Also, the default for this profile entry is now the user's mail-id at any host.
-This change was made since \MH/ can no longer reliably figure out what
-the user's real outgoing address looks like.
-
-Finally,
-when the \pgm{install-mh} program is automatically invoked by \MH/,
-it won't prompt the user for information.
-Instead, it notes that it's setting up the default environment.
-In addition,
-the \MH/ administrator may set-up a file called \file{mh.profile} in the \MH/
-library area which is consulted by \pgm{install-mh} when initializing the
-user's \profile/.
-
-\subsection*   {The \MH/ Context}
-The \pgm{folder}, \pgm{scan}, and \pgm{show} programs have been modified to
-update the user's \MH/ context prior to writing to the user's terminal.
-This allows the \MH/ user interrupt output to the terminal and still have the
-expected context.
-This is especially useful to interrupt long \pgm{scan} listings.
-This change also introduces a subtle bug between \pgm{show} and messages
-denoted by the \verb"Unseen-Sequence".
-See \man show(1) for the details.
-
-\subsection*   {Addresses and 822 support}
-\MH/ now fully supports the RFC-822 routing syntax for addresses
-(it used to recognize the syntax, but ignore the information present).
-In addition,
-there are three major modes for support of non-822 addressing in \MH/:
-\begin{itemize}
-\item  BERK\\
-This is useful on sites running \SendMail/.
-It doesn't support full 822--style addressing,
-in favor of recognizing such formats as ACSnet, and so on.
-For sites that can't run in an 822--compliant environment,
-this is the option to use
-(at the price of sacrificing some of the power of 822--style addressing).
-This also drastically reduces the address formatting facilities described
-below.
-
-\item  DUMB\\
-Although not as liberal as BERK,
-the DUMB option is useful on sites in which the message transport system
-conforms to the 822 standard,
-but wants to do all the defaulting itself.
-
-\item  BANG\\
-From out in left field,
-the BANG option favors \UUCP/-style addressing over 822--style addressing.
-Hopefully when all the \UUCP/ sites around get around to adopting domain-style
-addresses, this option won't be needed.
-\end{itemize}
-
-The \pgm{ap} program (mentioned momentarily) and the \pgm{ali} program
-both support a \switch"normalize" switch indicate if addresses should be
-resolved to their ``official'' hostnames.
-
-\subsection*   {New Programs}
-There are five new programs available:
-The \pgm{ap} program is the \MH/ stand-alone address parser.
-It's useful for printing address in various formats
-(and for debugging address strings).
-The \pgm{dp} program is similar, but works on dates instead of addresses.
-
-The \pgm{msgchk} program checks for new mail,
-possibly using the Post Office Protocol, POP, described below.
-
-A new receive mail hook,
-the \pgm{rcvstore} program,
-which was written by Julian L.~Onions is available.
-
-Finally, a visual front-end to \pgm{msh} called \pgm{vmh} has been included.
-(This program is discussed in greater detail later on.)
-
-\subsection*   {Message Numbering}
-\MH/ now no longer restricts the number of messages which may reside in a
-folder
-(beyond that of system memory constraints).
-This means that message numbers larger than 2000 are permissible.
-Hopefully this will make life easier for people reading the network news
-using \MH/.
-
-\f\section*     {The WhatNow Shell}
-In \mh6,
-there is now the concept of a unified \whatnow/ processor that
-the four composition programs, \pgm{comp}, \pgm{dist}, \pgm{forw},
-and \pgm{repl} all invoke.
-This permits a greater flexibility in building mail applications with \MH/.
-As a result, there's a new program, \pgm{whatnow}, which acts as the default
-\whatnow/ program.
-Consult the \man whatnow(1) manual entry for all the details.
-The only important user-visible change is the \verb"headers" option went away,
-which wasn't used that much anyway.
-
-
-The only other thing worth noting is that unless \MH/ has been compiled with
-the UCI option,
-the user's \file{\$HOME/.signature} file is not consulted for the user's
-personal name.
-
-\f\section*     {Format Strings}
-A general format string facility has been added to allow \MH/ users to tailor
-the output of certain commands.
-
-The \pgm{inc}, \pgm{scan}, \pgm{ap}, and \pgm{dp} programs all consult a
-file containing format strings.
-Format strings,
-which look a lot like \man printf(3) strings,
-give these \MH/ commands precise instructions on how to format their output.
-
-As a result,
-the \pgm{inc} and \pgm{scan} programs no longer have the
-\switch"size", \switch"nosize",
-\switch"time", \switch"notime",
-\switch"numdate", and \switch"nonumdate"
-switches.
-These switches have been replaced with the
-\switch"form formatfile" switch and the \switch"format string" switch.
-The former directs the program to consult the named file for the format
-strings.
-The latter directs the program to use the named string as the format.
-To get the behavior of the old \switch"time" option,
-use the \switch"form scan.time" option.
-Similarly,
-to get the effect of \switch"size",
-use \switch"form scan.size".
-
-A fun form to use is \switch"form scan.timely" with \pgm{scan}.
-Try it sometime.
-
-
-The \pgm{repl} command uses a file containing format files to
-indicate how the reply draft should be constructed.
-Note that reply templates prior to \mh6 are incompatible with \mh5.%
-\footnote{In fact, reply templates between \mh6 and \MH/ \#6.5 are
-imcompatible.}
-Don't worry though,
-it's quite easy to convert the templates by hand.
-(Those clever enough to have written a reply template to begin with won't
-have {\em any\/} problem.)
-
-Similarly, when the \pgm{forw} program is constructing a digest,
-it uses a file containing format strings to indicate how to build the
-encapsulating draft.
-
-Finally, you can use these facilities in \pgm{mhl} as well.
-
-\f\section*     {News}
-The depreciated \MH/ news system (from \mh1) is now de-supported.
-Use the ``hoopy'' BBoards facility instead.
-
-\f\section*     {BBoards}
-\MH/ maintainers take note:
-the default home directory for the bboards login has changed from
-\file{/usr/bboards/} to \file{/usr/spool/bboards/}.
-Use the \verb"bbhome" directive in your \MH/ configuration file to set
-it back to the old value if you wish.
-
-In addition, the aliases field for a BBoard in the BBoards file is now
-deemed useful only for addressing, not for user input to \pgm{bbc}.
-This means when giving the name of a BBoard to \pgm{bbc},
-only the official name should be used.
-
-A final note for mailsystem maintainers:
-the \MMDFII/ BBoards channel and the \SendMail/ BBoards mailer have been
-modified to use the standard message encapsulation format when returning
-failed messages to the list maintainer.
-This means that the failure notices that the maintainer receives can
-simply be \pgm{burst}.
-
-\subsection*   {New Switches in bbc}
-The \pgm{bbc} program permits you to specify the \verb"mshproc" to use on the
-command line by using the \switch"mshproc program" option.
-There's also a \switch"rcfile file" option which does ``the obvious thing''.
-In addition, options which aren't understood by \pgm{bbc} are passed along to
-the \verb"mshproc".
-
-In addition, the following commands
-pass any unrecognized switches on to the program that they invoke:
-\pgm{bbc}, \pgm{next}, \pgm{show}, \pgm{prev}, and \pgm{vmh}.
-
-\subsection*   {Distributed BBoards}
-If both BBoards and POP (see the next section) are enabled,
-then distributed BBoards can be supported on top of the POP service.
-This allows the \MH/ user to read BBoards on a server machine
-instead of the local host
-(which saves a lot of wasted disk space when the same BBoards are replicated
-several times at a site with several hosts).
-See the {\em Administrator's Guide\/} for information on how this can be made
-completely transparent to the \MH/ user.
-
-If you have several machines at your site running 4.2\bsd/~\unix/
-and connected by an \ethernet/ (or other high-speed LAN),
-you {\em want\/} this software.
-
-\subsection*   {Visual Front-End to msh}
-A simple window management protocol has been implemented for \MH/ programs
-that might wish to act as a back-end to a sophisticated visual front-end.
-
-The first implementation of a server side (front-end) program is \pgm{vmh},
-which uses \man curses(3) to maintain a split-screen interface.
-Perhaps look for a \pgm{mhtool} program for the SUN next!
-
-The \pgm{msh} program has been modified to speak the client side (back-end)
-of this protocol, if so directed.
-At present, \pgm{msh} is the only program in the \MH/ distribution which
-implements the client side of the window management protocol.
-
-\subsection*   {Updates in msh}
-Prior to quitting,
-the \pgm{msh} command now asks if the \pgm{packf\/}'d file you've been
-perusing should be updated if you've modified it and the file is writable by
-you.
-The file can be modified by using \pgm{burst}, \pgm{rmm}, \pgm{rmm},
-or \pgm{sortm} commands.
-The file can also be modified by using the \pgm{refile} command without the
-\switch"link" option.
-(Or course,
-the \switch"link" option doesn't actually link anything to the file.)
-
-\f\section*     {Distributed Mail}
-\MH/ now contains a powerful facility for doing distributed mail
-(having \MH/ reside on a host different than the message transport agent).
-For general information,
-consult either the 
-{\em MH.5: How to process 200 messages a day and still get some real work
-done} paper,
-or the {\em MH: A Multifarious User Agent} paper.
-For specific information,
-consult the {\em Administrator's Guide}.
-Here's a brief synopsis:
-
-This POP facility in \MH/ is based on a modification of the ARPA Post
-Office Protocol (POP).
-A POP {\em subscriber\/} is a remote user,
-on a POP {\em client host},
-that wishes to pick-up mail on a POP {\em service host}.
-
-There are two ways to administer POP:
-\begin{itemize}
-\item  Naive Mode\\
-Each user-id in the \man passwd(5) file is considered a POP subscriber.
-No changes are required for the mailsystem on the POP service host.
-However,
-this method requires that each POP subscriber have an entry in the password
-file.
-The POP server will fetch the user's mail from wherever maildrops are kept on
-the POP service host.
-This means that if maildrops are kept in the user's home directory,
-then each POP subscriber must have a home directory.
-
-\item  Smart Mode\\
-This is based on the notion that the list of POP subscribers and the list of
-login users are completely separate name spaces.
-A separate database (similar to the \man BBoards(5) file)
-is used to record information about each POP subscriber.
-Unfortunately,
-the local mailsystem must be changed to reflect this.
-This requires two changes (both of which are simple):
-\begin{enumerate}
-\item  Aliasing\\
-       The aliasing mechanism is augmented so that POP subscriber addresses
-       are diverted to a special delivery mechanism.
-       \MH/ comes with a program, \man popaka(8), which generates the
-       additional information to be put in the mailsystem's alias file.
-\item  Delivery\\
-       A special POP delivery channel (for \MMDFII/)
-       or POP mailer (for \SendMail/) performs the actual delivery (\mh6
-       supplies both).
-       All it really does is just place the mail in the POP spool area.
-\end{enumerate}
-Clever mailsystem people will note that
-the POP mechanism is really a special case of the more general
-BBoards mechanism.
-\end{itemize}
-These two different philosophies are not compatible on the same POP service
-host: one or the other, but not both, may be run.
-
-In addition, there is one user-visible difference,
-which the administrator controls the availability of.
-The difference is whether the POP subscriber must supply a password to the POP
-server:
-\begin{itemize}
-\item  ARPA standard method\\
-This uses the standard ARPA technique of sending a username and a password.
-The appropriate programs (\pgm{inc}, \pgm{msgchk}, and possibly \pgm{bbc\/})
-will prompt the user for this information.
-
-\item  \unix/ remote method\\
-This uses the Berkeley \unix/ reserved port method for authentication.
-This requires that the two or three mentioned above programs be {\em setuid\/}
-to root.
-(There are no known holes in any of these programs.)
-\end{itemize}
-These two different philosophies are compatible on the same POP service host:
-to selectively disable RPOP for hosts which aren't trusted,
-either modify the \file{.rhosts} file in the case of POP subscribers being
-\unix/ logins,
-or zero the contents of network address field of the \man pop(5) file for the
-desired POP subscribers.
-
-The \pgm{inc} command also has two other switches when \MH/ is enabled for
-POP:
-\switch"pack file" and \switch"nopack".
-Normally,
-\pgm{inc} will use the POP to incorporate mail from a POP service host into
-an \MH/ folder (\verb"+inbox").
-However,
-there are some misguided individuals who prefer to \pgm{msh} to read their
-maildrop.
-By using the \switch"pack file" option,
-these individuals can direct \pgm{inc} to fetch their maildrop from the POP
-service host and store it locally in the named file.
-As expected, \pgm{inc} will treat the local file as a maildrop,
-performing the appropriate locking protocols.
-And,
-if the file doesn't exist,
-the user is now asked for confirmation.
-
-\f\section*     {Rcvmail hooks}
-In order to offer users of \MH/ increased rcvmail hook functionality,
-the \pgm{slocal} program has been upgraded to support the semantics of
-the \MMDFII/ mail-delivery mechanism.
-This means that users of \mh6 can maintain identical \file{.maildelivery}
-files regardless of the underlying transport system.
-See \man mhook(1) for all the details.
-
-\subsection*   {Change in rcvdist}
-The \pgm{rcvdist} rcvmail hook now uses the \MH/ formatting facility when
-redistributing a message.
-
-\subsection*   {Field change in rcvpack}
-The \pgm{rcvpack} rcvmail hook now adds the field name \verb"Delivery-Date:"
-instead of \verb"Cron-Date:" to messages it \pgm{pack\/}s.
-
-\f\section*     {GNU Emacs Support}
-James Larus' \pgm{mh-e} macro package for GNU Emacs (version~17) is included
-in the distribution.
-When loaded in Emacs, this provides a handy front-end.
-
-\f\section*     {Other Changes}
-Here's the miscellany:
-
-\subsection*   {Continuation Lines}
-Alias files used by \MH/,
-display templates used by \pgm{mhl},
-and format files used by \pgm{forw}, \pgm{repl}, and \pgm{scan} all support
-a standard continuation line syntax.
-To continue a line in one of these files,
-simply end the line with the backslash character (`$\backslash$').
-All the other files used by \MH/ are in 822--format,
-so the 822--continuation mechanism is used.%
-\footnote{Looking back,
-it would have been best had all files in \MH/ used the 822--format.}
-
-\subsection*   {Default Date Format}
-\MH/ now uses numeric timezones instead of locally-meaningful alpha timezones
-when generating mail.
-This change was made to encourage the use of unambiguous, globally-meaningful
-timezone strings.
-A local configuration option can disable this correct behavior.
-All of the \pgm{mhl} templates have been modified to use locally-meaningful
-alpha timezones when displaying messages.
-
-\subsection*   {New switch in ali}
-The \pgm{ali} command now has a \switch"noalias" switch to prevent
-system-wide aliases from being interpreted.
-
-\subsection*   {Modifications to show}
-The \switch"format", \switch"noformat", \switch"pr", and \switch"nopr"
-options to \pgm{show} have gone away in favor of a more general mechanism.
-The \switch"showproc program" option tells \pgm{show}
-(or \pgm{next} or \pgm{prev\/}) to use the named program as the \verb"showproc".
-The \switch"noshowproc" option tells \pgm{show}, et. al.,
-to use the \man cat(1) program instead of a \verb"showproc".
-As a result, the profile entry \verb"prproc" is no longer used.
-
-\subsection*   {Switch change in inc}
-The \switch"ms ms-file" switch in \pgm{inc} has been changed to
-\switch"file name" to be more consistent.
-
-\subsection*   {Front-End to mhl}
-When outputting to a terminal,
-the \pgm{mhl} program now runs the program denoted by the profile entry
-\verb"moreproc".
-If this entry is not present,
-the default is the UCB \pgm{more} program.
-If the entry is non-empty,
-then that program is spliced between \pgm{mhl} and the user's terminal.
-The author uses the \pgm{less} program as his \verb"moreproc".
-
-Of course,
-if \pgm{mhl} isn't outputting to a terminal,
-then \verb"moreproc" is not invoked.
-
-Finally,
-to aid in the construction of replies,
-a prefix string may be specified for the \verb"body" component of the message
-being replied-to.
-Simply use the \verb"component=" construct in \pgm{mhl} for \verb"body:".
-
-\subsection*   {Confirmation in packf}
-If the file specified by the \switch"file name" switch doesn't exist,
-the user is now asked for confirmation.
-
-\subsection*   {Complex Expressions in pick}
-The \pgm{pick} command now handles complex boolean expressions.
-
-\subsection*   {Defaults change in prompter and burst}
-The \switch"prepend" option is now the default in \pgm{prompter}.
-The \switch"noinplace" option is now the default in \pgm{burst}.
-
-\subsection*   {Fcc:s and post}
-If multiple Fcc:s for a message are specified during posting,
-\pgm{post} will try much harder to preserve links.
-
-\subsection*   {Interactive option in rmf}
-The \pgm{rmf} program has been changed to support an \switch"interactive"
-switch.
-If given,
-then the user is prompted regarding whether the folder should be deleted.
-If the folder to be removed is not given by the user,
-this switch is defaulted to on.
-
-\subsection*   {Trusted Mail Interface}
-\MH/ now has an interface for so-called ``trusted mail'' applications.
-Although the modifications to \MH/ to support this are in the public domain,
-the actual library that \MH/ uses is not.
-Contact Professor David J.~Farber ({\sf Farber@UDel\/}) for more information.
-
-\bibliography{bcustom,sfwdoc}
-\bibliographystyle{alpha}
-
-\showsummary
-
-\end{document}
diff --git a/docs/historical/mh6.5/mh6.vrsn b/docs/historical/mh6.5/mh6.vrsn
deleted file mode 100644 (file)
index 56094e0..0000000
+++ /dev/null
@@ -1,6 +0,0 @@
-\begingroup
-    \catcode`\#=12
-    \gdef\versiontag/{#2.10}%
-    \gdef\versiondate/{Wed May 21 21:06:09 PDT 1986}%
-\endgroup
-\typeout{Version \versiontag/ of \versiondate/}
diff --git a/docs/historical/mh6.5/sfwdoc.bib b/docs/historical/mh6.5/sfwdoc.bib
deleted file mode 100644 (file)
index b74f815..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-% ``Software'' bibliography database for BiB-TeX
-
-
-@misc{AmSTeX,
-       author  =       "Michael Spivak",
-       title   =       "{Summary of \AmSTeX{}}",
-       month   =       sep,
-       year    =       1983
-}
-
-@misc{BibTeX,
-       author  =       "Oren Patashnik",
-       title   =       "{\BibTeX{}ing}",
-       month   =       may,
-       year    =       1983
-}
-
-@misc{Emacs,
-       author  =       "James Gosling",
-       title   =       "{UNIX EMACS, UCI Version}",
-       month   =       may,
-       year    =       1982
-}
-
-@book{LaTeXbook,
-       author  =       "Leslie Lamport",
-       title   =       "{\LaTeX{}: A Document Preparation System}",
-       publisher=      {Addison-Wesley},
-       address=        {Reading, Massachusetts},
-       year    =       1985
-}
-
-@manual{MH.ADM,
-       title   =       "{The Rand MH Message Handling System:
-                       Administrator's Guide}",
-       edition =       {\mh6},
-       author  =       mtr,
-       organization=   ics,
-       address =       uci,
-       month   =       nov,
-       year    =       1985,
-       note    =       {UCI Version}
-}
-
-@manual{MH.BB,
-       title   =       "{The Rand MH Message Handling System:
-                       The UCI BBoards Facility}",
-       author  =       mtr,
-       organization=   cis,
-       address =       udel,
-       month   =       oct,
-       year    =       1984
-}
-
-@manual{MH.POP,
-       title   =       "{Post Office Protocol (revised)}",
-       author  =       mtr,
-       organization=   cis,
-       address =       udel,
-       month   =       oct,
-       year    =       1984
-}
-
-@manual{MH.XPOP,
-       title   =       "{Post Office Protocol (revised)
-                       Extended Service Offerings}",
-       author  =       mtr,
-       organization=   nrtc,
-       month   =       dec,
-       year    =       1985
-}
-
-@manual{MH.USR,
-       title   =       "{The Rand MH Message Handling System:
-                       User's Manual}",
-       edition =       {\mh6},
-       author  =       "Marshall T. Rose and John L. Romine",
-       organization=   ics,
-       address =       uci,
-       month   =       nov,
-       year    =       1985,
-       note    =       {UCI Version}
-}
-
-@manual{MH.TUT,
-       title   =       "{The Rand MH Message Handling System:
-                       Tutorial}",
-       author  =       "Marshall T. Rose and Jerry N. Sweet",
-       organization=   cis,
-       address =       udel,
-       month   =       oct,
-       year    =       1984
-}
-
-@manual{MH.4,
-       title   =       "{Changes to the Rand MH Message Handling System:
-                       MH.4}",
-       author  =       mtr,
-       organization=   ics,
-       address =       uci,
-       month   =       jul,
-       year    =       1984
-}
-
-@manual{MH.5,
-       title   =       "{Changes to the Rand MH Message Handling System:
-                       MH.5}",
-       author  =       mtr,
-       organization=   cis,
-       address =       udel,
-       month   =       jan,
-       year    =       1985
-}
-
-@manual{MH.6,
-       title   =       "{Changes to the Rand MH Message Handling System:
-                       MH.6}",
-       author  =       mtr,
-       organization=   nrtc,
-       month   =       nov,
-       year    =       1985
-}
-
-@manual{MH6.4,
-       title   =       "{Changes to the Rand MH Message Handling System:
-                       MH \#6.4 for 4.3BSD UNIX}",
-       author  =       mtr,
-       organization=   nrtc,
-       month   =       feb,
-       year    =       1986
-}
-
-@inproceedings{MMDF,
-       author  =       "David H. Crocker and E.S. Szurkowski and
-                        David J. Farber",
-       title   =       "{An Internetwork Memo Distribution
-                       Facility~---~MMDF}",
-       booktitle=      "{Proceedings, Sixth Data Communications Symposium}",
-       pages   =       {18--25},
-       month   =       nov,
-       year    =       1979,
-       note    =       {Asilomar}
-}
-
-@inproceedings{MMDFII,
-       author  =       "Douglas P. Kingston~III",
-       title   =       "{MMDFII: A Technical Review}",
-       booktitle=      {Proceedings, Summer Usenix Conference and Exhibition},
-       pages   =       {32--41},
-       month   =       jun,
-       year    =       1984,
-       note    =       {Salt Lake City, Utah}
-}
-
-@misc{PhDTeX,
-       author  =       "E. Timothy Morgan",
-       title   =       "{A Dissertation Style for \AmSTeX{}}",
-       month   =       sep,
-       year    =       1984,
-       note    =       {Department of Information and Computer Science,
-                       University of California, Irvine}
-}
-
-@techreport{PIC,
-       author  =       "Brian W. Kernighan",
-       title   =       "{PIC --- A Graphics Language for Typesetting User
-                       Manual}",
-       type    =       {Computing Science Technical Report},
-       number  =       85,
-       institution=    {Bell Laboratories},
-       address =       {Murray Hill, New Jersey},
-       month   =       mar,
-       year    =       1982
-}
-
-@manual{SendMail,
-       title   =       "{SENDMAIL~---~An Internetwork Mail Router}",
-       author  =       "Eric Allman",
-       organization=   {Britton-Lee, Inc.},
-       address =       {Berkeley, California},
-       month   =       jul,
-       year    =       1983
-}
-
-@manual{Slides,
-       title   =       "{Using \SLiTeX{} to Make Slides at NRTC}",
-       author  =       mtr,
-       organization=   nrtc,
-       month   =       apr,
-       year    =       1986
-}
-
-@book{TeXbook,
-       author  =       "Donald E. Knuth",
-       title   =       "{The \TeX{}book}",
-       publisher=      {Addison-Wesley},
-       address =       {Reading, Massachusetts},
-       year    =       1983
-}
-
-@techreport{TeX.Roff,
-       author  =       "Michael Urban",
-       title   =       "{A Guide to \TeX{} for the Troff User}",
-       institution=    {TRW Software Productivity Project},
-       month   =       oct,
-       year    =       1984
-}
-
-@misc{TeX.Trip,
-       author  =       "Donald E. Knuth",
-       title   =       "{A Test File for \TeX{}}",
-       month   =       jul,
-       year    =       1983,
-       note    =       {Version 0.999}
-}
-
-@manual{UCI.map,
-       title   =       "{The UCI RoadMap}",
-       author  =       mtr,
-       organization=   cis,
-       address =       udel,
-       month   =       oct,
-       year    =       1984
-}
-
-@article{WEB.TUT,
-       author  =       "Donald E. Knuth",
-       title   =       "{Literate Programming}",
-       journal =       {The Computer Journal},
-       year    =       1983
-}
-
-@misc{WEB.USR,
-       author  =       "Donald E. Knuth",
-       title   =       "{WEB USER MANUAL}",
-       year    =       1983
-}
diff --git a/docs/historical/mh6.5/sfwmac.sty b/docs/historical/mh6.5/sfwmac.sty
deleted file mode 100644 (file)
index fe0cb23..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-% LaTeX support for writing UNIX-style documentation
-
-
-% UNIX-style references
-
-\def\sfwFILfont{\sl}
-
-\def\@egaux#1#2#3{%
-    \def#1##1{%
-       #2\begingroup \tt \let\do=\@makeother \dospecials
-       \def\@tempa####1##1{####1\endgroup#3}\@tempa
-    }%
-}
-
-\def\pgm#1{\mbox{\it#1}\index{#1}}     % programs
-\def\xpgm#1#2{\mbox{\it#1}\index{\noexpand\noexpand\noexpand#2{}}}
-\def\man#1(#2){\xpgm{#1\/}{#1}(#2)}    % manual entries
-\@egaux\arg{`{}}{'{}}                  % arguments to programs
-\@egaux\switch{`{}-}{'{}}              % switches to programs
-\def\file#1{\mbox{\sfwFILfont#1}}      % filename
-
-
-% Commonly used software systems
-
-\def\sfwPGMfont{\sf}
-
-\def\@sfwdef#1#2{\@sfwaux{#1/}{#2}}
-\def\@sfwaux#1#2{\def#1{\mbox{#2}\index{\noexpand\noexpand\noexpand#1{}}}}
-
-\@sfwdef\EMACS{\sfwPGMfont EMACS}
-\@sfwdef\INFO{\sfwPGMfont INFO}
-\@sfwdef\MLisp{\sfwPGMfont MLisp}
-
-\@sfwdef\MH{\sfwPGMfont MH}
-\def\mh#1{\mbox{\sfwPGMfont mh.#1}\index{mh.#1}}
-\@sfwdef\Mail{\file{Mail/}}
-\@sfwdef\context{\file{context}}
-\@sfwdef\profile{\file{.mh\_profile}}
-\@sfwdef\sequences{\file{.mh\_sequences}}
-\def\whatnow/{\verb*"What now?"\index{whatnow}}
-
-\@sfwdef\MMDF{\sfwPGMfont MMDF}
-\@sfwdef\MMDFI{\sfwPGMfont MMDF-I}
-\@sfwdef\MMDFII{\sfwPGMfont MMDF-II}
-
-\@sfwdef\SendMail{\sfwPGMfont SendMail}
-\@sfwdef\UUCP{\sfwPGMfont UUCP}
-
-\def\AmS{$\cal A$\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em$\cal S$}
-\@sfwaux\AmSTeX{\rm \AmS-\TeX}
-
-\@sfwaux\PhDTeX{\rm P\kern-.05em{\sc h\kern-.025em D}\kern-0.08em\TeX}
-
-\@sfwaux\LaTeX{\rm L\kern-.36em\raise.3ex\hbox{\sc a}\kern-.15em\TeX}
-\@sfwaux\BibTeX{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em\TeX}
-\@sfwaux\SLiTeX{\rm S\kern-.06em{\sc l\kern-.035emi}\kern-.06em\TeX}
-
-\@sfwaux\NRTeX{\rm NR-\TeX}
-
-\@sfwdef\ROFF{\sfwPGMfont ROFF}
-
-\@sfwdef\SUMEX{\sfwPGMfont SUMEX}
-
-\@sfwdef\WEB{\sfwPGMfont WEB}
-
-\@sfwdef\TTYD{\sfwPGMfont TTYD}
diff --git a/docs/historical/mh6.5/trademark.tex b/docs/historical/mh6.5/trademark.tex
deleted file mode 100644 (file)
index 07dccd5..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-% Trademarks...
-
-\def\gobble#1{}
-\def\tradeORGfont{\sc}                 % used for organizations (e.g., ACM)
-\def\tradeNAMfont{\sf}                 % used for names (e.g., Ada)
-
-\def\tradeorg#1{%
-    \tradeaux{#1}{\expandafter\gobble\string#1}\empty\tradeORGfont
-}
-\def\tradename#1#2#3{\tradeaux{#1}{#2}{#3}\tradeNAMfont}
-\def\trademark#1#2{%
-    \tradeaux{#1}{\expandafter\gobble\string#1}{#2}\tradeNAMfont
-}
-
-\def\tradeaux#1#2#3#4{%
-    \def#1/{\relax}%                   % in case #3 references #1
-    \setbox0=\hbox{#3}%                        %   when we make the \hbox
-    \ifdim\wd0>0pt
-       \gdef#1/{%
-           \tradeaux{#1}{#2}\empty{#4}%
-           #1/\footnote{#1/ is a trademark of #3.}%
-       }%
-    \else
-       \gdef#1/{{#4#2}}%
-    \fi
-}
-
-\tradeorg\acm
-\tradeorg\ansi
-\tradename\Ada{Ada}
-               {the Department of Defense (\Ada/ Joint Program Office)}
-\tradeorg\bsd
-\tradeorg\ccitt
-\tradename\cms{CMS}            {International Business Machines, Incorporated}
-\tradename\cpm{CP/M}           {Digital Research Corporation}
-\tradename\decnet{DECnet}      {Digital Equipment Corporation}
-\tradeorg\dod
-\tradename\ethernet{Ethernet}  {the Xerox Corporation}
-\tradename\eunice{Eunice}      \empty
-\tradeorg\ieee
-\tradename\lattice{Lattice}    {Lattice, Incorporated}
-\tradename\locus{Locus}                {Locus Computing Corporation}
-\def\microvax/{$\mu$\vax/}
-\def\microvms/{$\mu$\vms/}
-\tradeorg\milstd
-\tradename\msdos{MS-DOS}       {Microsoft Corporation}
-\tradename\pcinterface{PC-Interface}%
-                               {Locus Computing Corporation}
-\tradename\pdp{PDP}            {Digital Equipment Corporation}
-\tradename{\tops20}{Tops20}    {Digital Equipment Corporation}
-\tradename\trustedmail{Trusted\ Mail}%
-                               {Trusted Technologies, Incorporated}
-\tradename\ultrix{ULTRIX}      {Digital Equipment Corporation}
-\tradename\unibus{UNIBUS}      {Digital Equipment Corporation}
-\tradename\unix{UNIX}          {AT\&T Bell Laboratories}
-\tradename\vax{VAX}            {Digital Equipment Corporation}
-\tradename\vm{VM}              {International Business Machines, Incorporated}
-\tradename\vms{VMS}            {Digital Equipment Corporation}
-\tradename\xenix{Xenix}                {Microsoft Corporation}
diff --git a/docs/historical/mh6.5/version.sh b/docs/historical/mh6.5/version.sh
deleted file mode 100644 (file)
index 1b473ee..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-if [ "x$1" = x ]; then echo 'usage: version.sh top-level-file' 1>&2; exit 1; fi
-
-if [ ! -r $1.major ]; then
-    echo 1 > $1.major
-    rm -f $1.minor
-fi
-if [ ! -r $1.minor ]; then echo 0 > $1.minor; fi
-
-echo '\begingroup' > $1.vrsn
-echo '    \catcode`\#=12' >> $1.vrsn
-
-echo `cat $1.major $1.minor` | \
-awk '  { major = $1; minor = $2 + 1}\
-END    { printf "    \\gdef\\versiontag/{#%d.%d}%%\n", major, minor >> "'$1.vrsn'"; \
-         printf "%d\n", minor > "'$1.minor'"; }'
-
-echo '    \gdef\versiondate/{'`date`'}%' >> $1.vrsn
-echo '\endgroup' >> $1.vrsn
-echo '\typeout{Version \versiontag/ of \versiondate/}' >> $1.vrsn
diff --git a/docs/historical/mh6/MHCHANGES b/docs/historical/mh6/MHCHANGES
deleted file mode 100644 (file)
index 7069fda..0000000
+++ /dev/null
@@ -1,1773 +0,0 @@
-                     MHCHANGES from mh.5 to mh.6
-
-
-Tue Jan  8 13:54:13 1985  /mtr (agent: Marshall Rose) <uci@udel-dewey>
-
-       MH.5 is finished, finally.
-
-
-Sat Jan 26 09:05:52 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-                 -- Fixes for MHMTS configuration --
-       conf/makefiles/uip: shouldn't build rcvdist on an MHMTS system
-       conf/doc/mhook.rf: ditto
-       conf/config/mts.c, mhmts/netmail.c, mts/mts.h, uip/rmail.c:
-           some typos in the declarations of global MTS variables that
-           are MHMTS specific
-       mf/mmuu.c: addr_convert() conflicted with routine of same name
-           in uumm.c
-       uip/news.c: looking in the wrong place for <sys/dir.h> on 4.2BSD
-           systems
-
-
-Sat Jan 26 09:08:43 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/{inc,post}.c: changes for #ifdef TMA; this stuff is still
-           under non-disclosure (not the MH code, just the -ltma library
-           which doesn't come with MH)
-
-
-Sat Jan 26 09:38:08 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       tws/dtime.c: #define dysize(), since could be a macro in ctime.c
-           (thanks, Fred)
-
-
-Sat Jan 26 09:12:27 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       MH #5.310[UCI] (uci-750a) released to MH-Workers
-
-
-Sun Jan 27 17:41:03 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       sendmts/smail.c, uip/post.c: with -DSMTP, keep one SMTP connection
-           open, instead of starting a new one for each transaction
-       othersupport/pop/{Makefile,{popd,popser,inc,popsbr}.c}: support
-           "rpop" under #ifdef RPOP
-       othersupport/pop/client.c: remove
-       conf/{config/mts.c,tailor/READ-ME,makefiles/sendmts}, mts/mts.h,
-           sendmts/{smail,client}.c: support new server search list
-           facility used by both -DSMTP and -DPOP
-
-
-Sun Jan 27 18:42:49 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       conf/makefiles/mts: dependency screw-up on mts.o
-
-
-Tue Feb 12 19:33:14 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/mhlsbr.c: clear_screen() logic between messages botched
-
-
-Mon Feb 18 12:53:50 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       conf/doc/send.rf, uip/send.c: de-implement ~/.signature support
-
-
-Wed Feb 20 20:40:14 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       uip/inc.c: fix suggested by John Dilley at Purdue, inc now ignore
-           signals if it's going to zero the maildrop.
-
-
-Wed Feb 20 20:48:12 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       sbr/adios.c: save errno prior to doing fancy perror stuff
-
-
-Fri Mar  1 19:48:53 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/config/config.c: if MORE is defined, used that instead of
-           /usr/ucb/more.  The #ifdef ALTOS dependency is removed.
-          ALTOS users should use options MORE='"/usr/bin/more"',
-          just like users of the Dual.
-       conf/examples/READ-ME: document same
-
-
-Fri Mar  1 19:56:43 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/config/mts.c: for the DUAL, you can't link to a file that you
-           can't read, unbelievable, eh?, so change the creat (foo, 0000)
-           to creat (foo, 0400).  Also, fix up some botched args to a
-           sprintf() call.
-
-
-Fri Mar  1 19:59:32 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/trmsbr.c: forgot to make a termcap buffer TXTSIZ'd instead
-           of BUFSIZ'd.
-
-
-Sat Mar 1 20:21:17 1985  /mtr (agent: Marshall Rose) <mh@uci-750a>
-
-       MH #5.321[UCI] (uci-750a) released to MH-Workers
-
-
-Wed Mar  6 18:08:11 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/{dropsbr,packf,post,slocal}.c: fix to maildrop mapping bug
-           with MHMTS and local delivery in post, and SENDMTS and local
-           delivery in slocal
-
-Wed Mar  6 18:19:46 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       TODO, config/addrsbr.h, sendmts/smail.c, mf/mf.{c,h},
-           uip/{addrsbr,ap,post,rcvdist,sbboards}.c: handle 822-style
-           routing
-
-
-Wed Mar  6 18:59:22 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-              -- Fixes from Robert Elz <kre@ucb-vax> --
-       sbr/makedir.c: use mkdir() under #ifdef BSD42
-       uip/rmf.c: use rmdir() under #ifdef BSD42
-
-
-Sat Mar  9 15:36:13 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       bboards/mmdf/mmdf.{1,2}/bboards/bb_wtmail.c, uip/sbboards.c:
-           fix minor bug requiring nearly major re-write!!!
-
-
-Sat Mar  9 15:54:40 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/dropsbr.c: fix bug when fixing stomped maildrop.
-
-
-Tue Mar 12 18:07:44 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       othersupport/pop/pop.txt: a few minor corrections to typos.
-
-
-Wed Mar 13 22:01:37 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       -- Fixes suggested by Phyllis Kantar <phyl@rand-unix> --
-       uip/{comp,dist,forw,repl}.c: fix quit -delete logic
-       conf/doc/{comp,mh-chart}.rf: document "-file file" switch
-       uip/send.c: "send -help" should done (1) for comp, et. al.
-       uip/send.c: typo "tempoary"
-       conf/doc/{send,whom}.rf: Profile Components forgot Draft-Folder
-       uip/ali.c: always load system aliases
-       conf/doc/{MH,comp,dist,forw,mhook,repl,send,show,mh-alias,mh-mail,
-           mh-profile,mhl,post}.rf: typo fixes
-       conf/doc/send.rf, uip/send.c: -forward now the default, also
-           don't gripe about "show -draft file"
-
-
-Wed Mar 13 22:24:07 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/send.c: fix "use xxx logic"
-       uip/msh.c: a NULL vs. "" typo
-
-
-Thu Mar 14 22:41:37 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-          -- Fixes suggested by John Dilley <jad@Purdue> --
-       conf/{config/mts.c,tailor/READ-ME}: add new mtstailor variables
-           localname, systemname, and uucpchan
-       mts/mts.h, conf/{mh-gen.8,config/{mts.c,mtstailor},tailor/READ-ME}:
-           add new mtstailor variable lockstyle to control style of locking
-       sbr/m_getfld.c: catch the UNIX "from user" line
-       uip/scansbr.c: make use of the UNIX "from user" line
-       uip/addrsbr.c: more #ifdef DUMB support
-       uip/inc.c: minor bug in inc w.r.t. closing locked file
-       uip/post.c: more #ifdef DUMB support
-       uip/replsbr.c: support Return-Path: for defaulting host names
-           as a last resort
-
-
-Fri Mar 15 11:45:00 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       othersupport/emh/READ-ME: new file
-
-
-Fri Mar 15 23:05:43 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       bbsupport/bbexp.c: fix string botch for command to popen.
-           also allow extra arguments to indicate aging period.
-
-
-Fri Mar 15 23:21:29 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       sbr/printsw.c: compress output of printed switches
-       sbr/m_getdefs.c: let $MHCONTEXT override context variable
-       sbr/m_{getdefs,gmsg,sync}.c, conf/doc/mh-profile.rf: let the profile
-           entry "mh-sequences" override .mh_sequences
-       sbr/m_seq.c: optimization
-
-
-Sat Mar 16 00:28:01 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/{inc,msh,rcvtty,scan,scansbr}.c: clean up handling of
-           inc -silent
-       sbr/{llib-lmh,m_send.c}, uip/{annosbr,comp,dist,forw,repl}.c: move
-           annotations into send
-       conf/makefiles/uip, uip/{send,post}.c: ditto
-       conf/doc/{dist,forw,repl}.rf: ditto
-       uip/anno.c: forgot to check (mp -> msgstats[msgnum] & SELECTED)
-
-
-Sat Mar 16 01:38:06 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/config/mts.c: add a few calls to mts_init ("mts") at
-           strategic places
-
-
-Sat Mar 16 12:23:37 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/{mark,msh}.c: don't set previous-sequence to make debugging
-           easier
-
-
-Sat Mar 16 12:49:48 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       Makefile: simply Makefile using sh, also make DESTDIR work
-       conf/makefiles/othersupport: simplify Makefile
-
-
-Tue Mar 19 14:17:30 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       othersupport/mtrenv/bin/{distf,mpick,packit}: updates
-
-
-Tue Mar 19 17:31:14 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/doc/{ap,mh-chart}.rf, uip/ap.c: accept -help switch
-
-
-Tue Mar 19 18:16:33 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/doc/msgchk.rf: new file
-       conf/{doc/{mh,mh-chart,MH}.rf,makefiles/doc}: update for msgchk
-
-
-Thu Mar 21 08:45:11 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       sendmts/smail.c: fix logic error in sm_end(); MMDF-I has this
-           problem, MMDF-II might!
-
-
-Sat Mar 23 12:48:30 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-                   -- Support the WhatNow shell --
-       conf/makefiles/{sbr,uip}: updates for all of this
-       uip/{comp,dist,forw,repl}.c: remove What now? code,
-           add -whatnow program, -nowhatnow
-       sbr/m_whatnow.c: new module
-       conf/config/config.c,config/mh.h,sbr/m_getdefs.c: new variable
-           whatnowproc
-       sbr/llib-lmh: update
-       uip/whatnow.c: new program, the first WhatNow shell
-       conf/doc/{mh-chart,whom}.rf, uip/whom.c: upgrade to take draftfolder
-           arguments
-       sbr/putenv.c: update for above
-       sbr/m_send.c: undo previous edits, m_whatnow() takes care of it
-       uip/distsbr.c: new module for dist-style support
-       uip/{send,whom}.c: call distout() in distsbr.c
-       conf/doc/whatnow.rf: new file
-       conf/doc/{MH,comp,dist,forw,mh,mh-{chart,profile},repl}.rf: updates
-       conf/doc/template: fix
-
-
-Sun Mar 24 18:32:47 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       sbr/m_draft.c,
-           uip/{comp,dist,forw,refile,repl,send,show,whatnow,whom}.c: have
-           -nodraftfolder override "Draft-Folder:" profile entry
-
-
-Mon Mar 25 18:06:48 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       mf/mf.c: avoid (incorrectly) recognizing " at " for "@" by using a
-           heuristic suggested by JSol.
-
-
-Tue Mar 26 18:02:52 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/doc/repl.rf: document bug in replcomps
-
-
-Tue Mar 26 18:32:49 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/{config/mts.c,tailor/READ-ME}, config/aliasbr.h, mts/mts.h, 
-           uip/aliasbr.c: make "*" logic mts-tailorable (ugh), you get
-           to choose highest non-user uid and non-user shell
-
-
-Wed Apr  3 23:52:13 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       sendmts/smail.c: comment out an extra RSET for UCI's losing
-           MMDF-I SMTP server
-
-
-Wed Apr  3 23:53:12 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       ohtersupport/mtrenv/bin/whatnow: new file
-
-
-Sat Apr  6 16:17:23 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       MH #5.348[UCI] (uci-750a) released to MH-Workers
-
-
-Fri Apr 19 18:27:16 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/{config/mts.c,tailor/READ-ME}, mts/mts.h, uip/inc.c:
-           support the new MTS variable "pophost"
-
-
-Fri Apr 19 18:28:44 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       bboards/bboards.h, uip/bbc.c: support BB_INVIS for "hidden"
-           BBoards in -topic
-       uip/bbc.c: catch a long name that got past us
-       uip/bbc.c: fix -topics logic when BBoards given
-
-
-Fri Apr 19 18:32:13 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/doc/MH.rf, sbr/m_send.c: de-implement "push" in whatnow
-           having send look for profile-entry of "push" rather than "send"
-           to confusing to the user "community"
-
-
-Fri Apr 19 19:13:44 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/post.c: more #ifdef DUMB madness, for local addresses,
-           if no host portion given, then don't give it to sm_wadr()
-       uip/post.c: back #ifdef DUMB off a bit in From: for MMDFMTS
-
-
-Fri Apr 19 19:23:39 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/whatnow.c: if edit fails, it's time to go away
-       sbr/m_edit.c: minor cosmetic change
-
-
-Fri Apr 19 19:44:25 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/send.c: on annotations, if push'd avoid getting upset
-           if message to annotate isn't there
-       uip/send.c: fix "typo" for r1bindex ()
-       uip/send.c: put ~/.signature support back in under #ifdef UCI
-       uip/send.c: use mktemp() instead of bogus makename!
-       uip/send.c: fix screwy interaction between msh, dist, whatnow,
-           and send (oh no!)
-
-
-Sat Apr 20 14:46:10 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       sbr/m_send.c, uip/whatnow.c: on "push", let send do push() instead
-           of whatnow
-
-
-Wed Apr 24 22:44:30 1985  /mtr (agent: Marshall Rose) <uci@nrtc>
-
-       sbr/m_whatnow.c, uip/{dist,forw,repl}.c: fix obscure "@" bug.
-
-
-Wed Apr 24 22:45:39 1985  /mtr (agent: Marshall Rose) <uci@nrtc>
-
-       conf/doc/MH.rf: just a few more fixes...
-
-
-Thu May  2 21:13:03 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/sbboards.c: fdopen() called with wrong arg!
-
-
-Thu May  2 21:13:32 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       uip/post.c: a few more back-offs with #ifdef DUMB...
-
-
-Thu May  2 21:13:32 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       conf/makefiles/uip: make whatnow chmod +t'd
-
-
-Thu May  2 21:14:56 1985  /mtr (agent: Marshall Rose) <mh@uci-icsa>
-
-       MH #5.360[UCI] (uci-750a) released to MH-Workers
-
-
-Tue May 21 21:29:18 1985  /mtr <mrose@nrtc-isc>
-
-       Begin work on research-version of MH (#5.380[NRTC]).  This version
-       won't be sent out to the MH-Workers list, so I can do some power
-       coding for a change.
-
-                             -- WHATNOW changes --
-
-       uip/{refile,send,show,whom}.c: #ifdef WHATNOW experimental code
-       sbr/m_whatnow.c, uip/{whatnow,whatnowsbr}.c: default whatnow is
-           a built-in for comp, et. al.
-       sbr/{m_{edit,send},showhom}.c: removed since whatnowsbr has 'em
-       sbr/showfile.c: likewise, showhead function removed
-
-
-                               -- POP changes --
-
-       conf/doc/inc.rf, uip/inc.c: pop now lives in inc
-       uip/spop.c: link to sbboards.c, the POP mailer for SendMail
-       popsupport/: new directory from the ashes of
-           othersupport/popsupport/, containing many new programs, files,
-           and documentation
-       bboards/{bboards.h,getbbent.c}: new functions to support
-        popsupport/mmdfII/: the POP channel for MMDF-II, linked to the
-           BBoards channel, as appropriate
-       conf/doc/msgchk.rf, mts/msgchk.c: support POP
-
-
-                                -- Bug Fixes --
-
-       uip/post.c: for path code, fixed a couple of dumb typos.
-       uip/replsbr.c: if -noformat, don't worry about no addresses
-       uip/bbc.c: another couple of nasty bugs fixed
-       sendmts/smail.c: don't send HELO if talking to SendMail on the
-           local host
-       conf/doc/{MH,repl,forw,comp,dist,show,mh,mh-chart,whom}.rf: bug
-           fixes
-
-                       -- Configuration and Clean-up --
-
-       conf/mhconfig.c: support new options: pop, chown, remove
-       conf/makefiles/*: more chmods where appropriate
-       config/config.c, sbr/help.c: include compile-time options in help
-           listing.
-       sbr/m_backup.c,uip/forw.c: remove makename in favor of mktemp
-       sbr/pr_array.c: removed, since no one was using it
-       config/mh.h, sbr/llib-lmh: update for all this
-       othersupport/patch/: the latest version
-
-
-Tue May 21 22:33:58 1985  /mtr <mrose@nrtc-isc>
-
-       uip/scansbr.c: when copying characters to the scan listing,
-           know about underlining conventions
-
-
-Wed May 22 10:16:17 1985  /mtr <mrose@nrtc-isc>
-
-       sbr/m_getfld.c: Eom() was botching gathering the UNIX from line
-           (fix from Matt Crawford <oddjob!matt@lbl-csam>)
-       sendmts/smail.c: sm_end(NOTOK) was clobbering sm_reply
-
-
-Wed May 22 15:29:25 1985  /mtr <mrose@nrtc-isc>
-
-       popsupport/popser.c: if maildrop doesn't exist, note it and
-           continue
-       conf/doc/bbc.rf, uip/bbc.c: add -user switch to help POP debugging
-       bboards/getbbent.c: have getbberr() return useful info for
-           setbbfile (), setbbinfo (), and setbbent ()
-       popsupport/{popaka,popser,popwrd}.c, uip/{bbc,spop}.c: take advantage
-           of getbberr()
-
-
-Wed May 22 19:49:43 1985  /mtr <mrose@nrtc-isc>
-
-       Makefile, config/mh.h, conf/makefiles/*, bboards/getbbent.c,
-           */llib-l*, tws/{dtime,dtimep}.c: start the linting process,
-           lint everything except the uip/ directory
-       sendmts/smail.c, uip/trmsbr.c: move discard to sbr/ library
-       mf/mf.c: lint fixes
-       sbr/{getans,m_{gmsg,setcur},refile,showfile}.c: lint fixes
-       sbr/{putenv,sprintb}.c: #include mh.h
-       sbr/*: VOID -> (void)
-       bbsupport/bb{aka,exp,tar}.c: lint fixes
-
-
-Thu May 23 09:06:32 1985  /mtr <mrose@nrtc-isc>
-
-       conf/makefiles/{mts,uip}, uip/msgchk.c: moved from mts/
-
-Thu May 23 22:06:25 1985  /mtr <mrose@nrtc-isc>
-
-       conf/makfiles/uip,uip/*.c: next step in the lint process
-       config/mh.h, sbr/llib-lmh, uip/rmf.c: move remdir() to sbr/makedir.c
-
-
-Mon May 27 11:33:32 1985  /mtr <mrose@nrtc-isc>
-
-       config/mh.h, sbr/{closefds,m_getdefs}.c: #ifdef OVERHEAD experimental
-           code
-
-
-Mon May 27 17:05:18 1985  /mtr <mrose@nrtc-isc>
-
-       tws/dp.c: move to uip/
-       uip/formatsbr.c: new module
-       config/scansbr.h: define stuff for formatsbr
-
-
-Mon May 27 21:45:23 1985  /mtr <mrose@nrtc-isc>
-
-       uip/{ap,addrsbr}.c: upgrade ap to use formatsbr; required a new
-           param to getm(), so modules which call getm() got changed
-           as well
-       othersupport/rcvtrip/rcvtrip: upgrade
-
-
-Tue May 28 19:45:36 1985  /mtr <mrose@nrtc-isc>
-
-       config/scansbr.h,uip/{inc,msh,rcvtty,scan,scansbr}.c: bite the
-           bullet and have scansbr use a format string
-       uip/{inc,scan}.c: no more -[no]numdate, -[no]size, -[no]time
-           and use -format string and -width columns instead
-
-
-Wed May 29 14:53:33 1985  /mtr <mrose@nrtc-isc>
-
-       othersupport/mtrenv/*: update
-
-
-Wed May 29 16:38:49 1985  /mtr <mrose@nrtc-isc>
-
-       Makefile, conf/makefiles/*: support depend.  N.B.: This is for
-           DEVELOPMENT WORK ONLY. "make depend" runs unifdef because some
-           #include files are configuration specific.  Sadly, unifdef
-           isn't on all systems (it originated at Rand and migrated to
-           4.2BSD).  As a result, unless you have unifdef, don't run make
-           depend.  The dependencies listed in the conf/makefiles/* files
-           are "generic".
-
-
-Fri May 31 22:19:15 1985  /mtr <mrose@nrtc-isc>
-
-       uip/replsbr.c: bite the bullet and have repl use the format string
-           routines as well
-
-
-Fri May 31 23:33:59 1985  /mtr <mrose@nrtc-isc>
-
-       conf/doc/*.rf: more doc fixes; document WHATNOW, OVERHEAD
-       sbr/m_getdefs.c: more OVERHEAD code to optimize MH subforks
-
-
-Sat Jun  1 01:35:06 1985  /mtr <mrose@nrtc-isc>
-
-       conf/doc/mhook.rf, uip/rcv*.c: account for MMDF-II change regarding
-           rcvmail hooks and maildelivery(5)
-
-
-Sat Jun  1 11:18:06 1985  /mtr <mrose@nrtc-isc>
-
-       mf/mf.c, uip/*sbr.c: more register declarations
-
-
-Sat Jun  1 14:45:25 1985  /mtr <mrose@nrtc-isc>
-
-       uip/{pick,picksbr,msh}.c: bite the bullet and have pick allow
-           complex booleans
-       conf/doc/{mh-chart,pick}.rf: ditto
-
-Sun Jun  2 14:07:46 1985  /mtr <mrose@nrtc-isc>
-
-       uip/whatnowsbr.c: don't say the draft's left around if it isn't
-           (suggested by Mike O'Brien)
-       uip/whatnowsbr.c: return value from non-initial calls to m_edit()
-           not handled right (pointed out by Richard Johnson)
-       sbr/m_getfld.c: be a bit smarter when recognizing that idiotic
-           "From " line from silly UNIX-style maildrops
-
-
-Sun Jun  2 18:36:19 1985  /mtr <mrose@nrtc-isc>
-
-       conf/doc/*.rf: more clean-up
-       uip/ali.c: change help messages a bit, and add -[no]normalize
-           switches
-       conf/doc/mh-tailor.rf: new file
-       config/mh.h,uip/{post,repl}.c: move definition of OUTPUTLINELEN
-           to mh.h so sbr/help.c can use it
-       sbr/help.c: smarter output routine for options
-
-
-Mon Jun  3 11:28:46 1985  /mtr <mrose@nrtc-isc>
-
-       TODO: remove since there's nothing worth left doing in it!
-
-
-Mon Jun  3 14:54:30 1985  /mtr <mrose@nrtc-isc>
-
-       othersupport/usenix: new directory containing the MH paper
-           presented at the 1985 Summer Usenix Conference
-
-
-Mon Jun  3 22:15:18 1985  /mtr <mrose@nrtc-isc>
-
-       conf/doc/packd.rf, uip/packd.c: de-implement, essentially useless
-           under 4.2BSD
-
-
-Tue Jun  4 13:30:27 1985  /mtr <mrose@nrtc-isc>
-
-       uip/trmsbr.c: optimize a bit, the ontty test in clear_screen ()
-           isn't needed
-
-
-Tue Jun  4 20:00:32 1985  /mtr <mrose@nrtc-isc>
-
-                         -- Suggested by Dave Yost --
-       conf/doc/tmac.h: use ".nf" after ".SH" inside various macros
-           (since ".SH" tends to set ".fi")
-       sbr/m_{gmsg,sync}.c: some .mh_sequences optimizations for hm
-       conf/config/config.c: support #ifdef NOMHSEQ
-
-
-Thu Jun  6 23:03:09 1985  /mtr <mrose@nrtc-isc>
-
-       uip/{format,mhl}sbr.c: add some definitions for sprintb()
-       bboards/bboards.h: define BBITS there instead of uip/bbc.c
-
-
-Sun Jun  9 14:44:36 1985  /mtr <mrose@nrtc-isc>
-
-       conf/makefiles/uip,uip/show.c: make show/next/prev one program
-       uip/{show,next,prev}hdr.c: remove as a result of above
-       conf/doc/{next,prev}.rf: update
-
-
-Sun Jun  9 16:37:40 1985  /mtr <mrose@nrtc-isc>
-
-       uip/dropsbr.c, uip/sbboards.c: .cnt mechanism broken,
-           introduce new routine mbx_openX() in dropsbr.c and use that
-           instead of mbx_open when opening an .cnt file
-
-
-
-Sun Jun 16 10:21:33 1985  /mtr <mrose@nrtc-isc>
-
-       uip/{ap,dp,{repl,scan}sbr}.c: the old echo controversy raises it's
-           ugly head: suppose we have a line in a replcomps file which is
-           entirely in a %<...%> conditional and the conditional is false.
-           In that case, we still get a blank line.  This is very BAD if it
-           occurs in the headers.  Two solutions possible:
-               1. If a call to FSprintf() returns a empty string, don't
-                  put out a \n.
-               2. In new_fs, put the \n's in and just return one big
-                  string instead of an array of strings.
-           Option [2] was implemented initially because it lets conditionals
-           span multiple lines in the file.  In order to keep the format files
-           from looking too complicated, EOL was ignored in format files,
-           \n's should be embedded where appropriate.  A single format
-           string argument is considered to have an implicit \n.  This is
-           inconsistent, but it keeps the format files readable.  Option [2]
-           was discarded though since it required a \n at the end of each
-           line in the format file if there was no conditional stuff
-           there.  So, option [1] got implemented even though it doesn't
-           allow conditionals to be multi-line (which is okay, since you
-           can use \n in a line).
-
-
-Thu Jun 20 19:55:23 1985  /mtr <mrose@nrtc-isc>
-
-     -- Performance Enhancements from the 4.3BSD folks (by Van Jacobson) --
-       config/mh.h: define vfork for systems without it
-       sbr/{refile,showfile}.c,uip/{replsbr,send,whatnowsbr}.c:  replace
-           fork() with vfork()
-       config/mh.h: move Van's getfld.h definitions into here
-       sbr/m_getfld.c: major performance tuning!  (use -DRPATHS to get
-           Return-Path: info from UNIX from: line)
-       uip/{inc,msh}.c: m_unknown parameter added
-       uip/trmsbr.c: support for TIOCGWINSZ in 4.3BSD(!!)
-       uip/scan.c: -[no]reverse under #ifdef BERK (I really HATE this)
-           also, update context prior to scan, again under #ifdef BERK
-       uip/scansbr.c: performance enhancements plus inline copy of message
-           body to output file for inc
-       uip/mhlsbr.c: under #ifdef BERK pipe output to /usr/ucb/more if
-           stdoutput is a terminal.
-       uip/post.c: #ifdef DUMB a bit dumber for Berkeley addrsbr (actually
-           these changes were made earlier for other reasons)
-       uip/addrsbr.c: use prescan-like routine in SendMail under #ifdef
-           BERK, also enable wild-carding.  The former probably breaks
-           the stuff in ap, et. al.
-
-
-Fri Jun 21 13:09:29 1985  /mtr <mrose@nrtc-isc>
-
-       uip/addrsbr.c: liked the wild-carding, so even for #ifndef BERK you
-           get it.  Of course in this case, you can wildcard on both the
-           mbox and the host.  It turns out that this is really useful for
-           people who have many mailboxes and get a lot of munged mail.
-
-
-Mon Jun 24 14:58:25 1985  /mtr <mrose@nrtc-isc>
-
-       conf/doc/*.rf: Numerous documentation fixes suggested by Jerry
-           Sweet.
-       conf/doc/ADMIN.rf: New document: Administrator's Guide
-
-
-Mon Jun 24 23:31:42 1985  /mtr <mrose@nrtc-isc>
-
-       uip/send.c: try to prevent confused annotations.  The algorithm
-           works for dist and repl, but not forw
-
-
-Wed Jun 26 12:36:38 1985  /mtr <mrose@nrtc-isc>
-
-       MH #5.457 becomes MH #6.1 in beta
-
-
-Mon Jul  1 06:26:38 1985  /mtr <mrose@nrtc-isc>
-
-                      -- Suggestions from Bob Desinger --
-       config/mh.h, sbr/m_backup.c: locate SBACKUP definition in mh.h
-       sbr/m_gmsg.c, uip/rmf.c: handle SBACKUP prefix files appropriately,
-           also, slight optimizations
-
-
-Mon Jul  1 09:18:42 1985  /mtr <mrose@nrtc-isc>
-
-       sbr/m_{file,gmsg}.c, uip/{msh,refile,rmm,send}.c: #ifdef notdef the
-           stuff marking messages as DELETED, since it's not used
-
-
-Mon Jul  1 22:22:49 1985  /mtr <mrose@nrtc-isc>
-
-       conf/doc/mhl.rf, uip/mhlsbr.c: remove the #ifdef BERK stuff and
-           generalize it.  If the MH profile entry mhlproc is defined, then
-           you get the BERK behavior using the mhlproc as the output filter.
-           Otherwise, you get the old behavior.  If this works nice, I'll
-           make "more" the default mhlproc and set-up config.c, mh.h, and
-           m_getdefs.c as appropriate (with the documentation mh-profile.rf)
-           For the moment, I'm using "less" as my mhlproc and it works
-           fine.
-
-
-Thu Jul  4 08:29:11 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/ADMIN.rf: put in a word or two about running conflict
-       conf/makefiles/dist: add rules for .imp files
-
-
-Thu Jul  4 08:38:01 1985  /mtr <mrose@nrtc-gremlin>
-
-       tws/{dtime,dtimep}.c: know about J{D,S}T, also under #ifdef HUJI
-           generate it if appropriate.  (from Danny Braniss)
-
-
-Thu Jul  4 16:00:38 1985  /mtr <mrose@nrtc-gremlin>
-
-       othersupport/mtrenv/mhbox/dp.debug: new file
-
-
-Thu Jul  4 17:36:34 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/msh.c: "pack" should be called "packf".
-
-
-Sun Jul  7 13:26:28 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/{addsbr,post,rcvdist,replsbr,sbboards}.c: support #ifdef BANG
-       conf/examples/READ-ME: ditto
-
-
-Sun Jul  7 13:31:01 1985  /mtr <mrose@nrtc-gremlin>
-
-       othersupport/scripts/: new directory for scripts.  First is Bob
-           Designer's modifications to JLR's append script.
-       othersupport/mtrenv/bin/append: remove
-
-
-Tue Jul  9 18:59:21 1985  /mtr <mrose@nrtc-gremlin>
-
-        -- Suggested by Thomas Scott Christiansen <tom@wisc-ai.ARPA> --
-       uip/msh.c: move big Msgs[] structure from auto to static
-       othersupport/netnews/{.,mhbox}/: new directories
-       othersupport/netnews/{mh_profile,mhbox/flupcomps} new files
-
-
-Wed Jul 10 09:04:04 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/send.c: typo defining LISTDSW
-
-
-Wed Jul 10 12:07:42 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/addrsbr.c: another de-reference of NULL fixed
-
-
-Wed Jul 10 14:08:39 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/makefiles/popsupport,popsupport/popd.{c,8c}: a bit of clean-up
-
-
-Wed Jul 10 14:48:05 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/mhlsbr.c: don't SIG_DFL signals on start-up; if run from msh,
-           this loses big, if not run from msh, then signals are SIG_DFL
-           anyway...
-
-
-Wed Jul 10 20:40:53 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/config/config.c,config/mh.h,sbr/m_getdefs.c,uip/mhlsbr.c:
-           mhl's choice of mhlproc was confusing to forw.  Add new variable
-           moreproc to fix the problem.  Note as a result, the old BERK
-           behavior is the default, you have to turn off moreproc in your
-           .mh_profile if you don't want mhl to use it
-
-
-Thu Jul 11 12:34:15 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/makefiles/uip: oops, forgot a @END: SENDMTS inside an @BEGIN: POP
-
-
-Fri Jul 12 10:32:40 1985  /mtr <mrose@nrtc-gremlin>
-
-       config/mh.h,sbr/uleq.c: change strindex() -> stringdex () to avoid
-           MMDF name conflict
-       uip/{addrsbr,dropsbr,msh,rcvpack,sbboards}.c: ditto
-
-
-Sun Jul 14 12:54:55 1985  /mtr <mrose@nrtc-gremlin>
-
-                    -- Enhancements from John L. Romine --
-       uip/mhlsbr.c: minor cleanup
-
-
-Sun Jul 14 13:23:49 1985  /mtr <mrose@nrtc-gremlin>
-
-       tws/dtimep.c: have "BST" mean British Summer Time not
-           Bering Standard Time
-
-
-Sun Jul 14 13:44:13 1985  /mtr <mrose@nrtc-gremlin>
-
-       othersupport/bboards: version #2.1 as suggested by Jerry Sweet
-       conf/doc/{ADMIN,mf,mh-{mts,tailor},bb{exp,oards5,tar},pop8}.rf: fixes
-           suggested by Jerry Sweet
-
-
-Sun Jul 14 18:51:22 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/formatsbr.c: handle the blank line bug by hacking it (see the
-           "echo controversy" discussed above).  The solution is to insert
-           a space in truly blank lines...
-
-
-Tue Jul 16 12:41:54 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/ali.c: forgot to call mts_init() to get "everyone", and "noshell"
-
-
-Wed Jul 17 09:47:19 1985  /mtr <mrose@nrtc-gremlin>
-
-       bboards/mmdf/mmdf.2/bboards/bb_wtmail: change dist_address to
-           ds_address, dist_log to ds_log
-
-
-Thu Jul 18 15:59:19 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/mh-gen.8: typo
-
-
-Sun Jul 21 15:36:24 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/{send,whom,mh-alias}.rf:  aliasing hints
-       conf/doc/{{MH,tmac}.h,template}: support hints section
-       conf/doc/mh-mts.rf: minor fix
-
-
-Mon Jul 22 16:50:54 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/picksbr.c: logic for handling "--header value" botched
-
-
-Tue Jul 23 20:30:39 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/whom.c: pass more switches to post.  Since they're ALL secret,
-           no documentation needed!
-
-
-
-Wed Jul 24 14:07:31 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/mh.h, sbr/m_getfld.c, uip/{msh,{mhl,scan}sbr}.c: fix broken
-           msh message delimiting behavior and broken mhl behavior under
-           msh
-
-
-Wed Jul 24 21:01:15 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/forw.c: -build logic botched
-
-
-Wed Jul 24 23:42:41 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/addrsbr.c: bug with #ifdef BERK, mp -> m_nohost not getting
-           set so no aliasing done!
-       conf/config/mts.c: lockfile name building botched!
-
-
-Thu Jul 25 00:00:00 1985  /mtr <mrose@nrtc-gremlin>
-
-       MH #6.24 enters beta
-
-
-Thu Jul 25 17:00:17 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/ADMIN.rf, uip/{inc,msgchk}.c: minor re-work POP debug
-           features
-
-
-Thu Jul 25 21:31:00 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/pick.rf: finally get documentation right
-       conf/makefiles/dist: a few more things
-
-
-Fri Jul 26 11:09:35 1985  /mtr <mrose@nrtc-gremlin>
-
-       sendmts/smail.c: slight fix for major bug with #ifdef BERK
-
-
-Sat Jul 27 00:33:39 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/{mhl,show}.rf: upgrade a bit
-       conf/makefiles/uip, uip/{mhl,mhlsbr,show}.c: add address/date parsing
-           on demand
-       conf/doc/{dp,scan}.rf, uip/formatsbr.c: slight upgrade
-       support/mhl.{format,forward}: update a bit
-
-
-Sat Jul 27 12:46:12 1985  /mtr <mrose@nrtc-gremlin>
-
-                  -- Documentation Fixes from Bob Designer --
-       conf/doc/{post,mh-profile,show,send,repl,next,folder}.rf: typos
-       uip/whatnowsbr.c: back to the old prompt
-
-
-Sat Jul 27 12:55:27 1985  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_sync: slight adjustment
-       uip/{addr,format,pick}sbr.c: a bit more debug info
-
-
-Tue Jul 30 21:44:00 1985  /mtr <mrose@nrtc-gremlin>
-
-                       -- Suggested by Phyllis Kanter --
-       uip/folder.c: fix -fast and -recurse mis-interaction
-       uip/burst.c: fix non-existant message handling when expanding the
-           folder
-       conf/config/config.c: fix comment re: whatnowproc
-       config/mh.h, sendmts/smail.c: declare a couple of things that
-           should be in <strings.h>
-       sbr/m_getdefs.c: don't complain if "context: file" isn't there.
-       sbr/m_{convert,file,gmsg,name}.c: fix boundary handling of MAXFOLDER
-       conf/mh-gen.8: say a few words about chown, remove in MH config
-           file
-       conf/{config/config.c,examples/READ-ME}: two new options,
-           FOLDPROT, MSGPROT
-       conf/{config/config.c,doc/mh-profile.rf}, config/mh.h: add the
-           "unseen-sequence"
-       sbr/{m_setcur.c,llib-lmh}, uip/{inc,show}.c: do the UNSEEN business
-
-
-Wed Jul 31 10:44:22 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/{tmac.h,{ADMIN,MH,bbl,folder,mh-profile,msh,scan,whatnow}.rf}:
-           documentation fixes
-       conf/doc/{mhpath,show}.rf: ditto
-       uip/msh.c: slight typo
-
-
-Thu Aug  1 21:30:36 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/inc.c: fix conflict between -ms and POP
-
-
-Sun Aug  4 14:23:58 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/{ADMIN,mh-mts,bboards8}.rf: doc fixes
-
-
-Sun Aug  4 14:23:35 1985  /mtr <mrose@nrtc-gremlin>
-
-                       -- Suggested by Phyllis Kanter --
-
-       conf/doc/*.rf: doc fixes
-
-
-Mon Aug  5 12:29:56 1985  /mtr <mrose@nrtc-gremlin>
-
-                            -- From John Romine --
-       conf/config/mts.c: do lock structure allocation dynamically
-           and free up 25K of static data space (which may never even
-           be referenced!)
-
-
-Mon Aug  5 20:27:12 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/rcvstore.c, conf/doc/rcvstore.rf: new program from Julian
-           Onions
-       conf/{makefiles/uip,doc/{MH,mh,mh-chart,mhook}.rf}: upgrade
-
-
-Mon Aug  5 20:57:47 1985  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_gmsg.c, uip/{bbl,mhlsbr,post,refile}.c: minor notdef touch-up
-       conf/doc/inc.rf: slight touch-up
-       conf/mhconfig.c: support some invocation arguments
-       uip/sortm.c: alloc structure dynamically
-
-
-Tue Aug  6 17:22:59 1985  /mtr <mrose@nrtc-gremlin>
-
-                            -- From John Romine --
-       conf/makefiles/mmdf: slight typo
-       mmdf/LN: better version
-       conf/{mh-gen.8,mhconfig.c,makefiles/doc}: support two new options
-           for manual pages: "none" and "gen"
-
-
-Wed Aug  7 21:14:19 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/mhlsbr.c: m_popen_pid -> m_pid for 7limit
-
-
-Thu Aug  8 00:00:00 1985  /mtr <mrose@nrtc-gremlin>
-
-       MH #6.59 enters beta
-
-
-Mon Aug 12 19:42:28 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/mhlsbr.c: slight clarification for ontty == NOTTY and -clear
-           at termination; also, try to get signals right again
-
-
-Wed Aug 14 17:27:41 1985  /mtr <mrose@nrtc-gremlin>
-
-       config/aliasbr.h: optimize structures for ALTOS
-       uip/aliasbr.c: optimize for ALTOS and UNIX in general
-
-
-Wed Aug 14 21:54:20 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/config/mts.c, config/aliasbr.h, sbr/{m_getdefs,path}.c,
-       popsupport/popd.c, uip/{ali,aliasbr,msh,picksbr,post}.c: a couple
-           more touch-ups
-
-
-Thu Aug 15 11:19:26 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/inc.c: forgot an #ifdef for POP
-
-
-Thu Aug 15 16:42:26 1985  /mtr <mrose@nrtc-gremlin>
-
-       CMP: shell script to aid Bug-MH in figuring out what's changed
-
-
-Thu Aug 15 16:58:13 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/{bbleader,bboards,mh-profile,prompter,show}.rf: minor touch-up
-
-
-Fri Aug 16 03:55:21 1985  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getfld.c, uip/msh.c: fix trailing newline bug with mhl+no
-           moreproc
-       uip/addrsbr.c: slight touch-up
-
-
-Fri Aug 16 04:48:13 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/{mhconfig.c,mh-gen.8,makefiles/uip}: fix long standing bug
-           about sbboards, slocal, and spop being installed even for MMDF
-           configurations
-
-
-Fri Aug 16 05:48:51 1985  /mtr <mrose@nrtc-gremlin>
-
-       mf/{mf.h,{mf,mmuu,umhook,uumm}.c}: change vfgets() to mfgets(),
-           and slight bug fix in the process
-       conf/makefiles/sbr, config/mh.h, sbr/llib-lmh: new vfgets()
-       sbr/vfgets.c: new routine to support virtual-fgets
-       uip/{alias,format,mhl}sbr.c: call vfgets to handle continuation lines
-       conf/doc/{ap,dp,mh-alias,mhl,repl,scan}.rf: continuation lines now
-           supported
-       support/replcomps
-       conf/config/mts.c, sbr/m_{draft,getdefs,whatnow}.c,
-       sendmts/smail.c, tws/dtime.c,
-       uip/{comp,inc,mark,mhpath,msh,post,rcvstore,refile,send}.c: notdef
-           cleanup
-       sendmts/hosts.c, uip/{aliasbr,dropsbr,rcvdist,send}.c: minor cleanup
-       sbr/{add,m_replace}.c: ditto
-       uip/mhlsbr.c: minor parenthization for ALTOS
-
-
-Sun Aug 18 20:22:17 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/{burst,msh,picksbr}.c: augment botch message a bit
-
-
-Mon Aug 19 20:07:50 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/{mhconfig.c,mh-gen.8}: new config option "bbhome"
-       conf/config/bboards.{daily,weekly}: moved from bbsupport/
-       conf/{config/crontab,doc/{ADMIN,bbc}.rf,makefiles/{bbsupport,uip}}:
-           support bbhome
-       conf/examples/nrtc-isc: renamed to nrtc-gremlin
-       conf/MAKE: modified accordingly
-
-
-Tue Aug 20 11:27:22 1985  /mtr <mrose@nrtc-gremlin>
-
-       othersupport/Mail: new directory, unsupported
-
-
-Tue Aug 20 15:59:46 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/{ADMIN,pop8,rcvstore}.rf: minor clean-up
-
-
-Tue Aug 20 22:19:18 1985  /mtr <mrose@nrtc-gremlin>
-
-       Makefile,conf/makefiles/{sbr,zotnet}: clean-up make clean a bit
-
-
-Wed Aug 21 11:12:33 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/{config/config.c,makefiles/{support,uip}}, config/mh.h,
-       conf/doc/{MH,forw,mh-profile}.rf,uip/forw.c: use formatsbr to do
-           digestifying
-       uip/formatsbr.c: fix minor typo
-       tws/{tws.h,dtime.c}: new routine, twsnow()
-       mf/uumm.c, tws/dtime.c, uip/{msh,picksbr,scansbr,sortm}.c: use twsnow()
-
-
-Thu Aug 22 20:12:05 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/{forw,mhlsbr}.c: let mhl know about digest handling so forw
-           becomes less complicated (mhl already knows about forwarding)!
-
-
-Thu Aug 29 10:52:41 1985  /mtr <mrose@nrtc-gremlin>
-
-                        -- Merge in changes for SYS5 --
-       conf/examples/READ-ME: all non-sprintf changes under #ifdef SYS5
-       conf/{mhconfig.c,config/{config,mts}.c}, sbr/*.c, tws/dtime*.c,
-       uip/*.c: sprintf() returns an int, so always (void) it
-       tws/dtime*.c: no ftime()
-       conf/mhdoc: echo works differently, ridiculous!
-       config/mh.h: dup2() doesn't exist, so define it
-       conf/mhconfig.c, uip/post.c: enums might not exist
-       sbr/discard.c, uip/{prompter,trmsbr}.c: ioctl()'s different
-
-
-Thu Aug 29 15:09:25 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/{ali,post}.c: load system aliases file last instead of first.
-           This lets users override system aliases AND rely on
-           host-specific alias for final resolution!
-
-
-Thu Aug 29 20:13:47 1985  /mtr <mrose@nrtc-gremlin>
-
-       bboards/getbbent.c, tws/dtimep.c: normalize
-
-
-Sun Sep  1 17:12:54 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/MH.rf: minor typo and change the names of a few chapters
-
-
-Sat Sep  7 16:42:06 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/config/mts.c, config/mh.h, mf/mf.h: remove dup2() define for
-           SYS5 and add it as a real routine
-       conf/doc/{MH,bbleader,burst,forw,mf,mh-profile,scan}.rf: doc fixes
-
-
-Sat Sep  7 17:43:24 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/msh.c: advise of gap when BBoard reading
-
-
-Sat Sep  7 17:43:53 1985  /mtr <mrose@nrtc-gremlin>
-
-                  -- Major Directory Tree Re-Organization --
-       papers/: new directory, move TeX stuff from othersupport/ there
-       conf/{mhconfig.c,makefiles/{othersupport,papers}}: support this
-       config/*.h, */*.c: move .h files to new directory h/, update .c
-           files accordingly
-       h/strings.h: new .h file to define all those string functions once
-           and for all!
-       {bboards,mts,mf,tws}/: move under zotnet/
-       mts/: new directory
-       {mhmts,sendmts,mmdf}/: move under mts/
-       {support,popsupport,newsupport,bbsupport}: move under support/
-
-
-Mon Sep  9 19:42:13 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/doc/{MH,comp,dist,forw,mh-mail,mhl,repl}.rf: better verbatim
-           mode in roff
-       zotnet/tws/dtime*.c: more SYS5 cleanup
-       conf/doc/{ADMIN,MH,mh-mts,popd}.rf: more doc hackery
-       uip/post.c: remove tmpfil/bccfil when dying()
-
-
-Mon Sep  9 22:12:59 1985  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/bboards/{bboards.h,getbbent.c}: flags for setbbent()
-       uip/bbc.c, support/{bboards/*,pop/*}.c: use 'em
-
-
-Tue Sep 10 16:23:23 1985  /mtr <mrose@nrtc-gremlin>
-
-       Makefile, conf/Makefile, conf/makefiles/*: implement "make squeaky"
-           and "make tar"
-
-
-Tue Sep 10 17:47:35 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/{mhconfig.c,mh-gen.8}: change "uucp" option to "mf" option
-       conf/{examples,tailor}/READ-ME: remove since mh-gen.8 contains
-           this information now
-
-
-Wed Sep 11 10:10:33 1985  /mtr <mrose@nrtc-gremlin>
-
-                   -- More doc fixes from Phyllis Kantar --
-       conf/doc/{comp,dist,mh,mhl,repl,whatnow}.rf: doc fixes
-
-
-Wed Sep 11 11:03:29 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/makefiles/*, conf/makefiles/*/*: unifdef stuff wasn't working
-           out, remove it
-
-
-Wed Sep 11 22:02:17 1985  /mtr <mrose@nrtc-gremlin>
-
-                           -- Suggested by John A. Dilly --
-       mts/sendmail/smail.c: fix bug with intermittant dot being added
-           during sm_wtxt(); thanks, John!
-       conf/config/config.c: support ~/.mhrc by allowing libpath()
-           recognize the CShell ~-construct.  This is under #ifdef MHRC
-
-
-Mon Sep 16 20:50:32 1985  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/less: sources to Mark Nudelman's "less" program included
-           Thanks, Mark!
-       zotnet/tws/dtime.c: support illegal GreyBook timezone strings
-
-
-Mon Sep 16 20:53:18 1985  /mtr <mrose@nrtc-gremlin>
-
-                     -- Fixes from Hokey (mostly SYS5) --
-       uip/version.sh: generate version.rf not version.me so it stays
-           around
-       conf/doc/{ADMIN,MH}.rf: use same
-       conf/mhconfig.c: new option "ranlib" for BSD or SYS5
-       conf/makefiles/*: use same
-
-
-Mon Sep 16 21:50:01 1985  /mtr <mrose@nrtc-gremlin>
-
-                      -- Suggestion from John Shepherd --
-       uip/slocal.c: handle idiotic multiple "From " lines
-
-
-Tue Sep 17 09:47:55 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/addrsbr.c: slight tuning to #ifdef BERK
-
-
-Wed Sep 18 07:49:27 1985  /mtr <mrose@nrtc-gremlin>
-
-       sbr/discard.c: oops, logic was botched for all versions of UNIX!
-
-
-Wed Sep 18 23:23:28 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/mhconfig.c: oops, toss (void)'s
-
-
-Fri Sep 20 09:48:06 1985  /mtr <mrose@nrtc-gremlin>
-
-       miscellany/mh-e: GNU Emacs front-end to MH from James Larus
-
-
-Fri Sep 20 20:59:19 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/msh.c: split into h/mshsbr.h, uip/{msh,mshcmds}.c
-       uip/mshcmds.c: on refile, without -link, mark messages as deleted
-
-
-Fri Sep 20 21:22:55 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/mhconfig.c: add mandir entry to overrid /usr/man
-       zotnet/mf/uumm.c: simplify a conditional for the ALTOS
-
-
-Fri Sep 20 22:35:56 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/msh.c: have "quit" command update msgbox after confirmation if
-           changed
-       uip/{mhlsbr,repl}.c: on forwardings/replies force -noclear (HACK)
-       uip/prompter.c: fold in SYS5 terminal handling better
-
-
-Sat Sep 21 00:12:47 1985  /mtr <mrose@nrtc-gremlin>
-
-       h/vmhsbr.h, uip/{vmh,vmhsbr,vmhtest}.c: experimental new visual
-           front-end to msh
-       sbr/*.c: break many aggregate files into smaller ones
-
-
-Sun Sep 22 21:06:21 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/{msh,mshcmds}.c: interface to vmh
-
-
-Mon Sep 23 04:25:33 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/show.c: normalize showproc handling; remove -[no]format and
-           -[no]pr, add -show program and -noshow
-
-
-Mon Sep 23 10:42:18 1985  /mtr <mrose@nrtc-gremlin>
-
-       support/bboards/mmdf*/bboards/bb_wtmail.c: remove bogus ch_host
-           hackery; use the BBoard file instead!
-       uip/bbc.c: add -[no]protocol to tell bbc if mshproc knows about
-           bbc protocol
-
-
-Tue Sep 24 19:18:49 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/burst.c: make static structure an alloc'd structure
-       uip/{burst,mshcmd}.c: trim extra trailing newline if present
-
-
-Thu Sep 26 11:42:18 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/addrsbr.c: change Alternate-Mailboxes: defaulting
-
-
-Tue Oct  1 10:15:24 1985  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_getdefs.c: set[ug]id() to real [ug]ids prior to exec of
-           install-mh
-       uip/install-mh.c: don't need set[ug]ids, also if -auto, don't
-           ask questions, say what you're going to do and do it!
-       zotnet/mts/mts.h: remove reference to "../h/strings.h"
-       conf/config/mts.c,support/bboards/bbaka.c: ask for "../h/strings.h"
-       mts/{mh/{hosts,netmail},sendmail/{client,hosts,smail},mmdf/hosts}.c:
-           ditto
-       zotnet/mf/mf.h: ditto
-
-
-Tue Oct  1 14:31:54 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/makefiles/doc: oops, version.me -> version.rf
-       uip/msh.c: oops, zero'd name of BBoard prior to putenv of mhfolder
-       conf/mhconfig.c: support ldflags for options to ld at beginning
-           of command
-
-
-Tue Oct  1 22:08:32 1985  /mtr <mrose@nrtc-gremlin>
-
-       h/mh.h, sbr/m_gmsg.c: slight XYZ tuning
-
-
-Wed Oct  2 02:48:02 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/vmh.c: add less-like interface to command handling
-
-
-Wed Oct  2 10:03:12 1985  /mtr <mrose@nrtc-gremlin>
-
-                       -- Pointed out by Bob Designer --
-       uip/slocal.c: oops, typo!
-
-
-Wed Oct  2 11:12:52 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/{burst,mshcmds}.c: oops, another "slight" typo
-
-
-Wed Oct  2 11:31:49 1985  /mtr <mrose@nrtc-gremlin>
-
-                         -- Suggested by Dave Yost --
-       sbr/m_getdefs.c: avoid a cast (and structure dependencies) by using
-           a popular C idiom (taught to Dave by Bakul Shah).  [This also
-           makes MH work on the Gould...]
-       h/mh.h,sbr/m_delete.c: take the opportunity to clean things up a bit
-
-
-Wed Oct  2 21:34:44 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/vmh.c: a bit more tuning
-
-
-Thu Oct  3 23:43:35 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/inc.c: change "-ms ms-file" to "-file name" to be more
-           consistent
-       uip/inc.c: also, if -notruncate, don't zero POP maildrop!
-
-
-Fri Oct  4 19:36:56 1985  /mtr <mrose@nrtc-gremlin>
-
-       h/mh.h, conf/config/config.c, sbr/m_getdefs.c: make vmhproc a
-           built-in
-       uip/vmh.c: ditto, also better help message
-
-
-Fri Oct  4 21:08:26 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/{comp,dist,forw,repl}.c: -[no]whatnow changed to
-           -[no]whatnowproc
-       uip/{next,prev,show}.c: -[no]show changed to -[no]showproc
-       uip/vmh.c: -[no]visual changed to -[no]vmhproc
-       uip/rmm.c: Delete-Prog: changed to rmmproc
-
-
-Sat Oct  5 14:20:02 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/{post,rcvdist}.c: add call to mmdf_init() under #ifdef MMDFII
-       h/mh.h, *: XYZ becomes the "real thing"
-
-
-Sat Oct  5 17:22:56 1985  /mtr <mrose@nrtc-gremlin>
-
-                         -- Suggested by Dave Yost --
-       h/mh.h, conf/config/config.c: define globals in config.c, extern
-           'em in mh.h
-       conf/mhconfig.c: rm files prior to creating 'em for CTM
-       uip/version.sh: ditto
-
-
-Sat Oct  5 23:17:39 1985  /mtr <mrose@nrtc-gremlin>
-
-       Makefile, conf/makefiles/*: fix "make tar"
-       uip/mshcmds.c: finally track down that mhl pipe problem
-       Makefile, conf/makefiles/*: clean->unclean,squeaky->clean
-
-
-Sun Oct  6 11:46:11 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/{folder,scan}.c: context changes ASAP
-       sbr/remdir.c: clean-up
-       h/mh.h, uip/{mhlsbr,mhmail,msh,post,prompter}.c: fix up signal
-           handling when in background
-
-
-Sun Oct  6 20:38:29 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/msh.c: fseek() too tricky for our own good...
-       uip/{burst,mshcmds}.c: try to recover from errors more gracefully
-           (ha!)
-
-
-Wed Oct  9 19:49:04 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/send.c: fix bogus annotation handling, e.g., 
-           send -push; rmm; folder -pack
-       uip/{forw,mhlsbr}.c: add extra blank line after final EB so
-           user can add suffix text with an editor (e.g., prompter)
-           and not screw-up
-       conf/doc/burst.rf: warn about text after final EB being lost
-           with -inplace
-
-
-Sun Oct 13 14:17:10 1985  /mtr <mrose@nrtc-gremlin>
-
-       h/mshsbr.h, uip/{msh,mshcmds,vmh}.c: fix signal handling for
-           forks under vmh
-       support/bboards/mmdf*/bboards/ch_bboards.c: remove some logging
-           info
-
-
-Sun Oct 13 18:17:10 1985  /mtr <mrose@nrtc-gremlin>
-
-       sbr/vfgets.c: oops, minor typo
-       sbr/m_gmsg.c: re-think alloc strategy a bit
-       sbr/m_gmsg.c: use #ifdef XYZ experimental code for no limits to
-           #-messages in a folder!
-       sbr/m_file.c: move into uip/refile.c
-       h/folder.h: remove
-
-
-Mon Oct 14 12:03:39 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/send.c: still more work on annotation logic...
-
-
-Tue Oct 15 17:14:11 1985  /mtr <mrose@nrtc-gremlin>
-
-       h/mh.h, sbr/m_{convert,gmsg,remsg}.c,
-       uip/{burst,inc,rcvstore,refile}.c: final XYZ check-out, remove
-           #ifdefs
-
-
-Tue Oct 15 18:52:49 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/prompter.c: add hidden -[no]body switch
-       sbr/vfgets.c: slight logic botch
-
-
-Thu Oct 17 16:02:25 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/msh.c: move pgmwait out of msh and into it's own sbr/ file
-       h/mh.h, {sbr,uip}/*.c: normalize pidwait stuff
-       sbr/m_foil.c, uip/{post,send,whom}.c: fix bug in alias mechanism
-           when following included files
-       uip/{inc,post,send,whom}.c: normalize switch handling a bit
-
-
-Thu Oct 17 19:41:18 1985  /mtr <mrose@nrtc-gremlin>
-
-                         -- Suggested by Dave Yost --
-       uip/install-mh.c: new variable, mh_defaults, to default user's
-           profile
-
-
-Sun Oct 20 13:02:59 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/rmf.c: add -[no]interactive switch
-
-
-Sun Oct 20 13:03:13 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/config/bboards.*: fix to work under sh or csh
-
-
-Sun Oct 20 22:11:58 1985  /mtr <mrose@nrtc-gremlin>
-
-                       -- Suggested by Hokey for SYS5 --
-       conf/mh-gen.8: mention -lndir for SYS5
-       sbr/m_gmsg.c: fix stand-alone continue
-       makefiles: add SHELL=/bin/sh
-
-
-Mon Oct 21 12:26:56 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/{msh,vmh}.c: some tuning
-       uip/bbc.c: know about SIGTSTP
-
-
-Mon Oct 21 18:45:29 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/mh-gen.8: mention gould stuff
-       conf/doc/*.rf: talk about quoting of arguments
-
-
-Tue Oct 22 21:47:01 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/bbc.c: don't have -help imply -topics
-
-
-Wed Oct 23 01:34:54 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/mhconfig.c: change default bbhome to /usr/spool/bboards
-       support/pop/popser.c: support maildrop mapping
-       uip/dropsbr.c: some optimizations
-       support/pop/popsbr.c: link into uip/ directory to simplify
-           top-level Makefile
-
-
-Wed Oct 23 12:34:04 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/config/mts.c: two new variables: popbbhost and popbbuser,
-           under #ifdef BPOP
-       uip/bbc.c: use same
-       support/pop/pop.txt: revise remove HEAD in favor of more general
-           TOP
-
-
-Wed Oct 23 20:46:17 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/prompter.c: -prepend is the default now
-       uip/burst.c: -noinplace is the default now
-
-
-Thu Oct 24 21:07:37 1985  /mtr <mrose@nrtc-gremlin>
-
-       conf/config/mts.c: new variable popbblist which, if present,
-           lists only thoses hosts that can use BBoards over POP
-
-
-Fri Oct 25 08:38:35 1985  /mtr <mrose@nrtc-gremlin>
-
-       support/pop/popser.c, uip/bbc.c: don't recognize bb_aka's in
-           name lookups
-
-
-Sun Oct 27 17:40:20 1985  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/bboards/{bboards.h,getbbent.c}: make make_lower() integral
-       uip/vmh.c: avoid ~'s when possible (actually forever owing to pWIN
-           logic!)
-       uip/vmh.c: make STATUS window be reverse-video, make prompt
-           not be reverse-video
-       uip/vmh.c: have EOT work as expected under bbc
-       uip/vmh.c: if CE set, then don't scroll on exit
-       uip/msh.c: make readids() logic smarter in the degenerate case
-       h/mshsbr.h, uip/{msh,mshcmds}.c: keep scan line cached
-       uip/{msh,mshcmds}.c: clean-up handling under vmh a bit
-       uip/{bbc,inc,msgchk}.c: improve defaulting for nullifying host
-       conf/config/mts.c: with flock() retry 5 times at 5 second intervals
-
-
-Sun Oct 27 22:13:23 1985  /mtr <mrose@nrtc-gremlin>
-
-       h/dropsbr.h, uip/dropsbr.c: add new field, m_size, to maildrop
-           structure (and bump version number).  This keeps track of
-           the number of ARPA Internet octets in the message
-       support/bboards/mmdf*/bboards/bb_wtmail.c, support/pop/popser.c,
-       uip/dropsbr.c, uip/mshcmds.c, uip/rcvpack.c, uip/sbboards.c: all
-           affected...
-
-
-Mon Oct 28 19:31:13 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/vmh.c: don't read tty modes unless in foreground
-
-
-Tue Oct 29 01:25:36 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/addrsbr.c: freeing a couple of things twice!
-       uip/msh.c: a malloc() bug!
-
-
-Tue Oct 29 22:33:45 1985  /mtr <mrose@nrtc-gremlin>
-
-       h/dropsbr.h: new routine map_read()
-       uip/dropsbr.c: performance improvement in map_read()
-       uip/msh.c: -[no]topcur for vmh usage
-
-
-Wed Oct 30 16:39:56 1985  /mtr <mrose@nrtc-gremlin>
-
-       Makefile: add "make checkout" for MH maintainers only!
-       uip/version.sh: extend
-
-
-Wed Oct 30 18:19:49 1985  /mtr <mrose@nrtc-gremlin>
-
-                    -- Suggested by Douglas P. Kingston --
-       mts/mmdf/hosts.c: remove bogus gethostname() logic, let
-          the mtstailor file handle it.
-
-
-Wed Oct 30 18:20:11 1985  /mtr <mrose@nrtc-gremlin>
-
-                      -- Suggested by James M. Galvin --
-       uip/bbl.c: invoke inc with -file not -ms
-
-
-Thu Oct 31 21:40:50 1985  /mtr <mrose@nrtc-gremlin>
-
-       Makefile, conf/makefiles/*: rm core in unclean
-       sbr/m_atoi.c: renamed from mu_atoi()
-       uip/bbc.c: minor add_bb() logic fix
-       uip/new.c, support/news/: de-supported!
-       uip/msh.c: re-direction under vmh was losing
-
-
-Sun Nov  3 13:12:51 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/version.sh: smarter wrt finding hostname
-       uip/msh.c: finally got re-direction under vmh right!
-       uip/mhlsbr.c: for moreproc, get signal handling right
-
-
-Sun Nov  3 22:06:58 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/vmh.c: work-around standout bug in curses, under #ifdef XYZ
-       uip/vmh.c: try slight work-around for double-scroll'ing effect
-
-
-Mon Nov  4 09:16:56 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/send.c: oops, bug in dist handling
-       conf/{mhconfig.c,mh-gen.8}: warn about mhconfig requiring make
-           clean later
-
-
-Mon Nov  4 16:00:56 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/vmh.c: Wgetstr() now minibuffer-exit's right
-
-
-Tue Nov  5 16:15:52 1985  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/bboards/getbbent.c: optimize a bit
-       zotnet/bboards/{bboards.h,getbbent.c}: new routine setpwinfo()
-       support/{bboards/mmdfII/bboards/bb_wtmail,pop/pop{ser,wrd}}.c,
-       uip/sbboards.c: use setpwinfo ()
-       uip/mshcmds.c: slight typo in msh$pick
-
-
-Tue Nov  5 22:29:29 1985  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_replace.c: fix logic glitch: not using getcpy() on update!
-
-
-Tue Nov  5 22:43:50 1985  /mtr <mrose@nrtc-gremlin>
-
-       zotnet/bboards/{bboards.h,getbbent.c}: new routine getbbtime()
-       support/pop/{popd,popser}.c: use getbbtime() to speed start-up
-           time, a major win!
-       conf/makefiles/uip: oops, sbboards installed in wrong area!
-
-
-Wed Nov  6 01:55:16 1985  /mtr <mrose@nrtc-gremlin>
-
-       support/bboards/mmdfII/bb_wtmail.c, uip/sbboards.c: use
-           encapsulation format when returning failed mail
-
-
-Wed Nov  6 14:08:08 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/mshcmds.c: burst wasn't resetting scan listing cache
-       mts/sendmail/client.c: don't use servers defaulting if name of
-           service host is explicitly given
-
-
-Wed Nov  6 20:47:55 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/msh.c: more msh-using-POP-to-read-BBoards speed improvements
-
-
-Wed Nov  6 23:05:00 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/inc.c: add -[pa]ck file switches to packf(1) with the POP
-       uip/bbc.c: add $MHBBRC support
-
-
-Thu Nov  7 00:31:45 1985  /mtr <mrose@nrtc-gremlin>
-
-       sbr/m_tmpfil.c: new routine
-       uip/*.c: use it if necessary
-
-
-Sun Nov 10 11:52:50 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/send.c: oops, annotations botched for forw!
-
-
-Sun Nov 10 16:30:46 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/refile.c: set previous sequence on destination folders
-       uip/rcvsbr.c: new file
-       uip/rcvpack.c: change Cron-Date: to Delivery-Date:
-
-
-Mon Nov 11 07:47:05 1985  /mtr <mrose@nrtc-gremlin>
-
-       uip/slocal.c: implemenet MailDelivery, ala MMDF-II
-       uip/rcv*.c: take advantage of it
-       uip/rcvs{br,elect}.c: no longer needed
-       uip/{folder,inc,refile}.c: done(1) if user doesn't want to create
-           folders
diff --git a/docs/historical/mh6/Makefile b/docs/historical/mh6/Makefile
deleted file mode 100644 (file)
index 8fbaab8..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#######################################################################
-# Instructions to Make, for generation of nice-looking papers using TeX
-#######################################################################
-
-.SUFFIXES:     .pic .web .tex .dvi .imp
-
-.pic.tex:;     tpic $<
-
-.web.tex:;     sh -c 'if weave $<; then exit 0; else rm $@; exit 1; fi'
-
-.tex.dvi:;     sh -c 'if latex \\nonstopmode\\input $<; \
-                         then exit 0; else rm $@; exit 1; fi'
-
-.dvi.imp:;     dviimp $(DFLAGS) -i $@ $<
-
-
-#############################################################
-# Here it is...
-#############################################################
-
-all:           i-all
-print:         i-print
-
-
-#############################################################
-# mh6
-#############################################################
-
-i-all:         mh6.dvi
-
-i-print:       mh6.dvi true
-               dvisp -J mh6 mh6.dvi
-
-
-# customization files, et. al., not included below
-mh6.dvi:       version.tex
-
-version.tex:   mh6.tex version.sh
-               @: version.sh
-
-true:;
-
-
-
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-               rm -f mh6.dvi mh6.imp
-
-clean:;                rm -f mh6.log _*
diff --git a/docs/historical/mh6/READ-ME b/docs/historical/mh6/READ-ME
deleted file mode 100644 (file)
index f39b7cf..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-[ For the following, substitute the name of the directory this file resides
-  in for "foo".  E.G., if this file is mh5/READ-ME, s%foo%mh5%g ]
-
-    The Makefile assumes you have LaTeX on your system.  LaTeX is Leslie
-    Lamport's macro package for TeX.  If you can't find LaTeX on your
-    system, ask your local TeX maintainer where it's kept, since LaTeX
-    should have come with your UNIX TeX distribution.
diff --git a/docs/historical/mh6/lcustom.tex b/docs/historical/mh6/lcustom.tex
deleted file mode 100644 (file)
index c2efa80..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-% LaTeX customization
-
-
-\catcode`\@=11                         % for a little while
-
-
-% plain TeX compatibility
-
-\def\oldstyle{\xdef\@oldstyle{\the\textfont\@ne}\mit\@oldstyle}
-
-
-% PhD-TeX compatibility
-
-\def\showsummary{%
-    \begingroup
-       \def\note##1{%
-           \ifcase\value{##1}no ##1s\or
-               1 ##1\else
-               \the\value{##1} ##1s\fi
-       }%
-       \tell{LaTeX summary: \note{figure}, \note{table}, \note{footnote}.}%
-    \endgroup
-}
-
-\let\nfootnote=\footnote
-
-\let\tell=\typeout
-
-\def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax}
-
-\def\implies{\quad\supset\ }
-
-\def\tdots{\ldots\thinspace}
-
-\let\bop=\newpage
-
-\def\hbreak{\hfil\break}
-
-\def\lp{\par\noindent}
-
-\def\boxit#1{\fbox{\sc#1}}
-
-
-% Figure Support
-
-\def\tagfigure#1#2#3{%
-    \begin{figure}[t]
-       \hrule
-       \vskip .5\baselineskip
-       {\small\rm\input figure#1\relax\centerline{\box\graph}}%
-       \vskip .5\baselineskip plus .5\baselineskip
-       \caption{#2}%
-       \label{#3}%
-       \vskip 2pt
-       \hrule
-    \end{figure}%
-}
-
-\def\tagdiagram#1#2#3{%
-    \begin{figure}[t]
-       \hrule
-       \vskip .5\baselineskip
-       {\small\rm\input diagram#1\relax}%
-       \vskip .5\baselineskip plus .5\baselineskip
-       \caption{#2}%
-       \label{#3}%
-       \vskip 2pt
-       \hrule
-    \end{figure}%
-}
-
-\def\tagtable#1#2#3{%
-    \begin{table}[t]
-       \hrule
-       \vskip .5\baselineskip
-       {\small\rm\input table#1\relax}%
-       \vskip .5\baselineskip plus .5\baselineskip
-       \caption{#2}%
-       \label{#3}%
-       \vskip 2pt
-       \hrule
-    \end{table}%
-}
-
-
-% Draft Stuff
-
-\newif\ifdraft \draftfalse
-
-\def\draftstring{{\ifdraft \tt Draft\fi}}
-
-\def\draftext{%
-    \ifdraft
-       \begingroup
-           \tt
-           \ifodd\thepage
-               \LaTeX set \today\ with \fmtname\ v\fmtversion
-           \else
-               Draft \versiontag/ of \versiondate/
-           \fi
-       \endgroup
-    \fi
-}
-
-\def\versiontag/{\errmessage{version.tex not loaded!}}
-\let\versiondate=\versiontag
-
-\def\ds@DScustom{\ifdraft \@ifundefined{ds@draft}{}{\ds@draft}\fi}
-
-\def\note#1{\ifdraft\marginpar{\tt#1}\fi}
-
-
-% Galley style                         % TODO
-
-
-% Trademarks...
-
-\input trademark
-
-
-\catcode`\@=12                         % back to normal
diff --git a/docs/historical/mh6/mh6.bbl b/docs/historical/mh6/mh6.bbl
deleted file mode 100644 (file)
index 14f9f1e..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\begin{thebibliography}{MMmmm99}
-
-\bibitem[MH]{MH}       M.T.~Rose, J.L.~Romine.
-{\em The Rand \MH/ Message Handling System: User's Manual} (UCI Version).
-\end{thebibliography}
diff --git a/docs/historical/mh6/mh6.tex b/docs/historical/mh6/mh6.tex
deleted file mode 100644 (file)
index c798f72..0000000
+++ /dev/null
@@ -1,558 +0,0 @@
-% run this through LaTeX
-
-\input lcustom
-\input version
-
-\documentstyle[12pt,DScustom,sfwmac]{article}
-\setcounter{page}{0}
-\pagestyle{empty}
-
-\begin{document}
-
-\title{Changes to\\ The Rand MH Message Handling System:\\ MH.6}
-\author{Marshall T.~Rose\\
-       Northrop Research and Technology Center\\
-       One~Research Park\\
-       Palos Verdes Peninsula, CA  90274}
-\date{\ifdraft \versiondate/\\ Version \versiontag/\else \today\fi}
-\maketitle
-\footnotetext[0]{\hskip -\parindent
-This document (version \versiontag/)
-was \LaTeX set \today\ with \fmtname\ v\fmtversion.}%
-
-\begin{abstract}
-\noindent This document describes the user-visible change to the
-UCI version of the Rand \MH/ system that were made from \mh5 to \mh6.
-This document does not describe bug-fixes, per se,
-or internal changes,
-unless these activities resulted in a visible change for the \MH/ user.
-
-This document is meant to supplement,
-not supersede, the standard \MH/ User's manual\cite{MH}.
-
-Comments concerning this documentation should be addressed to the Internet
-mailbox {\sf Bug-MH@UCI.EDU}.
-\end{abstract}
-
-\bop\pagestyle{plain}\pagenumbering{arabic}
-
-\f\section*     {Acknowledgements}
-The \MH/ system described herein is based on the original Rand \MH/ system.
-It has been extensively developed (perhaps too much so) by Marshall T.~Rose
-and John L.~Romine at the University of California, Irvine.
-Einar A.~Stefferud, Jerry N.~Sweet,
-and Terry P.~Domae provided numerous suggestions
-to improve the UCI version of \MH/.
-Of course,
-a large number of people have helped \MH/ along.
-The list of ``\MH/~immortals'' is too long to list here.
-
-\f\section*     {Disclaimer}
-The Regents of the University of California wish to make it known that:
-\begin{quote}
-Although each program has been tested by its contributor,
-no warranty, express or implied,
-is made by the contributor or the University of California,
-as to the accuracy and functioning of the program
-and related program material,
-nor shall the fact of distribution constitute any such warranty,
-and no responsibility is assumed by the contributor
-or the University of California in connection herewith.
-\end{quote}
-
-\bop
-
-\f\section*     {Conventions}
-In this document,
-certain \LaTeX -formatting conventions are adhered to:
-\begin{enumerate}
-\item  The names of \unix/ commands, such as \pgm{comp},
-are presented in {\it text italics}.
-
-\item  Arguments to programs, such as \arg{msgs},
-are presented in {\tt typewriter style} and delimited by single-quotes.
-
-\item  \unix/ pathnames and envariables,
-such as $$\file{/usr/uci/}\hbox{\qquad and\qquad}\file{\$SIGNATURE},$$
-are presented in {\sl slanted roman}.
-
-\item  Text presenting an example, such as
-\example comp\ -editor\ zz\endexample
-is presented in {\tt typewriter style}.
-\end{enumerate}
-
-\bop
-
-\f\section*     {General Changes}
-Unlike the changes between \mh4 and \mh5,
-a large number of user-visible changes have been made in \mh6.
-These changes have been in the form of bug fixes and several generalizations.
-The majority of these will not affect novice users.
-In addition, \mh6 is a great deal faster than \mh5:
-all programs have been speeded-up significantly,
-thanks to work done by Van Jacobson as part of the process of including \mh5
-in the 4.3\bsd/~\unix/ distribution.
-
-This document describes all user-visible changes to \mh5 from it's initial
-release to the initial release of \mh6.
-
-\subsection*   {System-5 Support}
-In addition to support for \bsd/~\unix/, V7~\unix/ and \xenix/ variants of
-\unix/,
-\MH/ finally has support for the AT\&T variant of \unix/, System~5.
-Hopefully this will greatly expand the number of system which can run \MH/.
-Ironically,
-it appears that five ports of earlier versions of \MH/ (including \mh5)
-were done,
-but news of the work was not widespread.%
-\nfootnote{In fact,
-three groups in one large organization ported \MH/ independently,
-each without knowledge of the others' work.}
-
-\subsection*   {Documentation}
-Several new documents have been included in the \mh6 distribution:
-The paper {\em MH.5: How to process 200 messages a day and still get some
-real work done}
-was presented at the 1985 Summer Usenix Conference and Exhibition in
-Portland, Orgeon.
-Another paper, {\em MH: A Multifarious User Agent},
-has been accepted for publication by Computer Networks.
-Both describe \MH/,
-the former from a more technical and somewhat humorous perspective,
-the latter from a more serious and research-oriented perspective.
-In addition,
-a third paper has been included,
-{\em Design of the TTI Prototype Trusted Mail Agent},
-which describes a so-called ``trusted'' mail agent built on top of \MH/.
-This paper was presented at the Second International Symposium on
-Computer Message Systems in Washington, D.C.
-A fourth paper,
-{\em MZnet: Mail Service for Personal Micro-Computer Systems},
-is also included.
-This paper,
-which was presented at the First International Symposium on Computer Message
-Systems in Nottingham, U.K.,
-describes a \cpm/-based version of \MH/.
-
-In addition,
-the \MH/ tutorial, {\em The Rand MH Message Handling System: Tutorial},
-and,
-{\em The Rand MH Message Handling System: The UCI BBoards Facility},
-have both been updated by Jerry N.~Sweet.
-
-For \MH/ administrators (PostMasters and the like),
-there's an entirely new document,
-{\em The Rand MH Message Handling System: Administrator's Guide}.
-It explains most of the ``ins and outs'' of maintaining an \MH/ system.
-
-Finally, all of the manual entries and the \MH/ manual have had a thorough
-working over.
-The documentation is expanded, more accurate, and more detailed.
-
-\subsection*   {Help Listings}
-When any \MH/ command is invoked with the \switch{help} switch,
-in addition to listing the syntax of the command and version information,
-the \MH/ configuration options will be listed.
-\MH/ has so many configuration options,
-that when debugging problems, this information is invaluable.
-
-\subsection*   {The \MH/ Profile}
-There are two new profile entries worth noting:
-\eg{MH-Sequences} tells \MH/ the name of the file to record public
-sequences in.
-Users of \pgm{vm}, a proprietary, visual front-end to \MH/,
-make use of this to disable the public sequences feature of \MH/.
-
-The profile entry \eg{Unseen-Sequence} names those sequences which should be
-defined as those messages recently incorporated by \pgm{inc}.
-The \pgm{show} program knows to remove messages from this sequence once it
-thinks they have been seen.
-If this profile entry is not present, or is empty, then no sequences are
-defined.
-Otherwise, for each name given, the sequence is first zero'd and then each
-message incorporated is added to the sequence.
-As such, this profile entry is rather analogous to the
-\eg{Previous-Sequence} entry in the user's \MH/ profile.
-
-In addition, the \eg{Alternate-Mailboxes} entry in the profile has been
-expanded to support simple wild-carding.
-Also, the default for this profile entry is now the user's mail-id at any host.
-This change was made since \MH/ can no longer reliably figure out what
-the user's real outgoing address looks like.
-
-Finally,
-when the \pgm{install-mh} program is automatically invoked by \MH/,
-it won't prompt the user for information.
-Instead, it notes that it's setting up the default environment.
-In addition,
-the \MH/ administrator may set-up a file called \file{mh.profile} in the \MH/
-library area which is consulted by \pgm{install-mh} when initializing the
-user's \profile/.
-
-\subsection*   {The \MH/ Context}
-The \pgm{folder}, \pgm{scan}, and \pgm{show} programs have been modified to
-update the user's \MH/ context prior to writing to the user's terminal.
-This allows the \MH/ user interrupt output to the terminal and still have the
-expected context.
-This is especially useful to interrupt long \pgm{scan} listings.
-This change also introduces a subtle bug between \pgm{show} and messages
-denoted by the \eg{Unseen-Sequence}.
-See \man show(1) for the details.
-
-\subsection*   {Addresses and 822 support}
-\MH/ now fully supports the RFC-822 routing syntax for addresses
-(it used to recognize the syntax, but ignore the information present).
-In addition,
-there are three major modes for support of non-822 addressing in \MH/:
-\begin{itemize}
-\item  BERK\hbreak
-This is useful on sites running \SendMail/.
-It doesn't support full 822--style addressing,
-in favor of recognizing such formats as ACSnet, and so on.
-For sites that can't run in an 822--compliant environment,
-this is the option to use
-(at the price of sacrificing some of the power of 822--style addressing).
-
-\item  DUMB\hbreak
-Although not as liberal as BERK,
-the DUMB option is useful on sites in which the message transport system
-conforms to the 822 standard,
-but wants to do all the defaulting itself.
-
-\item  BANG\hbreak
-From out in left field,
-the BANG option favors \UUCP/-style addressing over 822--style addressing.
-Hopefully when all the \UUCP/ sites around get around to adopting domain-style
-addresses, this option won't be needed.
-\end{itemize}
-
-The \pgm{ap} program (mentioned momentarily) and the \pgm{ali} program
-both support a \switch{normalize} switch indicate if addresses should be
-resolved to their ``official'' hostnames.
-
-\subsection*   {New Programs}
-There are five new programs available:
-The \pgm{ap} program is the \MH/ stand-alone address parser.
-It's useful for printing address in various formats
-(and for debugging address strings).
-The \pgm{dp} program is similar, but works on dates instead of addresses.
-
-The \pgm{msgchk} program checks for new mail,
-possibly using the Post Office Protocol, POP, described below.
-
-A new receive mail hook,
-the \pgm{rcvstore} program,
-which was written by Julian L.~Onions is available.
-
-Finally, a visual front-end to \pgm{msh} called \pgm{vmh} has been included.
-(This program is discussed in greater detail later on.)
-
-\subsection*   {Message Numbering}
-\MH/ now no longer restricts the number of messages which may reside in a
-folder
-(beyond that of system memory constraints).
-This means that message numbers larger than 2000 are permissible.
-Hopefully this will make life easier for people reading the network news
-using \MH/.
-
-\f\section*     {The WhatNow Shell}
-In \mh6,
-there is now the concept of a unified \whatnow/ processor that
-the four composition programs, \pgm{comp}, \pgm{dist}, \pgm{forw},
-and \pgm{repl} all invoke.
-This permits a greater flexibility in building mail applications with \MH/.
-As a result, there's a new program, \pgm{whatnow}, which acts as the default
-\whatnow/ program.
-Consult the \man whatnow(1) manual entry for all the details.
-
-The only other thing worth noting is that unless \MH/ has been compiled with
-the UCI option,
-the user's \file{\$HOME/.signature} file is not consulted for the user's
-personal name.
-
-\f\section*     {Format Strings}
-A general format string facility has been added to allow \MH/ users to tailor
-the output of certain commands.
-
-The \pgm{inc}, \pgm{scan}, \pgm{ap}, and \pgm{dp} programs all consult a
-file containing format strings.
-Format strings,
-which look a lot like \man printf(3) strings,
-give these \MH/ commands precise instructions on how to format their output.
-
-As a result,
-the \pgm{inc} and \pgm{scan} programs no longer have the
-\switch{size}, \switch{nosize},
-\switch{time}, \switch{notime},
-\switch{numdate}, and \switch{nonumdate}
-switches.
-These switches have been replaced with the
-\switch{form~formatfile} switch and the \switch{format~string} switch.
-The former directs the program to consult the named file for the format
-strings.
-The latter directs the program to use the named string as the format.
-To get the behavior of the old \switch{time} option,
-use the \switch{form~scan.time} option.
-Similarly,
-to get the effect of \switch{size},
-use \switch{form~scan.size}.
-
-The \pgm{repl} command uses a file containing format files to
-indicate how the reply draft should be constructed.
-Note that reply templates prior to \mh6 are incompatible with \mh5.
-Don't worry though,
-it's quite easy to convert the templates by hand.
-(Those clever enough to have written a reply template to begin with won't
-have {\em any\/} problem.)
-
-Similarly, when the \pgm{forw} program is constructing a digest,
-it uses a file containing format strings to indicate how to build the
-encapsulating draft.
-
-\f\section*     {News}
-The depreciated \MH/ news system (from \mh1) is now de-supported.
-Use the ``hoopy'' BBoards facility instead.
-
-\f\section*     {BBoards}
-\MH/ maintainers take note:
-the default home directory for the bboards login has changed from
-\file{/usr/bboards/} to \file{/usr/spool/bboards/}.
-Use the \eg{bbhome} directive in your \MH/ configuration file to set
-it back to the old value if you wish.
-
-In addition, the aliases field for a BBoard in the BBoards file is now
-deemed useful only for addressing, not for user input to \pgm{bbc}.
-This means when giving the name of a BBoard to \pgm{bbc},
-only the official name should be used.
-
-A final note for mailsystem maintainers:
-the \MMDFII/ BBoards channel and the \SendMail/ BBoards mailer have been
-modified to use the standard message encapsulation format when returning
-failed messages to the list maintainer.
-This means that the failure notices that the maintainer receives can
-simply be \pgm{burst}.
-
-\subsection*   {New Switches in bbc}
-The \pgm{bbc} program permits you to specify the \eg{mshproc} to use on the
-command line by using the \switch{mshproc~program} option.
-In addition, options which aren't understood by \pgm{bbc} are passed along to
-the \eg{mshproc}.
-
-In addition, the following commands
-pass any unrecognized switches on to the program that they invoke:
-\pgm{bbc}, \pgm{next}, \pgm{show}, \pgm{prev}, and \pgm{vmh}.
-
-\subsection*   {Distributed BBoards}
-If both BBoards and POP (see the next section) are enabled,
-then distributed BBoards can be supported on top of the POP service.
-This allows the \MH/ user to read BBoards on a server machine
-instead of the local host
-(which saves a lot of wasted disk space when the same BBoards are replicated
-several times at a site with several hosts).
-See the {\em Administrator's Guide\/} for information on how this can be made
-completely transparent to the \MH/ user.
-
-If you have several machines at your site running 4.2\bsd/~\unix/
-and connected by an \ethernet/ (or other high-speed LAN),
-you {\em want\/} this software.
-
-\subsection*   {Visual Front-End to msh}
-A simple window management protocol has been implemented for \MH/ programs
-that might wish to act as a back-end to a sophisticated visual front-end.
-
-The first implementation of a server side (front-end) program is \pgm{vmh},
-which uses \man curses(3) to maintain a split-screen interface.
-Perhaps look for a \pgm{mhtool} program for the SUN next!
-
-The \pgm{msh} program has been modified to speak the client side (back-end)
-of this protocol, if so directed.
-At present, \pgm{msh} is the only program in the \MH/ distribution which
-implements the client side of the window management protocol.
-
-\subsection*   {Updates in msh}
-Prior to quitting,
-the \pgm{msh} command now asks if the \pgm{packf\/}'d file you've been
-perusing should be updated if you've modified it and the file is writable by
-you.
-The file can be modified by using \pgm{burst}, \pgm{rmm}, \pgm{rmm},
-or \pgm{sortm} commands.
-The file can also be modified by using the \pgm{refile} command without the
-\switch{link} option.
-(Or course,
-the \switch{link} option doesn't actually link anything to the file.)
-
-\f\section*     {Distributed Mail}
-\MH/ now contains a powerful facility for doing distributed mail
-(having \MH/ reside on a host different than the message transport agent).
-For general information,
-consult either the 
-{\em MH.5: How to process 200 messages a day and still get some real work
-done} paper,
-or the {\em MH: A Multifarious User Agent} paper.
-For specific information,
-consult the {\em Administrator's Guide}.
-Here's a brief synopsis:
-
-This POP facility in \MH/ is based on a modification of the ARPA Post
-Office Protocol (POP).
-A POP {\em subscriber\/} is a remote user,
-on a POP {\em client host},
-that wishes to pick-up mail on a POP {\em service host}.
-
-There are two ways to administer POP:
-\begin{itemize}
-\item  Naive Mode\hbreak
-Each user-id in the \man passwd(5) file is considered a POP subscriber.
-No changes are required for the mailsystem on the POP service host.
-However,
-this method requires that each POP subscriber have an entry in the password
-file.
-The POP server will fetch the user's mail from wherever maildrops are kept on
-the POP service host.
-This means that if maildrops are kept in the user's home directory,
-then each POP subscriber must have a home directory.
-
-\item  Smart Mode\hbreak
-This is based on the notion that the list of POP subscribers and the list of
-login users are completely separate name spaces.
-A separate database (similar to the \man BBoards(5) file)
-is used to record information about each POP subscriber.
-Unfortunately,
-the local mailsystem must be changed to reflect this.
-This requires two changes (both of which are simple):
-\begin{enumerate}
-\item  Aliasing\hbreak
-       The aliasing mechanism is augmented so that POP subscriber addresses
-       are diverted to a special delivery mechanism.
-       \MH/ comes with a program, \man popaka(8), which generates the
-       additional information to be put in the mailsystem's alias file.
-\item  Delivery\hbreak
-       A special POP channel (for \MMDFII/) or POP mailer (for \SendMail/)
-       performs the actual delivery (\mh6 supplies both).
-       All it really does is just place the mail in the POP spool area.
-\end{enumerate}
-Clever mailsystem people will note that
-the POP mechanism is really a special case of the more general
-BBoards mechanism.
-\end{itemize}
-These two different philosophies are not compatible on the same POP service
-host: one or the other, but not both, may be run.
-
-In addition, there is one user-visible difference,
-which the administrator controls the availability of.
-The difference is whether the POP subscriber must supply a password to the POP
-server:
-\begin{itemize}
-\item  ARPA standard method\hbreak
-This uses the standard ARPA technique of sending a username and a password.
-The appropriate programs (\pgm{inc}, \pgm{msgchk}, and possibly \pgm{bbc\/})
-will prompt the user for this information.
-
-\item  \unix/ remote method\hbreak
-This uses the Berkeley \unix/ reserved port method for authentication.
-This requires that the two or three mentioned above programs be {\em setuid\/}
-to root.
-(There are no known holes in any of these programs.)
-\end{itemize}
-These two different philosophies are compatible on the same POP service host:
-to selectively disable RPOP for hosts which aren't trusted,
-either modify the \file{.rhosts} file in the case of POP subscribers being
-\unix/ logins,
-or zero the contents of network address field of the \man pop(5) file for the
-desired POP subscribers.
-
-The \pgm{inc} command also has two other switches when \MH/ is enabled for
-POP:
-\switch{pack~file} and \switch{nopack}.
-Normally,
-\pgm{inc} will use the POP to incorporate mail from a POP service host into
-an \MH/ folder (\eg{+inbox}).
-However,
-there are some misguided individuals who prefer to \pgm{msh} to read their
-maildrop.
-By using the \switch{pack~file} option,
-these individuals can direct \pgm{inc} to fetch their maildrop from the POP
-service host and store it locally in the named file.
-As expected, \pgm{inc} will treat the local file as a maildrop,
-performing the appropriate locking protocols.
-
-\f\section*     {Rcvmail hooks}
-In order to offer users of \MH/ increated rcvmail hook functionality,
-the \pgm{slocal} program has been upgraded to support the semantics of
-the \MMDFII/ mail-delivery mechanism.
-This means that users of \mh6 can maintain identical \file{.maildelivery}
-files regardless of the underlying transport system.
-See \man mhook(1) for all the details.
-
-\subsection*   {Field change in rcvpack}
-The \pgm{rcvpack} rcvmail hook now adds the field name \eg{Delivery-Date:}
-instead of \eg{Cron-Date:} to messages it \pgm{pack\/}s.
-
-\f\section*     {Other Changes}
-Here's the miscellany:
-
-\subsection*   {Continuation Lines}
-Alias files used by \MH/,
-display templates used by \pgm{mhl},
-and format files used by \pgm{forw}, \pgm{repl}, and \pgm{scan} all support
-a standard continuation line syntax.
-To continue a line in one of these files,
-simply end the line with the backslash character (`$\backslash$').
-All the other files used by \MH/ are in 822--format,
-so the 822--continuation mechanism is used.%
-\nfootnote{Looking back,
-it would have been best had all files in \MH/ used the 822--format.}
-
-\subsection*   {Modifications to show}
-The \switch{format}, \switch{noformat}, \switch{pr}, and \switch{nopr}
-options to \pgm{show} have gone away in favor of a more general mechanism.
-The \switch{showproc~program} option tells \pgm{show}
-(or \pgm{next} or \pgm{prev\/}) to use the named program as the \eg{showproc}.
-The \switch{noshowproc} option tells \pgm{show}, et. al.,
-to use the \man cat(1) program instead of a \eg{showproc}.
-As a result, the profile entry \eg{prproc} is no longer used.
-
-\subsection*   {Front-End to mhl}
-When outputting to a terminal,
-the \pgm{mhl} program now runs the program denoted by the profile entry
-\eg{moreproc}.
-If this entry is not present,
-the default is the UCB \pgm{more} program.
-If the entry is non-empty,
-then that program is spliced between \pgm{mhl} and the user's terminal.
-The author uses the \pgm{less} program as his \eg{moreproc}.
-
-Of course,
-if \pgm{mhl} isn't outputting to a terminal,
-then \eg{moreproc} is not invoked.
-
-\subsection*   {Switch change in inc}
-The \switch{ms~ms-file} switch in \pgm{inc} has been changed to
-\switch{file~name} to be more consistent.
-
-\subsection*   {Complex Expressions in pick}
-The \pgm{pick} command now handles complex boolean expressions.
-
-\subsection*   {Defaults change in prompter and burst}
-The \switch{prepend} option is now the default in \pgm{prompter}.
-The \switch{noinplace} option is now the default in \pgm{burst}.
-
-\subsection*   {Interactive option in rmf}
-The \pgm{rmf} program has been changed to support an \switch{interactive}
-switch.
-If given,
-then the user is prompted regarding whether the folder should be deleted.
-If the folder to be removed is not given by the user,
-this switch is defaulted to on.
-
-\subsection*   {Trusted Mail Interface}
-\MH/ now has an interface for so-called ``trusted mail'' applications.
-Although the modifications to \MH/ to support this are in the public domain,
-the actual library that \MH/ uses is not.
-Contact Professor David J.~Farber ({\sf Farber@UDel\/}) for more information.
-
-\bibliography{mh6}
-
-\showsummary
-
-\end{document}
diff --git a/docs/historical/mh6/sfwmac.sty b/docs/historical/mh6/sfwmac.sty
deleted file mode 100644 (file)
index b9c6794..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-% LaTeX support for writing UNIX-style documentation (based on webmac.tex)
-
-
-\makeatletter                          % for a little while
-
-\typeout{Document Style 'sfwmac'.  Version 1.00 - released 17 June 1985}
-
-
-% Examples
-
-\def\eg#1{\hbox{``\verb*"#1"''}}       % in-line
-
-\def\example#1\endexample{%            % multi-line
-    $$%
-       \displayindent=\leftskip
-       \ifdim\parindent>\z@
-           \advance\displayindent by1.5\parindent
-       \else
-           \advance\displayindent by.15\hsize
-       \fi
-       \let\\=\cr
-       \tabskip=\z@
-       \halign{\ignorespaces\verb*"##"\unskip\hfil\cr#1\cr}%
-    $$%
-}
-
-
-% Miscellany
-
-\def\pgm#1{{\it#1}}                    % UNIX programs
-\def\man#1(#2){\pgm{#1\/}(#2)}         % manual entries
-\def\arg#1{\hbox{`{}\verb*"#1"'{}}}    % arguments to programs
-\def\switch#1{\hbox{`{}-\verb*"#1"'{}}}        % switches to programs
-\def\file#1{\hbox{\sl#1}}              % filename
-
-
-% Commonly used software systems
-
-\def\EMACS/{{\sf EMACS}}
-\def\INFO/{{\sf INFO}}
-\def\MLisp/{{\sf MLisp}}
-
-\def\MH/{{\sf MH}}
-\def\mh#1{{\sf mh.#1}}
-\def\Mail/{\file{Mail/}}
-\def\context/{\file{context}}
-\def\profile/{\file{.mh\_profile}}
-\def\sequences/{\file{.mh\_sequences}}
-\def\whatnow/{\verb*"What now?"}
-
-\def\MMDF/{{\sf MMDF}}
-\def\MMDFI/{\hbox{\sf MMDF-I}}
-\def\MMDFII/{\hbox{\sf MMDF-II}}
-
-\def\SendMail/{{\sf SendMail}}
-\def\UUCP/{{\sf UUCP}}
-
-\def\AmS{$\cal A$\kern-.1667em\lower.5ex\hbox{$\cal M$}\kern-.125em$\cal S$}
-\def\AMSPPT.STY/{{\tt amsppt.sty}}
-\def\AmSTeX{\hbox{\rm \AmS-\TeX}}
-
-\def\DISS.STY/{{\tt diss.sty}}
-\def\PhDTeX{\hbox{\rm PhD-\TeX}}
-
-\def\LaTeX{\hbox{\rm L\kern-.2em\raise.3ex\hbox{\sc a}\kern-.09em\TeX}}
-\def\BibTeX{\hbox{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em\TeX}}
-\def\SLiTeX{\hbox{\rm S\kern-.065em L\kern-.18em\raise.32ex\hbox{\sc i}%
-       \kern-.03em\TeX}}
-
-\def\NRTeX{\hbox{\rm NR-\TeX}}
-
-\def\ROFF/{{\sf ROFF}}
-
-\def\SUMEX/{{\sf SUMEX}}
-
-\def\TTYD/{{\sf TTYD}}
-
-
-% Fractions (from TUGboat v6 n1, 1985)
-
-\def\frac#1/#2{%
-    \leavevmode\kern.1em
-    \raise.5ex\hbox{\the\scriptfont\z@ #1}\kern-.1em
-    /\kern-.15em\lower.25ex\hbox{\the\scriptfont\z@ #2}%
-}
-
-
-\makeatother                           % back to normal
diff --git a/docs/historical/mh6/trademark.tex b/docs/historical/mh6/trademark.tex
deleted file mode 100644 (file)
index cff9046..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-% Trademarks...
-
-\def\gobble#1{}
-
-\def\tradeORGfont{\sc}                 % used for organizations (e.g., ACM)
-\def\tradeNAMfont{\sf}                 % used for names (e.g., Ada)
-
-\def\tradeorg#1{\tradeaux{#1}{\expandafter\gobble\string#1}\empty\tradeORGfont}
-\def\tradename#1#2#3{\tradeaux{#1}{#2}{#3}\tradeNAMfont}
-\def\trademark#1#2{%
-    \tradeaux{#1}{\expandafter\gobble\string#1}{#2}\tradeNAMfont
-}
-
-\def\tradeaux#1#2#3#4{%
-    \def#1/{\relax}%                   % in case #3 references #1
-    \setbox0=\hbox{#3}%                        %   when we make the \hbox
-    \ifdim\wd0>0pt
-       \gdef#1/{%
-           \tradeaux{#1}{#2}\empty{#4}%
-           #1/\nfootnote{#1/ is a trademark of #3.}%
-       }%
-    \else
-       \gdef#1/{{#4#2}}%
-    \fi
-}
-
-\tradeorg\acm
-\tradeorg\ansi
-\tradename\Ada{Ada}
-               {the Department of Defense (\Ada/ Joint Program Office)}
-\tradeorg\bsd
-\tradeorg\ccitt
-\tradename\cms{CMS}            {International Business Machines, Incorporated}
-\tradename\cpm{CP/M}           {Digital Research Corporation}
-\tradename\decnet{DECnet}      {Digital Equipment Corporation}
-\tradeorg\dod
-\tradename\ethernet{Ethernet}  {the Xerox Corporation}
-\tradename\eunice{Eunice}      \empty
-\tradeorg\ieee
-\tradename\lattice{Lattice}    {Lattice, Incorporated}
-\tradename\locus{Locus}                {Locus Computing Corporation}
-\tradename\msdos{MS-DOS}       {Microsoft Corporation}
-\tradeorg\milstd
-\tradename\pcinterface{PC-Interface}%
-                               {Locus Computing Corporation}
-\tradename\pdp{PDP}            {Digital Equipment Corporation}
-\tradename{\tops20}{Tops20}    {Digital Equipment Corporation}
-\tradename\trustedmail{Trusted\ Mail}%
-                               {Trusted Technologies, Incorporated}
-\tradename\unix{UNIX}          {AT\&T Bell Laboratories}
-\tradename\vax{VAX}            {Digital Equipment Corporation}
-\tradename\vm{VM}              {International Business Machines, Incorporated}
-\tradename\vms{VMS}            {Digital Equipment Corporation}
-\tradename\xenix{Xenix}                {Microsoft Corporation}
diff --git a/docs/historical/mh6/version b/docs/historical/mh6/version
deleted file mode 100644 (file)
index 7facc89..0000000
+++ /dev/null
@@ -1 +0,0 @@
-36
diff --git a/docs/historical/mh6/version.sh b/docs/historical/mh6/version.sh
deleted file mode 100644 (file)
index 4853996..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-if [ ! -r version ]; then echo 0 > version; fi
-touch version
-echo '\catcode`\#=12' > version.tex
-awk '  { version = $1 + 1; }\
-END    { printf "\\def\\versiontag/{#1.%d}%%\n", version >> "version.tex"; \
-         printf "%d\n", version > "version"; }' < version
-echo '\def\versiondate/{'`date`'}%' >> version.tex
-echo '\catcode`\#=6' >> version.tex
-echo '\typeout{Version \versiontag/ of \versiondate/}' >> version.tex
diff --git a/docs/historical/mh6/version.tex b/docs/historical/mh6/version.tex
deleted file mode 100644 (file)
index d17bef4..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\catcode`\#=12
-\def\versiontag/{#1.36}%
-\def\versiondate/{Tue Nov 12 10:50:55 PST 1985}%
-\catcode`\#=6
-\typeout{Version \versiontag/ of \versiondate/}
diff --git a/docs/historical/multifarious/Makefile b/docs/historical/multifarious/Makefile
deleted file mode 100644 (file)
index 1b029c3..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#######################################################################
-# Instructions to Make, for generation of nice-looking papers using TeX
-#######################################################################
-
-.SUFFIXES:     .pic .web .tex .dvi .imp
-
-.pic.tex:;     tpic $<
-
-.web.tex:;     sh -c 'if weave $<; then exit 0; else rm $@; exit 1; fi'
-
-.tex.dvi:;     sh -c 'if TEXINPUTS=../doclib:.:${TEXINPUTS} tex \
-                       \\nonstopmode\\input $<\\bye; \
-                         then exit 0; else rm $@; exit 1; fi'
-
-.dvi.imp:;     dviimp $(DFLAGS) -i $@ $<
-
-
-#############################################################
-# Here it is...
-#############################################################
-
-all:           i-all
-print:         i-print
-
-
-#############################################################
-# multifarious
-#############################################################
-
-i-all:         multifarious.dvi
-
-i-print:       multifarious.dvi true
-               dvisp $(DFLAGS) -J Multifarious multifarious
-
-
-# customization files, et. al., not included below
-multifarious.dvi:      version.tex
-
-version.tex:   multifarious.tex \
-               text.tex \
-                       figure0.tex figure1.tex diagram2.tex diagram3.tex \
-               refs.tex appendixA.tex \
-               version.sh
-               @: version.sh
-
-true:;
-
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-               rm -f multifarious.dvi multifarious.imp
-
-clean:;                rm -f multifarious.lof multifarious.log multifarious.lot \
-                       multifarious.toc _*
diff --git a/docs/historical/multifarious/appendixA.tex b/docs/historical/multifarious/appendixA.tex
deleted file mode 100644 (file)
index f6b61cb..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-% appendix A                                   % mtr
-
-\catcode`\@=11                         % for a little while
-
-\def\psect#1{%
-    \skip@=\lastskip
-    \par
-    \dimen@=.6\baselineskip
-    \ifdim\skip@<\dimen@
-       \ifdim\skip@=\z@ \penalty-100 \fi
-       \vskip \dimen@ plus .3\baselineskip
-    \fi
-    \centerline{\underbar{#1}}%
-    \nobreak
-    \vskip \z@ plus .1\baselineskip
-    \vskip -\parskip
-}
-
-\def\pitem#1 #2.{\item{\pgm{#1\/}:} #2\hbreak}
-
-\catcode`\@=12                         % back to normal
-
-
-\appendix{A}{MH Commands}
-\MH/ is composed of several \unix/ programs,
-which in theory are fairly simple and single-purposed.
-These commands are functionally grouped below:
-
-\psect{Composing Mail}
-\pitem{comp} compose a message.
-A program to originate a message.
-Usually, a special prompting editor front-end, \pgm{prompter},
-is used to fill-in a composition template with the addressees of
-the message, subject, and so forth.
-
-\pitem{dist} redistribute a message to additional addresses.
-A program that re-enters a message previously received by the user
-into the message transport system.
-Only new addresses are added;
-the body of the message is not changed in any way.
-
-\pitem{forw} forward messages.
-A program that encapsulates one or more messages in a new message draft.
-In addition, the user may add initial and/or closing comments.
-
-\pitem{repl} reply to a message.
-A program that constructs a reply to a message using a reply template.
-The template mechanism has sufficient generality to permit the user to
-``program'' the form of the reply draft based on the contents of the message
-being replied-to.
-
-\pitem{send} send a message.
-A program that posts a draft with the message transport system.
-The \pgm{send} program is
-usually invoked by one of the four preceding programs,
-and performs simple front-end pre-processing prior to invoking the
-\pgm{post} program.
-For example,
-if invoked in {\it push}'d mode,
-\pgm{send} will immediately relinquish control of the user's terminal and
-post the message in the background.
-If the posting fails,
-\pgm{send} will send back a failure notice to the user.
-If the user had \pgm{push\/}'d the sending of the draft,
-then by default
-the draft being sent is encapsulated in the failure notice.
-This permits easy \pgm{burst}'ing of the failure notice to retrieve the
-original draft.
-Otherwise,
-if the posting was successful,
-the draft is marked as having been sent.
-
-\pitem{whatnow} prompting front-end for send.
-A program which is called by  \pgm{comp}, et. al.,
-after the initial draft has been generated.
-The \MH/ user can specify a different \pgm{whatnow} program,
-which yields considerable extensibility.
-
-\pitem{whom} report to whom a message would go.
-A program which examines the addresses of the draft and expands
-all user-defined aliases contained therein.
-Optionally,
-\pgm{whom} may actually interact with the message transport system
-to determine the validity of the final addresses.
-This program is also usually invoked by \pgm{comp}, et.~al.
-
-\psect{Posting Mail}
-\pitem{ali} list mail aliases.
-A simple front-end to the \MH/ aliasing mechanism.
-
-\pitem{ap} parse addresses 822--style.
-A useful debugging tool for PostMasters who wish to examine how \MH/
-interprets an Internet address.
-
-\pitem{conflict} search for alias/password conflicts.
-Another program used by system administrators to check the consistency of
-\MH/ alias files, and portions of the local message transport agent.
-
-\pitem{install-mh} initialize the MH environment.
-A program which is automatically executed the first time a user issues an
-\MH/ command.
-This program performs once-only initialization of the user's \MH/ environment.
-
-\pitem{mhmail} send or read mail.
-A simple program generally used by other programs to generate messages.
-The \pgm{mhmail} command is similar in purpose to the old \pgm{BellMail}
-program.
-
-\pitem{post} deliver a message.
-A complex \MH/ back-end that interacts with the local message transport agent
-to enter messages through the posting slot.
-(See the description of \pgm{send} above).
-
-\psect{Reading Mail}
-\pitem{inc} incorporate new mail.
-A program that interacts with the local message transport agent
-to retrieve messages from the user's maildrop.
-
-\pitem{msgchk} check for waiting mail.
-A program which reports the status of mail waiting in the user's maildrop.
-
-\pitem{show} show (list) messages.
-A program which lists messages to its standard output
-(usually the user's terminal),
-possibly invoking another program to do the actual listing.
-Most users of \MH/ have \pgm{show} automatically call the \pgm{mhl} program
-to format the message.
-The \pgm{next} and \pgm{prev} programs are simply
-\eg{show\ next} and \eg{show\ prev},
-respectively.
-
-\pitem{mhl} produce formatted listings of MH messages.
-A program which displays a message as directed by a template.
-This permits the user to filter out uninteresting headers
-and re-arrange other headers to a particular preference.
-In addition to being invoked by \pgm{show},
-the \pgm{mhl} program is optionally also
-invoked by \pgm{forw} to format each message being forwarded;
-invoked by \pgm{repl} to format the body of a message being replied-to,
-if that message is being included in the reply draft;
-and,
-invoked by \pgm{post} to format a message being sent as a blind-carbon-copy.
-
-\pitem{rmm} remove messages.
-A program that removes messages from an \MH/ folder,
-optionally running a user-defined program instead of deleting them.
-If no program is given,
-the messages are ``softly'' removed,
-so they may possibly be recovered later.
-
-\pitem{scan} produce a one-line-per-message scan listing.
-A program that generates a scan listing for messages.
-Each line of the listing contains date, source, subject,
-and possibly the initial body of the message.
-
-\psect{Folder Handling}
-\pitem{folder} set/list current folder/message.
-A program used to list information concerning the current folder,
-or set the current folder and/or message.
-
-\pitem{folders} list all folders.
-A program to list information on all folders
-(actually, just a special case of the \pgm{folder} command).
-Since the \MH/ folder structure may be recursive,
-the user can indicate that \pgm{folders} should recursively examine all
-folders.
-
-\pitem{refile} file message(s) in (an)other folder(s).
-A program to move (or copy) messages from a source folder to one or more
-destination folders.
-
-\pitem{rmf} remove folder.
-A program that deletes a folder and all messages therein.
-
-\psect{Message Selection}
-\pitem{anno} annotate messages.
-A program to arbitrarily annotate messages.
-If the user so desires,
-after distributing, forwarding, or replying-to a message,
-\MH/ will automatically attach an annotation to the
-original message indicating the date and addresses.
-
-\pitem{mark} mark messages.
-A program to manipulate user-defined sequences (lists of messages).
-Usually, \pgm{mark} is not employed directly by the \MH/ user.
-
-\pitem{pick} select messages by content.
-A program to examine a list of messages and choose those which meet a
-particular selection criterion.
-The \pgm{pick} program is often used in \unix/ back-quoted operations to pass
-message sequences to other \MH/ commands.
-
-\pitem{sortm} sort messages.
-A program to sort a list of messages according to the date given in a
-particular field.
-
-\psect{Distribution List Handling}
-\pitem{bbc} check on BBoards.
-A front-end to run \pgm{msh} on a list of distribution lists which the
-user isn't current on.
-
-\pitem{bbl} manage a BBoard.
-A (depreciated) program used to manually manage the local archives of a
-distribution list.
-These functions (archiving, expunging) are performed automatically by \MH/.
-
-\pitem{burst} explode digests into messages.
-A program used to decapsulate messages from ARPA Internet digests.
-In addition,
-messages which have been encapsulated during forwarding
-(i.e., with \pgm{forw\/})
-can also be decapsulated using \pgm{burst}.%
-\nfootnote{Similarly, blind-carbon-copies may be decapsulated,
-though only socially mature users should do so.}
-
-\pitem{msh} MH shell (and BBoard reader).
-A monolithic program used to implement \MH/ commands on
-messages arranged in a single file (maildrop format).
-Useful
-since distribution lists are kept in this format to minimize consumption of
-system resources.
-
-\pitem{pack} compress a folder into a single file.
-A program which takes messages stored in \MH/ format and places them in a
-single file (using the same format known by \pgm{msh\/}).
-
-\psect{Interface to the \unix/ File System}
-\pitem{mhpath} print full pathnames of \MH/ messages and folders.
-A program which maps \MH/-style names into the \unix/ file naming convention.
-
diff --git a/docs/historical/multifarious/diagram2.tex b/docs/historical/multifarious/diagram2.tex
deleted file mode 100644 (file)
index 0af120d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-% diagram 2
-
-\verbatim
-Path: Mail
-Editor: prompter
-prompter-next: emacs
-Folder-Protect: 700
-Msg-Protect: 600
-Previous-Sequence: pseq
-Alternate-Mailboxes: jsweet@uci-icse, jsweet@uci-750a
-Draft-Folder: drafts
-Sequence-Negation: not
-bbc:      -quiet
-bboards:  system mh-workers sf-lovers whimsey
-comp:     -form mycomponents
-dist:     -annotate -inplace
-folder:   -noheader
-forw:     -annotate -inplace -format
-mhl:      -noclear
-next:     -noheader
-prev:     -noheader
-prompter: -prepend
-repl:     -annotate -inplace -cc me
-send:     -format -msgid
-scan:     -noheader -time
-show:     -noheader -format
-showproc: mhl
-?endverbatim
diff --git a/docs/historical/multifarious/diagram3.tex b/docs/historical/multifarious/diagram3.tex
deleted file mode 100644 (file)
index 42d77c0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-% diagram 3
-
-
-\verbatim
-To: <reply-to|from>
-cc: <??to|cc|me><to>,<cc>,<me>
-Subject: <??subject>Re: <subject>
-In-reply-to: <??date><??message-id>Your message of <date>.
-            <message-id>
-In-reply-to: <??date><!message-id>Your message of <date>.
-Fcc: <??fcc><fcc>
---------
-?endverbatim
diff --git a/docs/historical/multifarious/figure0.pic b/docs/historical/multifarious/figure0.pic
deleted file mode 100644 (file)
index e7ecd77..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-.PS 5.9i
-## figure 1
-C1:    ellipse "\UA/"
-B1:    box "\MTA/" with .n at (C1.s.x, C1.s.y-3*lineht)
-B8:    box "\MTA/" with .w at (B1.e.x+linewid, B1.e.y)
-B2:    box invis "$\ldots$" with .w at (B8.e.x+linewid, B1.e.y)
-B9:    box invis "$\ldots$" with .w at (B2.e.x+linewid, B1.e.y)
-B3:    box "\MTA/" with .w at (B9.e.x+linewid, B1.e.y)
-C2:    ellipse "\UA/" with .s at (B3.n.x, C1.s.y)
-##
-       arrow from C1.s to B1.n
-       arrow from B1.e to B8.w
-       arrow from B8.e to B2.w
-       arrow from B2.e to B9.w
-       arrow from B9.e to B3.w
-       arrow from B3.n to C2.s
-##
-B4:    box width B3.e.x+linewid/3-(B1.w.x-linewid/3) \
-           height 3*boxht \
-           with .c at B2.c
-       move to (B4.n.x, B4.n.y-lineht/2); "\MTS/"
-##
-       line dashed "POSTING" "" \
-               from (B4.w.x-linewid, B4.n.y+lineht/2) \
-               to   (C1.s.x, B4.n.y+lineht/2)
-       line dashed "RECEIPT" "" \
-               from (B4.e.x+linewid, B4.n.y+lineht/2) \
-               to   (C2.s.x, B4.n.y+lineht/2)
-       move to ((B2.e.x+B9.w.x)/2, B2.s.y); "RELAYING"
-##
-.PE
diff --git a/docs/historical/multifarious/figure0.tex b/docs/historical/multifarious/figure0.tex
deleted file mode 100644 (file)
index 70928ba..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-\catcode`@=11
-\expandafter\ifx\csname graph\endcsname\relax \alloc@4\box\chardef\insc@unt\graph\fi
-\catcode`@=12
-\setbox\graph=\vtop{%
-  \baselineskip=0pt \lineskip=0pt \lineskiplimit=0pt
-  \vbox to0pt{\hbox{%
-    \special{pn 8}%
-    \special{ar 866 207 311 206  0.000  6.283}%
-    \rlap{\kern  0.866in\lower 0.249in\hbox to 0pt{\hss \UA/\hss}}%
-    \special{pa 554 2081}%
-    \special{pa 554 1665}%
-    \special{pa 1179 1665}%
-    \special{pa 1179 2081}%
-    \special{pa 554 2081}%
-    \special{fp}%
-    \rlap{\kern  0.866in\lower 1.915in\hbox to 0pt{\hss \MTA/\hss}}%
-    \special{pa 1595 2081}%
-    \special{pa 1595 1665}%
-    \special{pa 2220 1665}%
-    \special{pa 2220 2081}%
-    \special{pa 1595 2081}%
-    \special{fp}%
-    \rlap{\kern  1.907in\lower 1.915in\hbox to 0pt{\hss \MTA/\hss}}%
-    \rlap{\kern  2.948in\lower 1.915in\hbox to 0pt{\hss $\ldots$\hss}}%
-    \rlap{\kern  3.989in\lower 1.915in\hbox to 0pt{\hss $\ldots$\hss}}%
-    \special{pa 4718 2081}%
-    \special{pa 4718 1665}%
-    \special{pa 5343 1665}%
-    \special{pa 5343 2081}%
-    \special{pa 4718 2081}%
-    \special{fp}%
-    \rlap{\kern  5.030in\lower 1.915in\hbox to 0pt{\hss \MTA/\hss}}%
-    \special{ar 5030 207 311 206  0.000  6.283}%
-    \rlap{\kern  5.030in\lower 0.249in\hbox to 0pt{\hss \UA/\hss}}%
-    \special{pa 866 415}%
-    \special{pa 866 1665}%
-    \special{fp}%
-    \special{pa 846 1581}%
-    \special{pa 866 1665}%
-    \special{fp}%
-    \special{pa 887 1581}%
-    \special{pa 866 1665}%
-    \special{fp}%
-    \special{pa 1179 1873}%
-    \special{pa 1595 1873}%
-    \special{fp}%
-    \special{pa 1512 1894}%
-    \special{pa 1595 1873}%
-    \special{fp}%
-    \special{pa 1512 1852}%
-    \special{pa 1595 1873}%
-    \special{fp}%
-    \special{pa 2220 1873}%
-    \special{pa 2636 1873}%
-    \special{fp}%
-    \special{pa 2553 1894}%
-    \special{pa 2636 1873}%
-    \special{fp}%
-    \special{pa 2553 1852}%
-    \special{pa 2636 1873}%
-    \special{fp}%
-    \special{pa 3261 1873}%
-    \special{pa 3677 1873}%
-    \special{fp}%
-    \special{pa 3594 1894}%
-    \special{pa 3677 1873}%
-    \special{fp}%
-    \special{pa 3594 1852}%
-    \special{pa 3677 1873}%
-    \special{fp}%
-    \special{pa 4302 1873}%
-    \special{pa 4718 1873}%
-    \special{fp}%
-    \special{pa 4635 1894}%
-    \special{pa 4718 1873}%
-    \special{fp}%
-    \special{pa 4635 1852}%
-    \special{pa 4718 1873}%
-    \special{fp}%
-    \special{pa 5030 1665}%
-    \special{pa 5030 415}%
-    \special{fp}%
-    \special{pa 5051 499}%
-    \special{pa 5030 415}%
-    \special{fp}%
-    \special{pa 5010 499}%
-    \special{pa 5030 415}%
-    \special{fp}%
-    \special{pa 415 2497}%
-    \special{pa 415 1248}%
-    \special{pa 5482 1248}%
-    \special{pa 5482 2497}%
-    \special{pa 415 2497}%
-    \special{fp}%
-    \rlap{\kern  2.948in\lower 1.498in\hbox to 0pt{\hss \MTS/\hss}}%
-    \rlap{\kern  0.433in\lower 0.999in\hbox to 0pt{\hss POSTING\hss}}%
-    \rlap{\kern  0.433in\lower 1.165in\hbox to 0pt{\hss \hss}}%
-    \special{pa 0 1040}%
-    \special{pa 866 1040}%
-    \special{da  0.050}%
-    \rlap{\kern  5.464in\lower 0.999in\hbox to 0pt{\hss RECEIPT\hss}}%
-    \rlap{\kern  5.464in\lower 1.165in\hbox to 0pt{\hss \hss}}%
-    \special{pa 5898 1040}%
-    \special{pa 5030 1040}%
-    \special{da  0.050}%
-    \rlap{\kern  3.469in\lower 2.123in\hbox to 0pt{\hss RELAYING\hss}}%
-    \kern  5.899in
-  }\vss}%
-  \kern  2.498in
-}
diff --git a/docs/historical/multifarious/figure1.pic b/docs/historical/multifarious/figure1.pic
deleted file mode 100644 (file)
index df5437c..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-.PS
-A: box shaded width 2.5i "\file{\$HOME/} (user's home directory)"
-B: box "\profile/" with .nw at (A.sw.x,A.sw.y-lineht)
-C: box shaded "\Mail/" with .ne at (A.se.x,A.se.y-lineht)
-D: box "\context/" with .n at (B.s.x,B.s.y-lineht)
-E: box shaded "\file{inbox/}" with .w at (D.e.x+(linewid/2),D.w.y)
-F: box "\file{mhl.format}" with .w at (E.e.x+(linewid/2),E.w.y)
-G: box "\file{replcomps}" with .w at  (F.e.x+(linewid/2),F.w.y)
-H: box shaded "\file{drafts/}" with .w at (G.e.x+(linewid/2),G.w.y)
-I: box shaded "\file{chron/}" with .w at (H.e.x+(linewid/2),H.w.y)
-J: box width 0.2i height 0.2i "\file{3}" with .n at \
-          (E.s.x+(linewid*1.5),E.s.y-lineht)
-K: box width 0.2i height 0.2i "\file{2}" with .e at (J.w.x-(linewid/4),J.e.y)
-L: box width 0.2i height 0.2i "\file{1}" with .e at (K.w.x-(linewid/4),K.e.y)
-M: box width 1i "\sequences/" with .ne at (L.w.x-(linewid/4),L.ne.y)
-N: box shaded "\file{yr.1985/}" with .n at (I.s.x,I.s.y-lineht)
-O: box shaded "\file{yr.1984/}" with .e at (N.w.x-(linewid/4),N.e.y)
-P: box width 0.2i height 0.2i "\file{1}" with .ne at \
-         (O.w.x-(linewid/2),O.ne.y)
-line dotted from A.n to (A.n.x+(linewid/2),A.n.y+(lineht/2))
-line from A.s to B.n
-line from A.s to C.n
-line from C.s to D.n
-line from C.s to E.n
-line from C.s to F.n
-line from C.s to G.n
-line from C.s to H.n
-line from C.s to I.n
-line from E.s to M.n
-line from E.s to L.n
-line from E.s to K.n
-line from E.s to J.n
-line from H.s to P.n
-line dotted from H.s to (H.s.x+(linewid/2),H.s.y-(lineht/2))
-line from I.s to N.n
-line from I.s to O.n
-line dotted from N.s to (N.s.x-(linewid/2),N.s.y-(lineht/2))
-line dotted from N.s to (N.s.x+(linewid/2),N.s.y-(lineht/2))
-line dotted from O.s to (O.s.x-(linewid/2),O.s.y-(lineht/2))
-line dotted from O.s to (O.s.x+(linewid/2),O.s.y-(lineht/2))
-.PE
diff --git a/docs/historical/multifarious/figure1.tex b/docs/historical/multifarious/figure1.tex
deleted file mode 100644 (file)
index 0ebc02d..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-\catcode`@=11
-\expandafter\ifx\csname graph\endcsname\relax \alloc@4\box\chardef\insc@unt\graph\fi
-\catcode`@=12
-\setbox\graph=\vtop{%
-  \baselineskip=0pt \lineskip=0pt \lineskiplimit=0pt
-  \vbox to0pt{\hbox{%
-    \special{pn 8}%
-    \special{sh}%
-    \special{pa 0 749}%
-    \special{pa 0 249}%
-    \special{pa 2499 249}%
-    \special{pa 2499 749}%
-    \special{pa 0 749}%
-    \special{fp}%
-    \rlap{\kern  1.249in\lower 0.539in\hbox to 0pt{\hss \file{\$HOME/} (user's home directory)\hss}}%
-    \special{pa 0 1749}%
-    \special{pa 0 1249}%
-    \special{pa 749 1249}%
-    \special{pa 749 1749}%
-    \special{pa 0 1749}%
-    \special{fp}%
-    \rlap{\kern  0.374in\lower 1.539in\hbox to 0pt{\hss \profile/\hss}}%
-    \special{sh}%
-    \special{pa 1749 1749}%
-    \special{pa 1749 1249}%
-    \special{pa 2499 1249}%
-    \special{pa 2499 1749}%
-    \special{pa 1749 1749}%
-    \special{fp}%
-    \rlap{\kern  2.124in\lower 1.539in\hbox to 0pt{\hss \Mail/\hss}}%
-    \special{pa 0 2749}%
-    \special{pa 0 2249}%
-    \special{pa 749 2249}%
-    \special{pa 749 2749}%
-    \special{pa 0 2749}%
-    \special{fp}%
-    \rlap{\kern  0.374in\lower 2.539in\hbox to 0pt{\hss \context/\hss}}%
-    \special{sh}%
-    \special{pa 999 2749}%
-    \special{pa 999 2249}%
-    \special{pa 1749 2249}%
-    \special{pa 1749 2749}%
-    \special{pa 999 2749}%
-    \special{fp}%
-    \rlap{\kern  1.374in\lower 2.539in\hbox to 0pt{\hss \file{inbox/}\hss}}%
-    \special{pa 1999 2749}%
-    \special{pa 1999 2249}%
-    \special{pa 2749 2249}%
-    \special{pa 2749 2749}%
-    \special{pa 1999 2749}%
-    \special{fp}%
-    \rlap{\kern  2.374in\lower 2.539in\hbox to 0pt{\hss \file{mhl.format}\hss}}%
-    \special{pa 2999 2749}%
-    \special{pa 2999 2249}%
-    \special{pa 3749 2249}%
-    \special{pa 3749 2749}%
-    \special{pa 2999 2749}%
-    \special{fp}%
-    \rlap{\kern  3.374in\lower 2.539in\hbox to 0pt{\hss \file{replcomps}\hss}}%
-    \special{sh}%
-    \special{pa 3999 2749}%
-    \special{pa 3999 2249}%
-    \special{pa 4749 2249}%
-    \special{pa 4749 2749}%
-    \special{pa 3999 2749}%
-    \special{fp}%
-    \rlap{\kern  4.374in\lower 2.539in\hbox to 0pt{\hss \file{drafts/}\hss}}%
-    \special{sh}%
-    \special{pa 4999 2749}%
-    \special{pa 4999 2249}%
-    \special{pa 5749 2249}%
-    \special{pa 5749 2749}%
-    \special{pa 4999 2749}%
-    \special{fp}%
-    \rlap{\kern  5.374in\lower 2.539in\hbox to 0pt{\hss \file{chron/}\hss}}%
-    \special{pa 2024 3449}%
-    \special{pa 2024 3249}%
-    \special{pa 2224 3249}%
-    \special{pa 2224 3449}%
-    \special{pa 2024 3449}%
-    \special{fp}%
-    \rlap{\kern  2.124in\lower 3.389in\hbox to 0pt{\hss \file{3}\hss}}%
-    \special{pa 1699 3449}%
-    \special{pa 1699 3249}%
-    \special{pa 1899 3249}%
-    \special{pa 1899 3449}%
-    \special{pa 1699 3449}%
-    \special{fp}%
-    \rlap{\kern  1.799in\lower 3.389in\hbox to 0pt{\hss \file{2}\hss}}%
-    \special{pa 1374 3449}%
-    \special{pa 1374 3249}%
-    \special{pa 1574 3249}%
-    \special{pa 1574 3449}%
-    \special{pa 1374 3449}%
-    \special{fp}%
-    \rlap{\kern  1.474in\lower 3.389in\hbox to 0pt{\hss \file{1}\hss}}%
-    \special{pa 249 3749}%
-    \special{pa 249 3249}%
-    \special{pa 1249 3249}%
-    \special{pa 1249 3749}%
-    \special{pa 249 3749}%
-    \special{fp}%
-    \rlap{\kern  0.749in\lower 3.539in\hbox to 0pt{\hss \sequences/\hss}}%
-    \special{sh}%
-    \special{pa 4999 3749}%
-    \special{pa 4999 3249}%
-    \special{pa 5749 3249}%
-    \special{pa 5749 3749}%
-    \special{pa 4999 3749}%
-    \special{fp}%
-    \rlap{\kern  5.374in\lower 3.539in\hbox to 0pt{\hss \file{yr.1985/}\hss}}%
-    \special{sh}%
-    \special{pa 4124 3749}%
-    \special{pa 4124 3249}%
-    \special{pa 4874 3249}%
-    \special{pa 4874 3749}%
-    \special{pa 4124 3749}%
-    \special{fp}%
-    \rlap{\kern  4.499in\lower 3.539in\hbox to 0pt{\hss \file{yr.1984/}\hss}}%
-    \special{pa 3674 3449}%
-    \special{pa 3674 3249}%
-    \special{pa 3874 3249}%
-    \special{pa 3874 3449}%
-    \special{pa 3674 3449}%
-    \special{fp}%
-    \rlap{\kern  3.774in\lower 3.389in\hbox to 0pt{\hss \file{1}\hss}}%
-    \special{pa 1249 249}%
-    \special{pa 1499 0}%
-    \special{dt  0.050}%
-    \special{pa 1249 749}%
-    \special{pa 374 1249}%
-    \special{fp}%
-    \special{pa 1249 749}%
-    \special{pa 2124 1249}%
-    \special{fp}%
-    \special{pa 2124 1749}%
-    \special{pa 374 2249}%
-    \special{fp}%
-    \special{pa 2124 1749}%
-    \special{pa 1374 2249}%
-    \special{fp}%
-    \special{pa 2124 1749}%
-    \special{pa 2374 2249}%
-    \special{fp}%
-    \special{pa 2124 1749}%
-    \special{pa 3374 2249}%
-    \special{fp}%
-    \special{pa 2124 1749}%
-    \special{pa 4374 2249}%
-    \special{fp}%
-    \special{pa 2124 1749}%
-    \special{pa 5374 2249}%
-    \special{fp}%
-    \special{pa 1374 2749}%
-    \special{pa 749 3249}%
-    \special{fp}%
-    \special{pa 1374 2749}%
-    \special{pa 1474 3249}%
-    \special{fp}%
-    \special{pa 1374 2749}%
-    \special{pa 1799 3249}%
-    \special{fp}%
-    \special{pa 1374 2749}%
-    \special{pa 2124 3249}%
-    \special{fp}%
-    \special{pa 4374 2749}%
-    \special{pa 3774 3249}%
-    \special{fp}%
-    \special{pa 4374 2749}%
-    \special{pa 4624 2999}%
-    \special{dt  0.050}%
-    \special{pa 5374 2749}%
-    \special{pa 5374 3249}%
-    \special{fp}%
-    \special{pa 5374 2749}%
-    \special{pa 4499 3249}%
-    \special{fp}%
-    \special{pa 5374 3749}%
-    \special{pa 5124 3999}%
-    \special{dt  0.050}%
-    \special{pa 5374 3749}%
-    \special{pa 5624 3999}%
-    \special{dt  0.050}%
-    \special{pa 4499 3749}%
-    \special{pa 4249 3999}%
-    \special{dt  0.050}%
-    \special{pa 4499 3749}%
-    \special{pa 4749 3999}%
-    \special{dt  0.050}%
-    \kern  5.750in
-  }\vss}%
-  \kern  4.000in
-}
diff --git a/docs/historical/multifarious/multifarious.tex b/docs/historical/multifarious/multifarious.tex
deleted file mode 100644 (file)
index 878e1eb..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-% run this through PhD-TeX
-
-\input dcustom
-\articlestyle
-\input version
-
-\def\draftext{%
-    \begingroup
-       \eightpoint\sf
-       Reprinted from
-       {\it Computer Networks and ISDN Systems}, 10(2),
-       September, {\oldstyle 1985}%
-    \endgroup
-}
-\catcode`\@=11
-\def\draftstring{%
-    \ifnum\pageno>\z@
-       \begingroup
-           \eightpoint\sf
-           Copyright $\copyright$ {\oldstyle 1985},
-           North Holland Publishing Company
-       \endgroup
-    \fi
-}
-\def\uci@footpage{\draftstring\hfil\rm\folio}
-\catcode`\@=12
-
-\input sfwmac
-\def\MTA/{{\sf MTA}}
-\def\MTS/{{\sf MTS}}
-\def\UA/{{\sf UA}}
-\def\MH/{{\sf MH}}
-
-\def\uitem#1{\item{\underbar{#1}:}}
-
-\header
-    MH: A Multifarious User Agent\title
-    Marshall T.~Rose\\
-       Member, Research Technical Staff\\
-       Northrop Research and Technology Center$^\dagger$\\
-       \\
-    Einar A.~Stefferud\\
-       President, Network Management Associates$^\ddagger$\\
-       and Visiting Lecturer, University of California, Irvine\\
-       \\
-    Jerry N.~Sweet\\
-       Member, Technical Staff\\
-       Local Network Systems$^{\bowtie}$\author\info
-\footnote{}{\hskip -\parindent $^\dagger$
-One~Research Park,
-Palos Verdes Peninsula, CA  90274.
-Telephone: 213/377--4811.\hbreak
-Computer mail: {\tx MRose\%NRTC@USC-ECL}}
-\footnote{}{\hskip -\parindent $^\ddagger$
-17301~Drey Lane,
-Huntington Beach, CA  92647.
-Telephone: 714/842--3711.\hbreak
-Computer mail: {\tx EStefferud@ICS.UCI.EDU}}
-\footnote{}{\hskip -\parindent $^{\bowtie}$
-130~McCormick Avenue, Suite~102,
-Costa Mesa, CA  92626.
-Telephone: 714/754--6631.\hbreak
-Computer mail: {\tx JSweet@ICS.UCI.EDU}}
-
-\centerline{\sc Abstract}                      % mtr
-{\rightskip=0pt
-\lp
-The UCI version of the Rand Message Handling System (\MH/) is discussed,
-including important extensions.
-\MH/ is a powerful user agent which operates in the ARPA Internet and UUCP
-environments.
-In addition to the basic functions provided by a user agent,
-such as reading and sending mail,
-\MH/ has several distinguishing characteristics which give the user
-additional message handling capabilities.
-In particular,
-\MH/ provides mechanisms for organizing messages,
-tailoring its own behavior,
-and extending its functions.
-
-\lp
-This document describes \MH/ from several perspectives.
-Particular emphasis is given to:
-the \MH/ user environment,
-advanced features of \MH/ which have proven to be particularly useful for
-sophisticated users of electronic mail,
-\MH/'s potential as a record manager,
-and
-\MH/ as a part of a distributed mail environment.
-Although \MH/ as been widely used since its creation in 1979,
-a discussion of its perspectives and functionality has not appeared in the
-open literature.
-\par}
-
-\input text
-\input refs
-\input appendixA
-
-\printcontents
-\unskip\footnote{}{\hskip -\parindent
-This document (version \versiontag/)
-was \TeX set \today\ with DISS.STY v\version.}
-\showsummary
-
-\bye
diff --git a/docs/historical/multifarious/refs.tex b/docs/historical/multifarious/refs.tex
deleted file mode 100644 (file)
index cba2736..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-% references
-
-\references
-
-\ref{DCome83}
-\by D.~Comer.
-\paper The Computer Science Research Network CSnet:
-A History and Status Report
-\journal Communications of the ACM\volume 26\issue 10
-\month October\year 1983
-\pages 747--753
-\endref
-
-\ref{DCroc79}
-\by D.H.~Crocker, E.S.~Szurkowski, D.J.~Farber.
-\paper An Internetwork Memo Distribution Facility~---~MMDF
-\inbook Proceedings,
-Sixth Data Communications Symposium
-\publaddr Asilomar
-\month November\year 1979
-\pages 18--25
-\endref
-
-\ref{DCroc82}
-\by D.H.~Crocker.
-\paper Standard for the Format of ARPA Internet Text Messages
-\paperinfo Request for Comments 822
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month August\year 1982
-\endref
-
-\ref{DEA}
-\book Data Encryption Algorithm
-\bookinfo X3.92--1981
-\publ American National Standards Institute
-\year 1981
-\endref
-
-\ref{DKing84}
-\by D.P.~Kingston,~III.
-\paper MMDFII: A Technical Review
-\inbook Proceedings
-Usenix Summer '84 Conference
-\publaddr Salt Lake City, Utah
-\month June\year 1984
-\pages 32--41
-\endref
-
-\ref{EAllm83}
-\by E.~Allman.
-\paper SENDMAIL~---~An Internetwork Mail Router
-\other
-\publ Britton-Lee, Inc.
-\publaddr Berkeley, California
-\month July\year 1983
-\endref
-
-\ref{EOlse84}
-\by E.W.~Olsen.
-\paper NetOS Concepts and Facilities
-\other
-\publ Local Network Systems, Inc.
-\publaddr Costa Mesa, California
-\month August\year 1984
-\endref
-
-\ref{EStef84}
-\by E.A.~Stefferud, J.N.~Sweet, T.P.~Domae.
-\paper MZnet: Mail Service for Personal Micro-Computer Systems
-\inbook Proceedings,
-Second International Symposium on Computer Message Systems
-\publaddr Nottingham, U.K
-\month May\year 1984
-\pages 293--302
-\endref
-
-\ref{FIKM}
-\book Financial Institution Key Management
-\bookinfo X9.17--198\_ (draft)
-\publ American National Standards Institute
-\year 198\_
-\endref
-
-\ref{FIPS46}
-\book Data Encryption Standard
-\bookinfo Federal Information Processing Standards,
-Publication 46
-\month January\year 1977
-\endref
-
-\ref{FIPS81}
-\book DES Modes of Operation
-\bookinfo Federal Information Processing Standards,
-Publication 81
-\month December\year 1980
-\endref
-
-\ref{FIPS98}
-\paper Specification for Message Format for Computer Based Message Systems
-\other
-\publ National Bureau of Standards
-\month January\year 1983
-\endref
-
-\ref{HERMES}
-\by Bolt, Beranek, and Newman.
-\paper Hermes User's Manual
-\paperinfo for TOPS-20
-\other
-\publ Bolt, Beranek, and Newman
-\publaddr Boston, MA
-\month January\year 1979
-\endref
-
-\ref{IP}
-\paper Internet Protocol
-\paperinfo Request for Comments 791 (\milstd/ 1777)
-\inbook Internet Protocol Transition Workbook
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month September\year 1981
-\endref
-
-\ref{JReyn84}
-\by J.K.~Reynolds.
-\paper Post Office Protocol
-\paperinfo Request for Comments 918
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month October\year 1984
-\endref
-
-\ref{LLamp82}
-\by L.~Lamport, R.~Shostak, M.~Pease.
-\paper The Byzantine Generals Problem
-\journal ACM Transactions on Programming Languages and Systems
-\volume 4
-\month July\year 1982
-\pages 382--401
-\endref
-
-\ref{MButl85}
-\by M.~Butler, J.B.~Postel, et.~al.
-\paper Post Office Protocol - Version~2
-\paperinfo Request for Comments 937
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month February\year 1985
-\endref
-
-\ref{MRose84a}
-\by M.T.~Rose.
-\paper The Rand MH Message Handling System: The UCI BBoards Facility
-\other
-\publ Department of Computer and Information Sciences
-\publaddr University of Delaware
-\month October\year 1984
-\endref
-
-\ref{MRose84b}
-\by M.T.~Rose.
-\paper The Rand MH Message Handling System: Tutorial
-\other
-\publ Department of Computer and Information Sciences
-\publaddr University of Delaware
-\month October\year 1984
-\endref
-
-\ref{MRose85a}
-\by M.T.~Rose, J.L.~Romine.
-\paper The Rand \MH/ Message Handling System: User's Manual
-\paperinfo UCI Version
-\other
-\publ Department of Information and Computer Science
-\publaddr University of California, Irvine
-\month January\year 1985
-\endref
-
-\ref{MRose85b}
-\by M.T.~Rose, E.A.~Stefferud.
-\paper Proposed Standard for Message Encapsulation
-\paperinfo Request for Comments 934
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month January\year 1985
-\endref
-
-\ref{MRose85c}
-\by M.T.~Rose, D.J.~Farber, S.T.~Walker.
-\paper Design of the TTI Prototype Trusted Mail Agent
-\inbook Proceedings,
-Second International Symposium on Computer Message Systems
-\publaddr Washington, D.C.
-\month September\year 1985
-\toappear
-\endref
-
-\ref{MRose85d}
-\by M.T.~Rose, E.A.~Stefferud, J.N.~Sweet.
-\paper MH: A Multifarious User Agent
-\journal Computer Networks%\volume V\issue N
-\toappear
-\endref
-
-\ref{SMTP}
-\paper Simple Mail Transfer Protocol
-\paperinfo Request for Comments 821
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month August\year 1982
-\endref
-
-\ref{TCP}
-\paper Transmission Control Protocol
-\paperinfo Request for Comments 793 (\milstd/ 1778)
-\inbook Internet Protocol Transition Workbook
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month September\year 1981
-\endref
-
-\ref{VVoyd83}
-\by V.L.~Voydock, S.T.~Kent.
-\paper Security Mechanisms in High-Level Network Protocols
-\journal Computing Surveys\volume 15\issue 2
-\month June\year 1983
-\pages 135--171
-\endref
-
-\ref{WJoy83}
-\by W.N.~Joy, E.~Cooper, R.S.~Fabry, S.J.~Leffler, K.~McKusick, D.~Mosher.
-\paper 4.2\bsd/ System Manual
-\paperinfo Technical Report Number 5
-\publ Computer Systems Research Group, University of California, Berkeley
-\month July\year 1983
-\endref
-
-\ref{X.400}
-\book Message Handling Systems: System Model-Service Elements
-\bookinfo Recommendation X.400
-\publ International Telegraph and Telephone Consultative Committee (CCITT)
-\endref
-
-\endreferences
diff --git a/docs/historical/multifarious/text.tex b/docs/historical/multifarious/text.tex
deleted file mode 100644 (file)
index de45049..0000000
+++ /dev/null
@@ -1,1115 +0,0 @@
-% begin text
-
-\banner
-
-\section{Introduction}                         % mtr
-\tagfigure{0}{\MTS/ model}{mtsmodel}
-
-The UCI version of the Rand Message Handling System, \MH/,
-is a user agent.
-In the interests of brevity,
-we dispense with the usual definition of terms,
-refer the reader to Figure~\mtsmodel,
-and simply note that \MH/ is not responsible for delivering mail.
-Rather,
-it interacts with a {\it message transport system}, \MTS/,
-at two interfaces:
-it sends mail by placing it through a {\it posting slot} to the \MTS/,
-and it receives mail by retrieving it through a {\it delivery slot} from the
-\MTS/.
-Besides these two \MTS/-specific activities,
-the tasks which \MH/ addresses are:
-the composition of messages
-(which may, or may not, be in reference to previously sent messages),
-the reading of messages,
-and the organization of messages.
-
-\MH/ was originally developed by the Rand Corporation,
-and initially was proprietary software.
-The Department of Information and Computer Science at
-University of California, Irvine,
-shortly after joining the Computer Science Network (CSnet),
-acquired a copy of \MH/,
-and began additional development of the software.
-Since that time,
-the Rand Corporation has declared \MH/ to be in the public domain,
-and the UCI version of \MH/ has passed through four major releases.
-
-Much credit must be given to the initial designers and implementors of \MH/:
-Bruce Borden, Stockton Gaines, and Norman Shapiro.
-Although \MH/ has suffered significant development at UCI
-since Rand's initial release,
-the fundamental concepts of \MH/'s environs have remained nearly unchanged.
-In addition,
-the current maintainers of \MH/ gratefully acknowledge the comments of the
-many sites which have run various releases of \MH/ in the past.
-
-\MH/ runs on different versions of the \unix/ operating system
-(such as 4.2\bsd/~\unix/ and various flavors of v7~\unix/).
-In addition,
-\MH/ supports four different \MTS/ interfaces:
-\SendMail/\cite{EAllm83},
-the standard mailer for 4.2\bsd/ systems;
-\MMDF/\cite{DCroc79} and \MMDFII/\cite{DKing84},
-the Multi-Channel Memo Distribution Facility developed by the University of
-Delaware
-which forms the software-backbone for CSnet\cite{DCome83} mail relays service;
-SMTP,
-the ARPA Internet Simple Mail Transfer Protocol\cite{SMTP};
-and,
-a stand-alone delivery system.
-
-The organization of this paper is straight-forward,
-given space considerations.
-Initially,
-the \MH/ philosophy of mail handling is presented,
-along with a description of the environment which the \MH/ user is given to
-process mail.
-Following this,
-certain advanced features of \MH/ are discussed in more detail.
-In particular,
-the notion of a {\it draft folder} is introduced,
-which permits the handling of multiple drafts during composition.
-In addition,
-message selection facilities are described.
-Next,
-two different aspects of \MH/'s power as a software system are discussed:
-record handling, in which \MH/ facilitates record processing systems;
-and,
-how \MH/ can be employed in a distributed mail environment.
-This latter section raises questions as to the location of the posting and
-delivery slots,
-along with authentication mechanisms.
-Finally,
-we conclude by discussing areas of future development which \MH/ may endure.
-
-Although familiarity with \MH/ is not assumed on the part of the reader,
-some knowledge of the \unix/ operating system is useful.
-Appendix~A gives a short synopsis of the \MH/ commands.
-
-\section{The \MH/ Philosophy}                  % mtr
-Although \MH/ has many traits which tend to differ it from other user agents,
-the design aspect which fundamentally influences the interface between \MH/
-and the user is that it is composed of many small
-programs instead of one very large one.
-This architecture gives \MH/ much of its strength,
-since intermediate and advanced users are able to take advantage of this
-flexibility.
-
-The key to this flexibility is that the \unix/ shell
-(usually the {\it C} shell or the {\it Bourne} shell),
-is the user's interface to \MH/.
-This means that when handling mail,
-the entire power of the shell is at the user's disposal in addition to the
-facilities which \MH/ provides.
-Hence,
-the user may intersperse mail handling commands with other commands in an
-arbitrary fashion,
-making use of command handling capabilities that the user's shell provides.
-
-Furthermore,
-rather than storing messages in a complicated data structure
-within a monolithic file,
-in \MH/, each message is a \unix/ file,
-and each folder (an object which holds groups of messages)
-is a \unix/ directory.
-That is,
-the directory and file structure of \unix/ is used directly.
-As a result,
-any \unix/ file-handling command can be applied to any message.
-
-To the novice,
-this may not make much sense or may not seem important.
-From three years of observation, we have seen that
-as users of \MH/ have become more experienced
-they have found this capability to be quite attractive.
-In addition,
-this approach is often quite pleasing to system implementors,
-because it minimizes the amount of coding to be performed
-and,
-given a modular design,
-changes to the software system can be maintained easily.
-Our empirical findings confirm our theoretical expectations regarding the
-\MH/ architecture.
-
-Having described how \MH/ fits into the \unix/ environment,
-we now discuss the mail handling environment which is available to the \MH/
-user.
-
-\subsection{The \MH/ Environs}                 % jns
-\MH/ provides a complementary environment to the user's shell.
-While the shell maintains a context related to the user's focus in the file
-system (a {\it current working directory\/}),
-mail handling is performed in a separate mail folder context.
-Operations on mail can therefore be
-performed entirely without regard to the current file system context,
-although \MH/ does not prevent the user from making use of that context.
-Certain mail handling functions do make use of information
-maintained by the shell.
-For instance, by setting certain shell parameters,
-called {\it environment variables},
-alternate mail handling contexts can be selected.
-
-\MH/ conventions often have direct analogs to shell or file system
-conventions.
-The shell has a current working directory; \MH/ has a current mail folder.
-When the user begins a session on the system,
-the user's ``home directory'' is the base context;
-\MH/'s default base area, the \Mail/ directory, 
-is found under the user's home directory.
-The user's default shell parameters are set upon beginning a new
-session from a startup profile
-(called \file{.profile} for \pgm{sh} users
-or \file{.cshrc} for \pgm{csh} users);
-the default parameters for \MH/ commands are taken from a file called
-\profile/ in the user's home directory.
-The shell has an {\it environment\/};
-\MH/ has a \context/ file.
-Each of the user's directories has files;
-each of the user's \MH/ folders has messages.
-
-These parallels have a basis not only in \MH/'s high level mail
-handling model,
-but also in the way low level shell and file
-system conventions have been abstracted to implement \MH/ conventions.
-Directories are folders; files are messages.
-The \Mail/ directory forms the root of a virtual file subsystem within
-which the user operates on mail without disturbing files outside this
-mail handling domain. 
-
-\tagfigure{1}{\MH/ File Subsystem\\(directories are shaded)}{MHfiles}
-\tagdiagram{2}{Elaborated \MH/ Profile}{elab}
-\subsection{The \MH/ Profile}
-The \profile/ contains plaintext that describes the user's default mail
-handling parameters.
-An example of an elaborated profile is shown in Figure~\elab.
-
-Each line in the profile consists of an \MH/ parameter name terminated
-with a colon (`:') followed by parameter values.
-In this example,
-``global'' parameters are listed in the first few lines,
-with program-specific parameters following.
-Each \MH/ program examines global parameters as well as any parameter
-with the same name by which the program was invoked.
-For example,
-the \pgm{comp} program, which is used to compose new messages to be sent,
-examines the entries:
-\medskip
-{\advance\leftskip by2\parindent
-\uitem{Path}
-The path parameter specifies the name of the \MH/ root directory.
-This is normally named \Mail/.
-
-\uitem{Editor}
-The editor parameter specifies which text editor is first invoked to create
-the header information and body of a message draft.
-In most cases, this editor is the \MH/ default editor, \pgm{prompter}.
-
-\uitem{Draft-Folder}
-This parameter specifies a folder within which new message drafts
-are to be created.
-The draft folder mechanism is an advanced feature of \MH/ that is
-given separate treatment in a later segment of this paper.
-
-\uitem{comp}
-The program-specific parameter examined by \pgm{comp} lists
-user-default options.
-\par}
-\medskip
-
-\noindent
-Other programs invoked by \pgm{comp}
-(e.g. \pgm{prompter} and \pgm{send\/}) would examine their own profile 
-entries as well.
-\MH/ programs have reasonable compiled-in defaults and also permit options to
-be specified on the shell command line with which the programs are invoked.
-The order of override precedence is: command line options first,
-\profile/ options second, and compiled-in defaults last.
-
-Each program option is prefixed by a dash (`-') following the \unix/
-convention.
-Unlike most \unix/-style options,
-however, the options are words rather than single letters.
-An option may be abbreviated to an unambiguous prefix.
-Each \MH/ program has a \switch{help} option that
-displays a brief summary of the program's available options.
-
-\subsection{Folders and Messages}
-In a typical paper-oriented office,
-new correspondence arrives and is stacked in an ``in box'',
-while outgoing correspondence is placed in an ``out box''.
-Processed material is stored in
-appropriately labelled folders and filed away for future reference.
-This state of affairs is modelled in \MH/ with {\it folders}
-and {\it messages},
-which are simply text files (one message per file) stored
-under the folder directories.
-Most of the user's folders are kept under the \Mail/ directory.
-
-A folder is given an alphanumeric name permissible within the \unix/ file
-system structure,
-and each message stored therein is given a numeric name in the range 1..1999.
-The upper bound on message numbers was
-selected for efficient access to an internal representation,
-an array of bits (a ``bit set''),
-with each bit indicating the presence or
-absence of a message with a number in the range 1..1999.
-This internal representation also restricts the order of multiple
-message reference to an ascending numerical sequence.
-Other representations have been studied
-(e.g., an unsorted sparse array of integers),
-but have been rejected for reasons of efficiency.
-Folders may contain subfolders,
-corresponding to \unix/ tree-structured directories.
-For the sake of completeness,
-it might be said that ``sub-messages'' exist insofar as message ``digests'',
-which nest messages inside other messages,
-are supported by certain advanced \MH/ functions.
-
-The current working folder is the default folder selected for almost
-all \MH/ commands.
-To select explicitly a folder for mail handling
-commands entails specifying the name of the folder, prefixing the name
-with a plus-symbol (`+').
-An example is: \example refile\ 1\ 2\ 3\ +chron/yr.1984\endexample
-This command re-files the selected messages
-(\file{1}, \file{2}, and \file{3} here)
-from the current working folder to a subfolder under the
-folder \file{chron} named \file{yr.1984}.
-To see the folder/subfolder relationship, refer to Figure~\MHfiles.
-
-The plus-symbol notation is specific to those folders immediately
-subordinate to the \Mail/ directory.
-This is analogous to ``absolute pathnames'' in \unix/---those
-files whose positions in the file system
-hierarchy are given starting with the system root,
-names prefixed with the slash character (`/').
-To specify folders subordinate to the current working folder,
-an at-sign (`@') is substituted for (`+').
-It is permitted to use \unix/ dot notation to specify parent folders.
-Referring to Figure~\MHfiles,
-if the current working folder were \eg{+chron/yr.1985},
-then the command \example folder\ @../yr.1984\endexample
-\noindent
-selects the subfolder \file{yr.1984} in the parent directory
-\file{chron}, as the new current working folder.
-While the current working folder is normally the default, it may be
-specified explicitly as \eg{@.}.
-
-\subsection{The Context File}
-The \profile/ contains static information about the user's
-preferences.
-A \context/ file, contained in the \Mail/ directory,
-contains the current mail handling environment information,
-which changes as different folders, messages, and named message lists
-(called {\it message sequences\/})  are selected, created, and updated.
-This information is retained between invocations of \MH/ commands,
-and is preserved across system sessions.
-
-\tagdiagram{3}{Elaborated Reply Template}{replcomps}
-\subsection{Templates}
-The message draft composition functions
-(\pgm{comp}, \pgm{repl}, \pgm{forw}, and \pgm{dist\/})
-use certain default header formats,
-which may be changed by the user through the use of message templates.
-The exact format of a template may vary among commands.
-An example of an elaborated template for the reply command \pgm{repl} is
-shown in Figure~\replcomps.
-
-This template specifies how the automatically-generated header for a
-draft message in reply to a source message is to be formatted.
-The syntax is capable of directing output of header lines based on the
-presence or absence of other header lines in the source message.
-
-Other kinds of templates are used to specify the display formats of
-messages, or to specify the way that messages are to be included in
-other messages.  This is similar to the functionality provided by BBN
-Hermes\cite{HERMES},
-another powerful mail handling system for \tops20/ based systems.
-
-\subsection{Explaining All This to New Users}
-There do exist people who do not like \MH/.%
-\nfootnote{At UCI, these
-people are reported to be weeded out at an early stage and quietly taken to the
-Ministry of Love to be made {\it uncrimethinkful}.}
-The emerging pattern of complaints from such people indicates that \MH/
-accentuates their perceptions of the deficiencies of \unix/,
-to wit, lack of interactivity and lack of easily found help facilities.
-Also,
-some feel that the proximity of the mail handling environment to the
-operating system is a distraction, rather than an asset.
-There have been some attempts to make \MH/ more accessible to users who prefer
-menu-oriented or monolithic mail system interfaces.%
-\nfootnote{For example,
-\pgm{mhe} from Brian Reid of Stanford University
-and \pgm{emh} from Marshall Rose
-are instances of macro packages for James Gosling's \EMACS/ extensible editor,
-while the \pgm{hm} program from Jim Guyton of the Rand Corporation is a
-monolithic \MH/ interface.
-As of this writing,
-none of these programs is documented in the literature.}
-
-In truth,
-users new to \unix/ do not always acclimate to \MH/ easily.
-The command set is undistinguishably mixed in with all other \unix/
-utilities, and it is not easy, without aid of a manual,
-to pick out the necessary commands.
-\MH/ does not provide any ``hand-holding'' to guide
-the user through a minimally useful command subset.
-
-Another problem is that the initial default user profile is too often sparse,
-containing only a \eg{Path:} parameter.
-\MH/ commands will perform adequately without specific information
-in the profile,
-so new users often neglect optionally useful \MH/ capabilities,
-eventually becoming frustrated with the limited default capabilities,
-yet unable to determine without researching through the user's manual,
-the necessary options that would solve their problems.
-
-The currently available means for learning how to use \MH/ are:
-\medskip
-{\advance\leftskip by 2\parindent
-\item{$\bullet$}
-One-on-one tutoring by knowledgeable \MH/ users,
-which has so far shown the best results with new users.
-
-\item{$\bullet$}
-Consulting the {\it \MH/ Tutorial\/}\cite{MRose84b},
-or the {\it \MH/ User's Manual\/}\cite{MRose85a}.
-
-\item{$\bullet$}
-Using the \pgm{msh} (``\MH/ shell'') program as a training shell to read
-bulletin boards.
-The \pgm{msh} command is an interactive program that provides some help
-messages and can list available \MH/ commands.
-\par}
-\medskip
-
-\noindent
-No on-line tutorial materials are presently distributed with the \mh5
-system, although there are some plans in the works to provide a program
-to help with setting up the user profile that would also provide
-operational tips for \MH/ and \unix/. 
-
-It should be noted that these perceived defects of \MH/ do not affect its
-utility any more than analogous problems with any operating system
-will diminish its actual capabilities.
-Users may quarrel with the means chosen for orchestrating \MH/,
-but the fact remains that \MH/ is a very
-useful set of mail handling tools that is flexible,
-infinitely interoperable with other \unix/ text handling tools,
-and yet simple enough for new users to grasp once they are given the 
-proper start.
-The fact that better tutorial materials and training do not exist only means
-that some further work needs to be done in the area of user-education.
-
-\section{A Few Advanced Features}              % mtr
-We now consider certain advanced features in \MH/.
-These features have been chosen to demonstrate some useful capabilities
-available to the \MH/ user.
-It should be noted that many capabilities of \MH/,
-such as shell scripts for extensibility,
-mail delivery hooks,
-the personal aliasing facility,
-and so forth,
-are not described here for lack of space.
-
-\subsection{Draft Folders}                     % jns
-The {\it draft folder} facility provides a method by which several
-message drafts can be simultaneously composed and maintained until
-sent.
-The rationale for this is that partially composed message drafts,
-perhaps elaborate sets of separate messages,
-can be incrementally completed,
-while a folder provides a consistent organization for drafts in progress.
-This is comparable to similar situations in the ``paper world'' where
-contracts, business correspondence, and other communications,
-rather than being created serially with each posted in turn before composing
-the next,
-are usually left in various stages of
-completion before they are eventually mailed.
-
-The \eg{Draft-Folder:} parameter value in the \MH/ profile is used to
-specify a default draft folder,
-where each draft is given a number and an ``artificial'' date stamp.
-Provided that the proper header fields have been completed,
-a \pgm{scan} listing of the draft folder provides a summary of
-each draft in progress:
-to whom the message is to be sent,
-the subject,
-the date of the draft's initial creation and optionally,
-the current size of the draft in terms of characters.
-Experienced users of \MH/ may often keep as many as five to ten unfinished
-drafts in their draft folder.
-``Draft clutter'' can be remedied easily with the \pgm{rmm} command.
-
-\subsection{Message Selection}                 % stef
-\MH/ commands accept {\it message sequence} specifications to specify which
-\arg{msg} or \arg{msgs} are to be operated upon.
-Here are some examples:
-\example scan\ 1\ 3\ 5\ 19\ 185\endexample
-to get a scan listing of messages 1, 3, 5, 19 and 185.
-\example scan\ pseq\endexample
-to get a scan listing of whatever message sequence was given to the previous
-MH command (in this case 1, 3, 5, 19, and 185).
-\example show\ first\ last\endexample
-to get a display of the first and last messages in the folder.
-The \MH/ sequences named \eg{first} and \eg{last} are system defined pseudo
-sequences which act like explicit sequences when given to MH commands.
-Others are \eg{cur}, \eg{next}, \eg{prev},
-and \eg{all} which respectively specify the ``current'' message,
-the ``next'' after cur,
-the ``previous'' message before cur,
-or ``all'' messages in the current-folder.
-The \pgm{scan} assumes \eg{all} while show assumes \eg{cur},
-unless overridden on the command line.
-Over-ride precedence is: command-line first,
-\profile/ second,
-and compiled-in default last.
-
-Users can define additional sequences for similar use,
-but must avoid using reserved names.
-A few optional sequence names have been preempted by \MH/,
-such as \eg{pseq} to mean the
-``sequence used by the previous MH command,''
-and \eg{unseen} to mean the ``messages not yet seen by the user.''
-Sometimes these preempted names can be changed by resetting them in the
-user's \MH/ profile,
-but these facilities are beyond the scope of this discussion.
-
-The mark command can be used to set the values for user-defined sequences:
-\example mark\ 1\ 3\ 5\ -seq\ zzz\\
-        mark\ 4\ 5\ 9\ -seq\ zzz\ -nozero\endexample
-will create a user-sequence named \eg{zzz} and put the sequence \eg{1 3 5}
-in it.
-The \pgm{mark} command assumes that any prior content in an
-existing user-sequence should be ``zeroed'' before the new sequence value is
-recorded.
-This can be prevented with a \switch{nozero} switch on the command line,
-to add \eg{4 5 9} to the original \eg{1 3 5} to yield \eg{1 3 4 5 9}.
-\example mark\ pseq\ zzz\ -seq\ zzznew\endexample
-will create a new sequence named \eg{zzznew} and set its value to the combined
-(inclusive or) of the existing user-sequences in \eg{pseq} and \eg{zzz} for
-its value.
-
-Another more powerful way to set the values of a user-sequence is with
-the pick command, which provides full string search capabilities:
-\example pick\ -from\ mrose\ -seq\ yyy\\
-        pick\ -from\ mrose\ -seq\ yyy\ -list\endexample
-will search though all the \eg{From:} fields in the current folder for the
-string \eg{mrose} and place the list of ``hits''
-in the sequence named \eg{yyy}.
-The \switch{list} switch will cause the resulting list to also be displayed on
-the user's terminal.
-If no \switch{seq\ name} switch is given,
-pick will assume \switch{list}
-and will simply display the resulting list of hits on the user's terminal.
-
-This \switch{list} behavior of pick allows users to take advantage of the
-\unix/ backquoting facility to embed searches in other \MH/ commands.
-\example scan\ \bq{pick\ -from\ mrose}\endexample
-will produce a scan listing of \switch{from\ mrose} hits because the
-\unix/ shell will spawn a process to execute the
-\eg{pick\ -from\ mrose} segment and return the \switch{list}
-results as the message sequence to be scanned.
-\example mark\ pseq\ -seq\ zzz\endexample
-could then be used to capture the ``previous sequence'' in zzz for later use.
-
-One last facility should be mentioned here.
-It is also possible to negate a sequence to specify a new sequence.
-The default negation string is \eg{not}.
-\example scan\ notzzz\\
-        mark\ notzzz\ -seq\ zzznot\endexample
-will give the user a scan listing of all the messages in the current folder
-that are not included in the sequence \eg{zzz}.
-The mark example will of course record the negation of zzz in zzznot.
-It is a bad idea to use the string \eg{not} as the beginning of any
-user-sequence name,
-if \eg{not} is defined as the negation string.
-(Users can choose a different negation string.)
-
-From this discussion,
-it should be clear that \MH/ provides a uniform set of ways to capture
-and use sequences to augment the user's short- and long-term
-memory and to manipulate lists of interesting messages.
-User-sequences are normally stored as RFC822 labeled text lines in a file
-(e.g., \sequences/)
-in the folder with the messages referred to in the sequence.
-If a user does not have write access to a folder,
-then the \MH/ \pgm{mark} and \pgm{pick} commands will
-create a ``private'' sequence in the user's \context/ file.
-Switches are available to give the user control over
-the choice of \switch{private} or \switch{public} sequence options.
-
-Since user-sequences are stored as ordinary text lines in RFC822 labeled
-fields,
-there is no prohibition against someone writing programs to perform
-any kind of useful manipulation on \MH/ sequences.
-Boolean operators can be implemented,
-or complex indexing structures could be developed to serve special purposes.
-If a DBMS can utilize \unix/ pathnames or \MH/ \arg{+folder} and
-message names,
-then the full power of the DBMS might be applied.
-The intention of \MH/ development teams has always been to leave open the
-widest possible array of options for later extension.
-The only restrictions should be the user's ingenuity,
-programming prowess, and the available machine resources.
-Unfortunately these resources always seem to be available in
-limited quantities.
-
-\subsection{Distribution Lists}                        % mtr
-\MH/ has a convenient interface to the UCI BBoards facility\cite{MRose84a}.%
-\nfootnote{The UCI BBoards facility can run under either the \MMDF/ or
-\SendMail/,
-or in a more restricted form under stand-alone \MH/.}
-This facility permits the efficient distribution of interest group messages
-on a single host,
-to a group of hosts under a single administration,
-and to the ARPA Internet community.
-
-Described simply, an interest group is composed of a number of subscribers
-with a common interest.
-These subscribers post mail to a single address, known as a
-{\it distribution} address (e.g., {\tx MH-Workers@UCI}).
-From this distribution address, a copy of the message is sent to each
-subscriber.
-Each group has a {\it moderator},
-which is the person that runs the group.
-This moderator can usually be reached at a special address,
-known as a {\it request} address (e.g., {\tx MH-Workers-Request@UCI}).
-Usually, the responsibilities of the moderator are quite simple,
-since the mail system handles distribution to subscribers automatically.
-In some interest groups,
-instead of each separate message being distributed directly to subscribers,
-a batch of (related) messages are put into a {\it digest} format by the
-moderator and then sent to the subscribers.
-Although this requires more work on the part of the moderator
-and introduces delays,
-such groups tend to be better organized.
-
-Unfortunately, some problems arise with the scheme outlined above.
-First, if two users on the same host subscribe to the same interest group,
-two copies of the message will be delivered.
-This is wasteful of both processor and disk resources at that host.
-
-Second,
-some groups carry a lot of traffic.
-Although subscription to a group does indicate interest on the part of a
-subscriber,
-it is usually not interesting to get 50 messages or so delivered to 
-the user's private maildrop each day,
-interspersed with {\it personal} mail,
-that is likely to be of a much more important and timely nature.
-
-Third, if a subscriber's address in a distribution list 
-becomes ``bad'' somehow and causes failed mail to be returned,
-the originator of the message is normally notified.
-It is not uncommon for a large list to have several bogus addresses.
-This results in the originator being flooded with ``error messages'' from
-mailers across the Internet stating that a given address on the list was
-bad.
-Needless to say,
-the originator usually does not care if the bogus addresses got a copy
-of the message or not.
-The originator is merely interested in posting a message
-to the group at large.
-On the other hand,
-the moderator of the group does care if there are bogus addresses on the list,
-but ironically does not receive notification.
-
-To solve all of these problems,
-the UCI BBoards facility introduces a new entity into the picture:
-all interest group mail is handled by a special component of the mail system.
-The distribution address maps to a special {\it channel} that performs
-several actions.
-First, if local delivery is to be performed,
-then a copy of the message is placed in a global maildrop for the interest
-group with a timestamp and a unique number.
-Local users can read messages posted for the interest group by reading this
-``public'' maildrop.
-Second, if further distribution is to take place,
-a copy of the message is sent to the distribution address in such a way that
-if any of the addresses are bogus,
-failure notices will be returned to the local maintainer of the group
-address list, rather than the originator of the message.
-
-This scheme has several advantages:
-First, messages delivered to the local host are processed and saved once
-in a globally accessible area.
-The UCI BBoards facility supports software which allows a user to query an
-interest group for new messages and to read and process
-those messages in the \MH/-style.
-Second, once a host administrator subscribes to an interest group,
-each user can join or quit the list's readership without
-contacting anyone.
-Third, a hierarchical distribution scheme can be constructed to
-reduce the amount of delivery effort.
-Fourth, errors are prevented from propagating.
-When an address on the distribution list goes bad,
-the list moderator who is immediately responsible for the address is notified.
-If a local moderator does not exist,
-then the local PostMaster is notified (not the global group moderator).
-
-In addition to solving the problems outlined above,
-the UCI BBoards facility supports several other capabilities.
-BBoards may be automatically archived in order to conserve disk space and
-reduce processing time when reading current items.
-Also,
-the archives can be separately maintained on tape for access by interested
-researchers.
-
-Special alias files may be generated which allow the \MH/ user to shorten
-address type-in.
-For example, instead of sending to {\tx SF-Lovers@Rutgers},
-a user of \MH/ usually sends to \eg{SF-Lovers} and the \MH/ aliasing
-facility automatically makes the appropriate expansion in the headers of the
-outgoing message.
-Hence,
-the user need only know the name of an interest group and not its global
-network address.
-
-Finally, the UCI BBoards facility supports {\it private} interest groups
-using the \unix/ group access mechanism.
-This allows a group of people on the same or different machines to conduct a
-private discussion.
-
-The practical upshot of all this is that the UCI BBoards facility automates
-the vast majority of BBoards handling from the point of view of both the
-PostMaster and the user.
-
-\MH/ provides three programs to deal with interest groups.
-The \pgm{bbc} program is used to check on the status of one or more groups,
-and to optionally start an \MH/ shell on those groups which the user is
-interested in.
-The \pgm{bbl} program can be used to perform manual maintenance on a
-discussion group beyond the normal automatic capabilities of the UCI BBoards
-facility.
-Finally,
-the \pgm{msh} program implements an \MH/ shell for reading BBoards,
-in which nearly all of the \MH/ commands are implemented in a single program.
-
-Observant readers may note that the use of \pgm{msh} is contrary to the \MH/
-philosophy of using relatively small, single-purposed programs.
-Sadly,
-the authors admit that this is true.
-In an effort to avoid some problems with shared-access and message naming
-conventions (which are beyond the scope of this paper),
-BBoards are kept in maildrop format (monolithic) instead of folders.
-Some research has gone into overcoming this problem in order to restore
-\MH/'s purity of purpose,
-but all solutions proposed to date are either unworkable or require
-significant recoding of \MH/'s internals.
-
-\subsection{Encapsulation}                     % mtr
-As described above,
-some interest groups appear in digest form.
-This means that the messages which appear in such a forum actually
-encapsulate other messages in their body.
-It turns out that the generation of a digest is not at all unlike the
-generation of a draft which forwards one or more messages.
-In RFC934\cite{MRose85b},
-a method is proposed to standardize message encapsulation for the ARPA
-Internet community.
-\MH/ uses this method for the generation of digests,
-forwardings,
-and blind-carbon-copies.
-
-A key requisite for using an encapsulation technique for digests and
-forwardings is the ability to later decapsulate the contents.
-Without this ability,
-the forwarded messages are of little use to the recipients because they can
-not be distributed, forwarded, replied-to, searched-for,
-or otherwise processed as separate individual messages.
-In the case of a digest,
-a bursting capability is especially useful.
-Not only does the ability to burst a digest permit a recipient of the digest
-to reply to an individual digestified message,
-but it also allows the recipient to selectively process the other messages
-encapsulated in the digest.
-
-For example,
-a single digest issue usually contains more than one topic.
-A subscriber may only be interested in a subset of the topic discussed in a
-particular issue.
-With a bursting capability,
-the subscriber can burst the digest,
-scan the headers,
-and process those messages which are of interest.
-The others can be ignored,
-if the user so desires.
-
-Note that with proper encapsulation technology,
-one can argue for the re-distribution of messages simply becoming
-special cases of message forwarding.
-For example,
-the NBS Standard for Mail Interchange\cite{FIPS98}
-and the recent CCITT draft on Mail Handling Systems standards\cite{X.400}
-both discourage the re-distribution facility in favor of forwarding
-by encapsulation.
-
-\subsection{Encapsulation and Blind-Carbon-Copies} % mtr
-Many user agents support a blind-carbon-copy facility.
-\MH/ implements this using a form of encapsulation.
-It may not be apparent to the reader as to why encapsulation of the original
-message is a good way to deliver blind-carbon-copies.
-With a blind-carbon-copy facility,
-two types of addressees are possible in the draft to be sent:
-{\it visible} and {\it blind}.
-The visible recipients are listed as addresses in the \eg{To:} and \eg{cc:}
-fields,
-and the blind recipients are listed in the \eg{Bcc:} fields of the draft.
-The idea behind this facility is that copies of the draft which are
-delivered to the \eg{To:} and \eg{cc:} recipients should show the visible
-recipients only.
-
-A major concern with a blind-carbon-copy facility
-is that blind recipients should be prevented from accidentally replying to the
-message in such a way that the visible recipients are included as addressees
-in the reply.
-
-There are several methods to implement this facility.
-Most rely on posting two drafts with the \MTS/.
-One draft is destined for visible recipients,
-and simply lacks the \eg{Bcc:} fields of the original draft.
-The second draft is destined for the blind recipients.
-The question then arises as to what form this latter draft posted should take.
-
-One approach might be to disable the \eg{To:} and \eg{cc:} fields of the
-draft sent to the blind recipients
-(e.g., by prefixing the string \eg{BCC-} to these fields).
-Unfortunately,
-this is often very confusing to the blind recipients
-because it differs from what the visible recipients got.
-Although accidental replies are not possible,
-it is often difficult to tell that the message received is the result of a
-blind-carbon-copy.
-
-The method used by \MH/ is to post two drafts,
-a visible draft for the visible recipients,
-and a blind draft for the blind recipients.
-The visible draft consists of the original draft without any \eg{Bcc:} fields.
-The blind draft contains the visible message as a forwarded message.
-The headers for the blind draft contain the minimal RFC822 headers
-(\eg{From:} and \eg{Date:})
-and,
-if the original draft had a ``Subject:'' field,
-then this header field is also included.
-In addition,
-\MH/ alerts the recipient that the message is a blind-carbon-copy by
-placing this information in the initial encapsulation information in the
-blind recipient's copy.
-This scheme prevents inadvertent replies while allowing the recipient
-full access to an exact copy of what was sent to the visible recipients.
-
-\section{\MH/ as a Record Handler}             % stef
-Although message format standards such as RFC822
-(and its predecessors) were originally devised to facilitate
-computer processing of interpersonal messages,
-there is no special reason why the concept should be
-limited to interpersonal message processing.
-Messages are just one of a variety of useful record forms that might
-be created in one place and transfered to another for processing.
-In this regard,
-RFC822 wisely left open the option for higher level applications to use
-arbitrary header names or field contents by proscribing \MTS/ use
-of header names beginning with \eg{X-}.
-
-\MH/ carries though on this idea by allowing the \pgm{pick} command
-to accept any arbitrary field name for string searches,
-so MH users can select on any arbitrary field name without prior definition.
-Beyond this,
-since all messages are simply files in \unix/ directories,
-applications can be developed to apply any programmable process to
-any selected message.
-
-For example,
-a {\it Time Card Form} might be called up by an \MH/ user with
-\example comp\ -form\ timecomps\endexample
-to enter time and attendance information into \eg{X-time$\tdots$:} fields in a
-draft message record.
-The \file{timecomps} form would include the address of a
-supervisor who should validate the information,
-along with empty fields to be filled in with data.
-In fancy applications,
-this might be done with a sophisticated interactive data entry tool
-which would validate entered information,
-but this is an open choice within the \MH/ framework.
-Another
-alternative would be to use a received message as the blank form to add a
-degree of central control over time and attendance reporting forms.
-
-Receiving supervisors could simply register approval by using the \MH/
-\pgm{dist} command to resend subordinates' time cards to higher approval
-levels, or
-to send them to a time card collection address.
-The \MH/ \pgm{dist} command automatically inserts ``ReSent'' header fields
-showing who resent it and the resending date.
-Alternatively,
-the MH \pgm{forw} command could be used to transfer a batch of approved time
-cards to the next processing station.
-If desired, a new ``approval'' command could be programmed to provide a more
-trusted authentication, perhaps with encryption of the content.
-Trusted mail systems, such as \trustedmail/\cite{MRose85c},
-are becoming available for this purpose.
-
-At the final collection destination,
-an automated User Agent could be programmed to directly load the data into
-the Time and Attendance DBMS by
-parsing and decoding the data contained in the \eg{X-time$\tdots$:} fields.
-It might be noted that while the RFC822 does not restrict the
-internal forms of messages,
-it is necessary to conform to the interchange standard if specialized filters
-for message headers are not to be built to serve as {\it export laundries}
-(a term originating with Stephen H.~Willson to describe conformance
-transformations in \Ada/).
-
-\subsection{Mapping Between Record Modes (DBMS/MHS)}
-This time and attendance example suggests that it is possible to define
-one-to-one mappings between RFC822 fields and DBMS data elements.
-For every DBMS data element definition,
-there is a potential corresponding RFC822 transferable equivalent
-definition which can facilitate mail transfers of record information.
-Indeed,
-a large portion of the definitional work is already done where a Data Base
-has already been defined.
-All that remains is to define the RFC822 equivalents.
-
-The suggestion that a batch of time cards be forwarded inside a ``cover''
-message implies that it is possible in the \MH/ framework to recursively
-bundle messages within messages, and be able to recover the originals for
-separate processing at a receiving destination.
-The \MH/ \pgm{burst} command can be applied recursively for this purpose
-because \MH/ encapsulation uses an unambiguous scheme to delimit messages
-that are enclosed inside other messages.
-Thus,
-it should be possible to extract a structured set of records from a DBMS
-and mail the set to a foreign site for processing, or reinsertion into
-another DBMS.
-As long as the DBMS data element definitions
-correctly correspond to the RFC822 definitions,
-it is not even necessary
-for the source and destination DBMS systems to be the same.
-
-From this discussion,
-it is concluded that the \MH/ framework can be useful
-for building distributed record handling systems where people at widely
-scattered locations must create and submit record forms for processing
-at distant locations.
-This might prove to be especially effective when
-a mail system is also needed for other communication purposes.
-A network of sales offices is a good example,
-where general message service would be used for communications
-with remote manufacturing and distribution centers,
-and could also be used for an order entry system.
-
-Another example might be for structured communications, as occur in
-requisition and purchasing systems.
-Requisitions could be filled in and mailed to approval offices,
-and resent or forwarded to others for action.
-At some point,
-the requisitions could flow into other other more suitable
-processing systems as needed.
-At the very least, the ability to originate
-requisitions can be distributed to anyone with access to a mail system
-that can originate a proper requisition form.
-
-As a last example,
-\MH/ already supports group discussions with its BBoard facilities
-which allow for automatic sorting of mail by group address,
-with shared private or public group access to contributed items.
-As has been shown to be possible with administrative record systems,
-there is no obvious limit to the ways that group discussion traffic
-might be organized into structured collections with indices,
-annotations, or reference pointers
-to aid in making conference archives more useful.
-Indeed, \MH/ tools could even be used to feed discussion items into
-existing conference systems.
-
-\section{Distributed Mail}                     % mtr
-Next, we consider how \MH/ might be used in a distributed mail environment.
-Two schemes are discussed:
-one in which connectivity is high and connections are relatively ``cheap'',
-and one in which connectivity is low and connections are ``expensive''.
-
-\subsection{The ARPA Internet Environs}                % mtr
-The ARPA Internet community consists of many types of heterogeneous nodes.
-Some hosts are large mainframe computers,
-others are personal workstations.
-All communicate using the \milstd/ TCP/IP protocol suite\cite{IP,TCP}.
-Messages which conform to the Standard for the Format of ARPA Internet Text
-Messages\cite{DCroc82}
-are exchanged using the Simple Mail Transfer Protocol\cite{SMTP}.
-
-On smaller nodes in the ARPA Internet it is often impractical to maintain
-a message transport agent.
-For example,
-a workstation may not have sufficient resources (cycles, disk space)
-in order to permit an SMTP server and associated local mail delivery system
-to be kept resident and continuously running.
-Furthermore,
-the workstation could be off-net for extended periods of time.
-Similarly,
-it may be expensive (or impossible) to keep a personal computer
-interconnected to an IP-style network for long periods of time.
-In other words,
-the node is lacking the resource known as ``connectivity''.
-
-Despite this,
-it is often desirable to be able to process mail with \MH/ on these smaller
-nodes,
-and they often support a user agent to aid the tasks of mail handling.
-To solve this problem,
-a network node which can support a message transport entity
-(known as {\it service} host) offers
-a maildrop service to these less endowed nodes
-(known as {\it client} hosts).
-The Post Office Protocol\cite{JReyn84} (POP) is intended to permit a
-workstation to dynamically access a maildrop on a service host to pick-up
-mail.%
-\nfootnote{Actually,
-there are three different descriptions of the POP.
-The first, cited in \cite{JReyn84},
-was the original description of the protocol,
-which suffered from certain problems.
-Since then,
-two alternate descriptions have been developed.
-The official revision of the POP\cite{MButl85},
-and the revision of the POP which \MH/ uses
-(which is documented in an internal memorandum in the \MH/ release).
-This paper considers the POP in the context of the \MH/ release.}
-The level of access includes the ability to
-determine the number of messages in the maildrop and the size of each message,
-as well as to retrieve and delete individual messages.
-More sophisticated implementations of the POP server
-are able to distinguish between the header and body portion of each message,
-and send $n$ lines of a message to the POP client.
-This capability is useful in thinly connected environments where conservation
-of bandwidth is important.
-By utilizing a more intelligent POP client,
-a user may generate ``scan~listings'' and dynamically decide which messages
-are worth taking delivery on.
-The philosophy of the POP is to put intelligence in the
-POP clients and not the POP servers.
-
-The underlying paradigm in which the POP functions is that of a
-split-slot/remote-\UA/ model.
-The client host (such as a workstation) is without a co-resident
-{\it message transport agent} (\MTA/),
-and thus makes use of a service host with an \MTA/ to obtain posting (SMTP)
-and delivery (POP) services.
-The entity which supports this type of environment is called a remote-\UA/
-since the user agent resides on a different host than its associated message
-transport agent.
-
-One very important issue which must be raised at this point is one of
-authentication.
-The POP requires that a client identify itself to the server using a
-server-specific user-id and a server/user-specific password.
-This authentication is required to prevent unauthorized entities from
-accessing a maildrop on a POP service host.
-It must be emphasized that the POP client is not a ``trusted'' entity of the
-\MTS/ in any sense at all.
-
-Ideally,
-one would also like to authenticate mail as it is posted on the POP service
-host using the SMTP.
-Currently,
-in the ARPA Internet community,
-no authentication is done with SMTP transactions.
-This is considered a shortcoming by those interested in researching the
-split-\UA/ model of distributed mail.
-The MZnet environment,
-discussed in the next section,
-has authentication facilities for posting mail.
-
-The current release of \MH/ supports the above model fully:
-a POP client program is available to retrieve a maildrop on a POP service
-host.
-In addition,
-using the SMTP configuration for delivery in \MH/,
-a user is able to specify a search-list of service hosts (and networks)
-with which to try to post mail.
-Using this search-list,
-when an \MH/ user posts a draft,
-the \pgm{post} program will attempt to establish an SMTP connection
-with each host in the list to post the message until it succeeds.
-Initial experimentation with the split-\UA/
-in a local network environment has proved quite successful.
-
-\subsection{The MZnet Environs}                        % jns
-In 1983,
-the MZnet project\cite{EStef84} at the University of California, Irvine
-set out to study the problems involved with bringing
-Internet-class mail handling facilities to personal computers.
-The project used Apple~II computers running the CP/M 2.2 operating system.
-Programming was done in a subset of the C language called BDS C.
-The transport system was based on the \MMDF/ PhoneNet software,
-and implemented a {\it split-slot} arrangement between a personal computer
-and a larger,
-centralized mail distribution system that performed user
-authentication and provided a relatively secure mail transfer channel.
-The user agent, CP/MH, was based on \MH/.
-
-A conclusion of the experiment was that small personal computer systems
-with dial-up phone connections constrain user agent systems design in
-ways that require use of a {\it split-slot} interface between the \UA/
-and its supporting \MTA/, and that this interface
-best provides the required services if it has error controlled command
-and data transfer facilities, with interactive behavior. 
-Another conclusion indicated that a good design for a user agent in such
-a small personal computer
-environment could be based on a very modular architecture,
-such as \MH/.
-A final conclusion was that session-level authentication of the client \UA/
-is required for both posting and delivery.
-
-It should be noted that the MZnet project had a profound influence on the
-development of the POP used by \MH/.
-A somewhat more detailed discussion of the relations between the two
-environments can be found in the POP description contained
-in the \MH/ release.
-
-\section{A Final Note}                         % jns
-With the fifth major release of the \MH/ system,
-it has become clear that most major increases in functionality can come
-only at the expense of either efficiency or portability.
-Although there has been great effort to keep \MH/ portable to a number of
-\unix/ implementations,%
-\nfootnote{As of this writing,
-there are approximately 75~sites running \mh5
-on five different implementations of \unix/.}
-the divergence in process management facilities,
-file system enhancements,
-and even C~compiler capabilities
-has already presented obstacles to some attempts to rehost the \MH/ code.
-
-There has been some discussion of implementing specialized \MH/ daemons
-that maintain context information over one or more sessions,
-thus decreasing the amount of overhead involved in starting each \MH/ command.
-Unfortunately,
-even if such daemons were to be implemented,
-they would be very difficult to move to versions of \unix/
-without sophisticated process management facilities,
-and even then the differences in ``philosophies''
-of process management\cite{WJoy83,EOlse84}
-would tend to keep such daemons system specific.
-A better solution seems to be simply to tune existing code.
-
-\section{Acknowledgements}
-The authors would like to thank Norman Z.~Shapiro and
-Phyllis Kantar of the Rand Corporation for their invaluable comments during
-the preparation of this paper.
-
-\section{Distribution Information}
-For information concerning distribution mechanics for the current release of
-\MH/, please contact:
-$$\displayindent=\leftskip     \advance\displayindent by1.5\parindent
-    \halign{\leftline{#}\cr
-       Support Group\cr
-       Attn: MH Distribution\cr
-       Department of Information and Computer Science\cr
-       University of California, Irvine\cr
-       Irvine, CA  92717\qquad USA\cr
-       \cr
-       714/856--6852\cr
-}$$
diff --git a/docs/historical/multifarious/version b/docs/historical/multifarious/version
deleted file mode 100644 (file)
index fb1e7bc..0000000
+++ /dev/null
@@ -1 +0,0 @@
-54
diff --git a/docs/historical/multifarious/version.sh b/docs/historical/multifarious/version.sh
deleted file mode 100644 (file)
index 9ec1e79..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-if [ ! -r version ]; then echo 0 > version; fi
-touch version
-echo '\catcode`\#=12' > version.tex
-awk '  { version = $1 + 1; }\
-END    { printf "\\def\\versiontag/{#1.%d}%%\n", version >> "version.tex"; \
-         printf "%d\n", version > "version"; }' < version
-echo '\def\versiondate/{'`date`'}%' >> version.tex
-echo '\catcode`\#=6' >> version.tex
-echo '\tell{Version \versiontag/ of \versiondate/}' >> version.tex
diff --git a/docs/historical/multifarious/version.tex b/docs/historical/multifarious/version.tex
deleted file mode 100644 (file)
index 7d936c0..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\catcode`\#=12
-\def\versiontag/{#1.54}%
-\def\versiondate/{Wed May 21 21:04:22 PDT 1986}%
-\catcode`\#=6
-\tell{Version \versiontag/ of \versiondate/}
diff --git a/docs/historical/mznet/Makefile b/docs/historical/mznet/Makefile
deleted file mode 100644 (file)
index 2c9aec6..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-#########################################################################
-# Instructions to Make, for generation of nice-looking papers using LaTeX
-#########################################################################
-
-.SUFFIXES:     .pic .web .tex .dvi .imp
-
-.pic.tex:;     tpic $<
-
-.web.tex:;     sh -c 'if weave $<; then exit 0; else rm $@; exit 1; fi'
-
-.tex.dvi:;     sh -c 'if latex \\nonstopmode\\input $<; \
-                         then exit 0; else rm $@; exit 1; fi'
-
-.dvi.imp:;     dviimp $(DFLAGS) -i $@ $<
-
-
-#############################################################
-# Here it is...
-#############################################################
-
-all:           i-all
-print:         i-print
-
-
-#############################################################
-# mznet
-#############################################################
-
-i-all:         mznet.dvi
-
-i-print:       mznet.dvi true
-               dvisp $(DFLAGS) -J MZnet mznet
-
-
-# customization files, et. al., not included below
-mznet.dvi:     mznet.tex figure1.tex figure2.tex
-
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-               rm -f mznet.dvi mznet.imp
-
-clean:;                rm -f mznet.log _*
-
-true:;
diff --git a/docs/historical/mznet/READ-ME b/docs/historical/mznet/READ-ME
deleted file mode 100644 (file)
index f8d2a04..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-Copyright information for "MZnet: Mail Service for Personal Micro-
-Computer Systems", Stefferud, Einar; Sweet, Jerry; Domae, Terry.
-
-Title: Computer Message Services, Proceedings of the IFIP WG 6.5
-       Conference (Nottingham, U.K., May 1-4, 1984)
-
-Editor: H. T. Smith
-
-Copyright transferred to the International Federation for Information
-Processing.  Authors reserve all proprietary rights and the right
-to use all or part of this article in future works of their own.
-In the case of republication of the whole article or parts thereof,
-in journals or reprint publications by third party, written permission,
-written permission must be obtained from IFIP or its designated
-Publisher to be signed by at least one of the authors (who agrees 
-to inform the others, if any) or, in the case of a "work made for hire",
-by the employer.
-
diff --git a/docs/historical/mznet/figure1.pic b/docs/historical/mznet/figure1.pic
deleted file mode 100644 (file)
index b8a5cef..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-.PS
-B1: box "user"
-B2: box "UA" with .n at (B1.s.x, B1.s.y-(lineht/2))
-B3: box "MTA" with .n at (B2.s.x, B2.s.y-(lineht*4))
-B4: box "PhoneNet" with .n at (B3.s.x, B3.s.y-lineht)
-B5: box "{\it modem}" with .n at (B4.s.x, B4.s.y-lineht)
-B6: box "{\it modem}" with .w at (B5.e.x+(linewid*2), B5.e.y)
-B7: box "PhoneNet" with .s at (B6.n.x, B4.s.y)
-B8: box "MTA" with .s at (B7.n.x, B3.s.y)
-B9: box "MTA" with .w at (B8.e.x+linewid, B8.e.y)
-B10: box "PhoneNet" with .n at (B9.n.x, B7.n.y)
-B11: box "{\it modem}" with .s at (B10.s.x, B6.s.y)
-B12: box "{\it modem}" with .w at (B11.e.x+(linewid*2), B11.e.y)
-B13: box "PhoneNet" with .s at (B12.s.x, B10.s.y)
-B14: box "MTA" with .s at (B13.n.x, B3.s.y)
-B15: box "UA" with .s at (B14.n.x, B2.s.y)
-B16: box "user" with .s at (B15.n.x, B1.s.y)
-line from B1.s to B2.n
-line from B2.s to B3.n
-line from B3.s to B4.n
-line from B4.s to B5.n
-line from B5.e to B6.w
-line from B6.n to B7.s
-line from B7.n to B8.s
-line from B8.e to B9.w
-line from B9.s to B10.n
-line from B10.s to B11.n
-line from B11.e to B12.w
-line from B12.n to B13.s
-line from B13.n to B14.s
-line from B14.n to B15.s
-line from B15.n to B16.s
-line dashed from (B8.e.x+(linewid/2), B8.e.y-(lineht/2)) to \
-       (B8.e.x+(linewid/2), B6.s.y)
-line dotted from (B2.sw.x+(linewid/8), B3.n.y+(lineht*1.5)) to \
-       (B2.se.x-(linewid/8), B3.n.y+(lineht*1.5))
-line dotted from (B15.sw.x+(linewid/8), B3.n.y+(lineht*1.5)) to \
-       (B15.se.x-(linewid/8), B3.n.y+(lineht*1.5))
-move to (B1.n.x, B1.n.y+lineht); "{\tt Any Host}"
-move to (B16.n.x, B1.n.y+lineht); "{\tt Any Other Host}"
-move to (B8.e.x+(linewid/2), B1.n.y+lineht); "{\tt Relay Host}"
-move to (B2.s.x+(linewid/2), B3.n.y+(lineht*1.75)); "{\it slot}"
-move to (B15.s.x-(linewid/2), B3.n.y+(lineht*1.75)); "{\it slot}"
-.PE
diff --git a/docs/historical/mznet/figure1.tex b/docs/historical/mznet/figure1.tex
deleted file mode 100644 (file)
index 26ac160..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-\catcode`@=11
-\expandafter\ifx\csname graph\endcsname\relax \alloc@4\box\chardef\insc@unt\graph\fi
-\catcode`@=12
-\setbox\graph=\vtop{%
-  \baselineskip=0pt \lineskip=0pt \lineskiplimit=0pt
-  \vbox to0pt{\hbox{%
-    \special{pn 8}%
-    \special{pa 0 999}%
-    \special{pa 0 499}%
-    \special{pa 749 499}%
-    \special{pa 749 999}%
-    \special{pa 0 999}%
-    \special{fp}%
-    \rlap{\kern  0.374in\lower 0.791in\hbox to 0pt{\hss user\hss}}%
-    \special{pa 0 1749}%
-    \special{pa 0 1249}%
-    \special{pa 749 1249}%
-    \special{pa 749 1749}%
-    \special{pa 0 1749}%
-    \special{fp}%
-    \rlap{\kern  0.374in\lower 1.541in\hbox to 0pt{\hss UA\hss}}%
-    \special{pa 0 4249}%
-    \special{pa 0 3749}%
-    \special{pa 749 3749}%
-    \special{pa 749 4249}%
-    \special{pa 0 4249}%
-    \special{fp}%
-    \rlap{\kern  0.374in\lower 4.041in\hbox to 0pt{\hss MTA\hss}}%
-    \special{pa 0 5249}%
-    \special{pa 0 4749}%
-    \special{pa 749 4749}%
-    \special{pa 749 5249}%
-    \special{pa 0 5249}%
-    \special{fp}%
-    \rlap{\kern  0.374in\lower 5.041in\hbox to 0pt{\hss PhoneNet\hss}}%
-    \special{pa 0 6249}%
-    \special{pa 0 5749}%
-    \special{pa 749 5749}%
-    \special{pa 749 6249}%
-    \special{pa 0 6249}%
-    \special{fp}%
-    \rlap{\kern  0.374in\lower 6.041in\hbox to 0pt{\hss {\it modem}\hss}}%
-    \special{pa 1749 6249}%
-    \special{pa 1749 5749}%
-    \special{pa 2499 5749}%
-    \special{pa 2499 6249}%
-    \special{pa 1749 6249}%
-    \special{fp}%
-    \rlap{\kern  2.124in\lower 6.041in\hbox to 0pt{\hss {\it modem}\hss}}%
-    \special{pa 1749 5249}%
-    \special{pa 1749 4749}%
-    \special{pa 2499 4749}%
-    \special{pa 2499 5249}%
-    \special{pa 1749 5249}%
-    \special{fp}%
-    \rlap{\kern  2.124in\lower 5.041in\hbox to 0pt{\hss PhoneNet\hss}}%
-    \special{pa 1749 4249}%
-    \special{pa 1749 3749}%
-    \special{pa 2499 3749}%
-    \special{pa 2499 4249}%
-    \special{pa 1749 4249}%
-    \special{fp}%
-    \rlap{\kern  2.124in\lower 4.041in\hbox to 0pt{\hss MTA\hss}}%
-    \special{pa 2999 4249}%
-    \special{pa 2999 3749}%
-    \special{pa 3749 3749}%
-    \special{pa 3749 4249}%
-    \special{pa 2999 4249}%
-    \special{fp}%
-    \rlap{\kern  3.374in\lower 4.041in\hbox to 0pt{\hss MTA\hss}}%
-    \special{pa 2999 5249}%
-    \special{pa 2999 4749}%
-    \special{pa 3749 4749}%
-    \special{pa 3749 5249}%
-    \special{pa 2999 5249}%
-    \special{fp}%
-    \rlap{\kern  3.374in\lower 5.041in\hbox to 0pt{\hss PhoneNet\hss}}%
-    \special{pa 2999 6249}%
-    \special{pa 2999 5749}%
-    \special{pa 3749 5749}%
-    \special{pa 3749 6249}%
-    \special{pa 2999 6249}%
-    \special{fp}%
-    \rlap{\kern  3.374in\lower 6.041in\hbox to 0pt{\hss {\it modem}\hss}}%
-    \special{pa 4749 6249}%
-    \special{pa 4749 5749}%
-    \special{pa 5499 5749}%
-    \special{pa 5499 6249}%
-    \special{pa 4749 6249}%
-    \special{fp}%
-    \rlap{\kern  5.124in\lower 6.041in\hbox to 0pt{\hss {\it modem}\hss}}%
-    \special{pa 4749 5249}%
-    \special{pa 4749 4749}%
-    \special{pa 5499 4749}%
-    \special{pa 5499 5249}%
-    \special{pa 4749 5249}%
-    \special{fp}%
-    \rlap{\kern  5.124in\lower 5.041in\hbox to 0pt{\hss PhoneNet\hss}}%
-    \special{pa 4749 4249}%
-    \special{pa 4749 3749}%
-    \special{pa 5499 3749}%
-    \special{pa 5499 4249}%
-    \special{pa 4749 4249}%
-    \special{fp}%
-    \rlap{\kern  5.124in\lower 4.041in\hbox to 0pt{\hss MTA\hss}}%
-    \special{pa 4749 1749}%
-    \special{pa 4749 1249}%
-    \special{pa 5499 1249}%
-    \special{pa 5499 1749}%
-    \special{pa 4749 1749}%
-    \special{fp}%
-    \rlap{\kern  5.124in\lower 1.541in\hbox to 0pt{\hss UA\hss}}%
-    \special{pa 4749 999}%
-    \special{pa 4749 499}%
-    \special{pa 5499 499}%
-    \special{pa 5499 999}%
-    \special{pa 4749 999}%
-    \special{fp}%
-    \rlap{\kern  5.124in\lower 0.791in\hbox to 0pt{\hss user\hss}}%
-    \special{pa 374 999}%
-    \special{pa 374 1249}%
-    \special{fp}%
-    \special{pa 374 1749}%
-    \special{pa 374 3749}%
-    \special{fp}%
-    \special{pa 374 4249}%
-    \special{pa 374 4749}%
-    \special{fp}%
-    \special{pa 374 5249}%
-    \special{pa 374 5749}%
-    \special{fp}%
-    \special{pa 749 5999}%
-    \special{pa 1749 5999}%
-    \special{fp}%
-    \special{pa 2124 5749}%
-    \special{pa 2124 5249}%
-    \special{fp}%
-    \special{pa 2124 4749}%
-    \special{pa 2124 4249}%
-    \special{fp}%
-    \special{pa 2499 3999}%
-    \special{pa 2999 3999}%
-    \special{fp}%
-    \special{pa 3374 4249}%
-    \special{pa 3374 4749}%
-    \special{fp}%
-    \special{pa 3374 5249}%
-    \special{pa 3374 5749}%
-    \special{fp}%
-    \special{pa 3749 5999}%
-    \special{pa 4749 5999}%
-    \special{fp}%
-    \special{pa 5124 5749}%
-    \special{pa 5124 5249}%
-    \special{fp}%
-    \special{pa 5124 4749}%
-    \special{pa 5124 4249}%
-    \special{fp}%
-    \special{pa 5124 3749}%
-    \special{pa 5124 1749}%
-    \special{fp}%
-    \special{pa 5124 1249}%
-    \special{pa 5124 999}%
-    \special{fp}%
-    \special{pa 2749 4249}%
-    \special{pa 2749 6249}%
-    \special{da  0.050}%
-    \special{pa 62 2999}%
-    \special{pa 687 2999}%
-    \special{dt  0.050}%
-    \special{pa 4812 2999}%
-    \special{pa 5437 2999}%
-    \special{dt  0.050}%
-    \rlap{\kern  0.374in\lower 0.041in\hbox to 0pt{\hss {\tt Any Host}\hss}}%
-    \rlap{\kern  5.124in\lower 0.041in\hbox to 0pt{\hss {\tt Any Other Host}\hss}}%
-    \rlap{\kern  2.749in\lower 0.041in\hbox to 0pt{\hss {\tt Relay Host}\hss}}%
-    \rlap{\kern  0.624in\lower 2.916in\hbox to 0pt{\hss {\it slot}\hss}}%
-    \rlap{\kern  4.874in\lower 2.916in\hbox to 0pt{\hss {\it slot}\hss}}%
-    \kern  5.500in
-  }\vss}%
-  \kern  6.250in
-}
diff --git a/docs/historical/mznet/figure2.pic b/docs/historical/mznet/figure2.pic
deleted file mode 100644 (file)
index a622071..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-.PS
-B1: box "user"
-B2: box "UA" with .n at (B1.s.x, B1.s.y-(lineht/2))
-B3: box "MTA" with .n at (B2.s.x, B2.s.y-(lineht*4))
-B4: box "PhoneNet" with .n at (B3.s.x, B3.s.y-lineht)
-B5: box "{\it modem}" with .n at (B4.s.x, B4.s.y-lineht)
-B6: box "{\it modem}" with .w at (B5.e.x+(linewid*2), B5.e.y)
-B7: box "PhoneNet" with .s at (B6.n.x, B4.s.y)
-B8: box "MTA" with .s at (B7.n.x, B3.s.y)
-B9: box "MZnet" with .s at (B8.ne.x+(linewid/2), B8.n.y+lineht)
-B10: box "PhoneNet" with .n at (B9.se.x+(linewid/2), B7.n.y)
-B11: box "{\it modem}" with .s at (B10.s.x, B6.s.y)
-B12: box "{\it modem}" with .w at (B11.e.x+(linewid*2), B11.e.y)
-B13: box "PhoneNet" with .s at (B12.s.x, B10.s.y)
-B14: box "MZnet" with .s at (B13.n.x, B9.s.y)
-B15: box "UA" with .s at (B14.n.x, B2.s.y)
-B16: box "user" with .s at (B15.n.x, B1.s.y)
-line from B1.s to B2.n
-line from B2.s to B3.n
-line from B3.s to B4.n
-line from B4.s to B5.n
-line from B5.e to B6.w
-line from B6.n to B7.s
-line from B7.n to B8.s
-line from B8.n to (B9.s.x-(boxwid/4), B9.s.y)
-line from (B9.s.x+(boxwid/4), B9.s.y) to B10.n
-line from B10.s to B11.n
-line from B11.e to B12.w
-line from B12.n to B13.s
-line from B13.n to B14.s
-line from B14.n to B15.s
-line from B15.n to B16.s
-line dashed from (B9.s.x, B9.s.y-(lineht/2)) to (B9.s.x, B6.s.y)
-line dotted from (B2.sw.x+(linewid/8), B9.e.y) to (B2.se.x-(linewid/8), B9.e.y)
-line dotted from B9.e to B14.w
-move to (B1.n.x, B1.n.y+lineht); "{\tt Any Host}"
-move to (B16.n.x, B1.n.y+lineht); "{\tt PC}"
-move to (B9.n.x, B1.n.y+lineht); "{\tt MZnet Host}"
-move to (B9.e.x+linewid, B9.e.y+(lineht/4)); "{\it split slot}"
-move to (B2.s.x+(linewid/2), B9.e.y+(lineht/4)); "{\it slot}"
-.PE
diff --git a/docs/historical/mznet/figure2.tex b/docs/historical/mznet/figure2.tex
deleted file mode 100644 (file)
index 7d18dc3..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-\catcode`@=11
-\expandafter\ifx\csname graph\endcsname\relax \alloc@4\box\chardef\insc@unt\graph\fi
-\catcode`@=12
-\setbox\graph=\vtop{%
-  \baselineskip=0pt \lineskip=0pt \lineskiplimit=0pt
-  \vbox to0pt{\hbox{%
-    \special{pn 8}%
-    \special{pa 0 999}%
-    \special{pa 0 499}%
-    \special{pa 749 499}%
-    \special{pa 749 999}%
-    \special{pa 0 999}%
-    \special{fp}%
-    \rlap{\kern  0.374in\lower 0.791in\hbox to 0pt{\hss user\hss}}%
-    \special{pa 0 1749}%
-    \special{pa 0 1249}%
-    \special{pa 749 1249}%
-    \special{pa 749 1749}%
-    \special{pa 0 1749}%
-    \special{fp}%
-    \rlap{\kern  0.374in\lower 1.541in\hbox to 0pt{\hss UA\hss}}%
-    \special{pa 0 4249}%
-    \special{pa 0 3749}%
-    \special{pa 749 3749}%
-    \special{pa 749 4249}%
-    \special{pa 0 4249}%
-    \special{fp}%
-    \rlap{\kern  0.374in\lower 4.041in\hbox to 0pt{\hss MTA\hss}}%
-    \special{pa 0 5249}%
-    \special{pa 0 4749}%
-    \special{pa 749 4749}%
-    \special{pa 749 5249}%
-    \special{pa 0 5249}%
-    \special{fp}%
-    \rlap{\kern  0.374in\lower 5.041in\hbox to 0pt{\hss PhoneNet\hss}}%
-    \special{pa 0 6249}%
-    \special{pa 0 5749}%
-    \special{pa 749 5749}%
-    \special{pa 749 6249}%
-    \special{pa 0 6249}%
-    \special{fp}%
-    \rlap{\kern  0.374in\lower 6.041in\hbox to 0pt{\hss {\it modem}\hss}}%
-    \special{pa 1749 6249}%
-    \special{pa 1749 5749}%
-    \special{pa 2499 5749}%
-    \special{pa 2499 6249}%
-    \special{pa 1749 6249}%
-    \special{fp}%
-    \rlap{\kern  2.124in\lower 6.041in\hbox to 0pt{\hss {\it modem}\hss}}%
-    \special{pa 1749 5249}%
-    \special{pa 1749 4749}%
-    \special{pa 2499 4749}%
-    \special{pa 2499 5249}%
-    \special{pa 1749 5249}%
-    \special{fp}%
-    \rlap{\kern  2.124in\lower 5.041in\hbox to 0pt{\hss PhoneNet\hss}}%
-    \special{pa 1749 4249}%
-    \special{pa 1749 3749}%
-    \special{pa 2499 3749}%
-    \special{pa 2499 4249}%
-    \special{pa 1749 4249}%
-    \special{fp}%
-    \rlap{\kern  2.124in\lower 4.041in\hbox to 0pt{\hss MTA\hss}}%
-    \special{pa 2374 3249}%
-    \special{pa 2374 2749}%
-    \special{pa 3124 2749}%
-    \special{pa 3124 3249}%
-    \special{pa 2374 3249}%
-    \special{fp}%
-    \rlap{\kern  2.749in\lower 3.041in\hbox to 0pt{\hss MZnet\hss}}%
-    \special{pa 2999 5249}%
-    \special{pa 2999 4749}%
-    \special{pa 3749 4749}%
-    \special{pa 3749 5249}%
-    \special{pa 2999 5249}%
-    \special{fp}%
-    \rlap{\kern  3.374in\lower 5.041in\hbox to 0pt{\hss PhoneNet\hss}}%
-    \special{pa 2999 6249}%
-    \special{pa 2999 5749}%
-    \special{pa 3749 5749}%
-    \special{pa 3749 6249}%
-    \special{pa 2999 6249}%
-    \special{fp}%
-    \rlap{\kern  3.374in\lower 6.041in\hbox to 0pt{\hss {\it modem}\hss}}%
-    \special{pa 4749 6249}%
-    \special{pa 4749 5749}%
-    \special{pa 5499 5749}%
-    \special{pa 5499 6249}%
-    \special{pa 4749 6249}%
-    \special{fp}%
-    \rlap{\kern  5.124in\lower 6.041in\hbox to 0pt{\hss {\it modem}\hss}}%
-    \special{pa 4749 5249}%
-    \special{pa 4749 4749}%
-    \special{pa 5499 4749}%
-    \special{pa 5499 5249}%
-    \special{pa 4749 5249}%
-    \special{fp}%
-    \rlap{\kern  5.124in\lower 5.041in\hbox to 0pt{\hss PhoneNet\hss}}%
-    \special{pa 4749 3249}%
-    \special{pa 4749 2749}%
-    \special{pa 5499 2749}%
-    \special{pa 5499 3249}%
-    \special{pa 4749 3249}%
-    \special{fp}%
-    \rlap{\kern  5.124in\lower 3.041in\hbox to 0pt{\hss MZnet\hss}}%
-    \special{pa 4749 1749}%
-    \special{pa 4749 1249}%
-    \special{pa 5499 1249}%
-    \special{pa 5499 1749}%
-    \special{pa 4749 1749}%
-    \special{fp}%
-    \rlap{\kern  5.124in\lower 1.541in\hbox to 0pt{\hss UA\hss}}%
-    \special{pa 4749 999}%
-    \special{pa 4749 499}%
-    \special{pa 5499 499}%
-    \special{pa 5499 999}%
-    \special{pa 4749 999}%
-    \special{fp}%
-    \rlap{\kern  5.124in\lower 0.791in\hbox to 0pt{\hss user\hss}}%
-    \special{pa 374 999}%
-    \special{pa 374 1249}%
-    \special{fp}%
-    \special{pa 374 1749}%
-    \special{pa 374 3749}%
-    \special{fp}%
-    \special{pa 374 4249}%
-    \special{pa 374 4749}%
-    \special{fp}%
-    \special{pa 374 5249}%
-    \special{pa 374 5749}%
-    \special{fp}%
-    \special{pa 749 5999}%
-    \special{pa 1749 5999}%
-    \special{fp}%
-    \special{pa 2124 5749}%
-    \special{pa 2124 5249}%
-    \special{fp}%
-    \special{pa 2124 4749}%
-    \special{pa 2124 4249}%
-    \special{fp}%
-    \special{pa 2124 3749}%
-    \special{pa 2562 3249}%
-    \special{fp}%
-    \special{pa 2937 3249}%
-    \special{pa 3374 4749}%
-    \special{fp}%
-    \special{pa 3374 5249}%
-    \special{pa 3374 5749}%
-    \special{fp}%
-    \special{pa 3749 5999}%
-    \special{pa 4749 5999}%
-    \special{fp}%
-    \special{pa 5124 5749}%
-    \special{pa 5124 5249}%
-    \special{fp}%
-    \special{pa 5124 4749}%
-    \special{pa 5124 3249}%
-    \special{fp}%
-    \special{pa 5124 2749}%
-    \special{pa 5124 1749}%
-    \special{fp}%
-    \special{pa 5124 1249}%
-    \special{pa 5124 999}%
-    \special{fp}%
-    \special{pa 2749 3499}%
-    \special{pa 2749 6249}%
-    \special{da  0.050}%
-    \special{pa 62 2999}%
-    \special{pa 687 2999}%
-    \special{dt  0.050}%
-    \special{pa 3124 2999}%
-    \special{pa 4749 2999}%
-    \special{dt  0.050}%
-    \rlap{\kern  0.374in\lower 0.041in\hbox to 0pt{\hss {\tt Any Host}\hss}}%
-    \rlap{\kern  5.124in\lower 0.041in\hbox to 0pt{\hss {\tt PC}\hss}}%
-    \rlap{\kern  2.749in\lower 0.041in\hbox to 0pt{\hss {\tt MZnet Host}\hss}}%
-    \rlap{\kern  3.624in\lower 2.916in\hbox to 0pt{\hss {\it split slot}\hss}}%
-    \rlap{\kern  0.624in\lower 2.916in\hbox to 0pt{\hss {\it slot}\hss}}%
-    \kern  5.500in
-  }\vss}%
-  \kern  6.250in
-}
diff --git a/docs/historical/mznet/mznet.bbl b/docs/historical/mznet/mznet.bbl
deleted file mode 100644 (file)
index 3144d22..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-\begin{thebibliography}{5.}
-\bibitem{ARPANET-Literature} SRI-NIC, ARPANET Directory,
-Network Information Center, SRI International, Menlo Park, California
-(November 1980).
-\bibitem{CACM-83} Comer, D.,  A Computer Science Research Network CSNET:
-A History and Status Report, Communications of the ACM, volume 26, number 10
-(October 1983) 747-753.
-\bibitem{USENET-Literature} Emerson, S. L., USENET: A Bulletin Board
-for Unix Users. BYTE, volume 8, number 10 (October 1983) 219-236.
-\bibitem{Vittal81} Vittal, J., MSG: A Simple Message System, in:
-Uhlig (editor), Proceedings of the IFIP TC-6 International Symposium on
-Computer Message Systems (North-Holland, April 1981).
-\bibitem{Deutsch81} Deutsch, D., Design of a Message Format Standard, in:
-Uhlig (editor), Proceedings of the IFIP TC-6 International Symposium on
-Computer Message Systems (North-Holland, April 1981).
-\bibitem{Pickens81} v.Bochmann, G. and Pickens, J. R., A Methodology
-for the Specification of a Message Transport System, in: Uhlig (editor),
-Proceedings of the IFIP TC-6 International Symposium on Computer Message
-Systems (North-Holland, April 1981).
-\bibitem{Kerr81} Kerr, I. H., Interconnection of Electronic Mail Systems,
-in: Uhlig (editor), Proceedings of the IFIP TC-6 International Symposium
-on Computer Message Systems (North-Holland, April 1981).
-\bibitem{RFC-822} Crocker, D., Standard for the Format of ARPA Internet
-Text Messages (RFC 822) Network Information Center, SRI International,
-Menlo Park, California (August 1982).
-\bibitem{NBS} NBS, Message Format for Computer-Based Message Systems,
-U.S. National Bureau of Standards FIPS Publication 98 (March 1983).
-\bibitem{CCITT} CCITT Study Group VII/5, Draft Recommendation
-X.MHS1: Message Handling Systems: System Model---Service Elements (version 2),
-Technical Report, International Telegraph and Telephone Consultative
-Committee (CCITT) (December 1982).
-\bibitem{Rose84} Rose, M., Low Tech Connections into the ARPA Internet:
-The RawPacket Split-Gateway, University of California Irvine
-Techical Report number 216 (February 1984).
-\bibitem{MMDF} Crocker, D., Szurkowski, E., Farber, D. J., An Internet
-Memo Distribution Facility---MMDF, Proceedings of the Sixth IEEE Data
-Communications Symposium (November 1979).
-\bibitem{Rose83-1} Rose, M., The ZOTnet---A Local Area Mailing Network,
-University of California Irvine Technical Report number 200 (January 1983).
-\bibitem{CSNET-UCI} CSNET-CIC, Focus on the University of California, Irvine,
-CSNET News 2, Bolt, Beranek, and Newman, Cambridge, Massachusetts
-(October 1983).
-\bibitem{Rose83-2} Rose, M., Achieving Interoperability Between
-Two Domains---Connecting the ZOTnet and UUCP Computer Mail Networks,
-University of California Irvine Technical Report number 201 (January 1983).
-\bibitem{RFC-MMM} Rose, M., Proposed Standard for Message Munging (RFC 886),
-Network Information Center, SRI International, Menlo Park, California
-(December 1983).
-\bibitem{MH} Borden, B. S., Gaines, R. S., and Shapiro, N.Z.,
-The Rand MH Message Handling System: User's Manual
-(Rand Corporation, March 1983).
-\end{thebibliography}
diff --git a/docs/historical/mznet/mznet.tex b/docs/historical/mznet/mznet.tex
deleted file mode 100644 (file)
index 05ec3bf..0000000
+++ /dev/null
@@ -1,583 +0,0 @@
-% run through through LaTeX
-
-\documentstyle[12pt]{article}
-\setcounter{page}{0}
-\pagestyle{empty}
-
-\hyphenation{Phone-Net}
-
-\def\tagfigure#1#2#3{%
-    \begin{figure}[t]
-       \hrule
-       \vskip.5\baselineskip
-       \begin{small}\rm
-           \input#1\relax
-           \centerline{\box\graph}
-       \end{small}
-       \vskip.5\baselineskip plus.5\baselineskip
-       \caption{#2}
-       \label{#3}
-       \vskip2pt
-       \hrule
-    \end{figure}
-}
-
-\begin{document}
-
-\title{MZnet:  Mail Service for Personal Micro-Computer Systems}
-\author{Einar Stefferud\\
-       \it President,\\
-       \it Network Management Associates\\
-       and\\
-       \it Visiting Lecturer,\\
-       \it in Information and Computer Science\\
-       \it University of California at Irvine\\ \quad\\
-Jerry Sweet\\
-       \it Department of Information and Computer Science\\
-       \it University of California at Irvine\\ \quad\\
-Terrance Domae\\
-       \it School of Engineering\\
-       \it University of California at Los Angeles}
-\date{}
-\maketitle
-
-\newpage
-
-\begin{abstract}
-Traditional computer mail systems involve a co-resident User Agent (UA)
-and Mail Transfer System (MTS) on a time-shared host computer 
-which may be connected to other hosts in a network,
-with new mail posted or delivered directly through 
-co-resident mail-slot programs.
-To introduce personal micro-computers (PCs) into this environment 
-requires modification of the traditional mail system architecture.
-To this end, the MZnet project uses a {\it split-slot} model,
-placing UA programs on the PCs while leaving MTA programs
-on a mail relay host which can provide authentication and buffering.
-The split-slot arrangement might be viewed as a new protocol level which 
-operates somewhere between the currently defined MTS-MTS and UA-UA levels. 
-\end{abstract}
-
-\newpage\pagestyle{plain}\pagenumbering{arabic}
-
-\f\section*     {Introduction}
-Mail systems were born and have grown up on large central
-time sharing systems,
-often imbedded in large networks of inter-operating computers with 
-a set of distributed processes automatically transferring mail
-between users.  
-This is certainly the case with the U.S. Department of Defense (DoD) 
-Advanced Research Projects Agency Network (ARPANET)
-\cite{ARPANET-Literature}
-where much of the original computer network mail systems 
-research and development has taken place.  
-Other mail networks such as the Computer Science Network
-\cite{CACM-83}
-sponsored by the U.S. National Science Foundation,
-have also used relatively large shared computers 
-lodged in an institutional setting,
-though they are often connected together with ordinary dial-up
-telephone links to form a large geographic network.    
-Another U.S. example is USENET
-\cite{USENET-Literature}
-which connects thousands of Unix\footnote{UNIX is
-a Trademark of Bell Laboratories, Inc.}
-systems together with informally-supported dial telephone links.
-Although there have been several attempts, there appear to be no 
-successful mail networks based on small personal computers, 
-such as those that use the CP/M\footnote{CP/M is a
-Trademark of Digital Research, Inc.}
-or MS-DOS\footnote{MS-DOS is a Trademark of Microsoft Corporation.}
-operating systems.  
-
-\tagfigure{figure1}{The MHS Model}{mhsmodel}
-The accepted architectural model (see Figure~\ref{mhsmodel})
-for computer network mail
-(first articulated by the IFIP 6.5 Systems Environment Working Group) 
-involves a User Agent (UA) which posts new mail items through a mail slot
-\cite{Vittal81,Deutsch81,Pickens81,Kerr81}
-to a Mail Transfer Agent (MTA) which delivers posted items 
-to designated UA recipients through corresponding delivery slots.  
-When mail is to be delivered to a UA on another host, it is transferred
-first to another MTA on the recipient user's host, which in turn puts
-the mail item through its local delivery slot.  
-In this model, a Mail Transfer System (MTS) may be viewed 
-as a collection of MTAs with network connections among them 
-to provide Mail Transfer Services for a large number of users on 
-different host computers.
-
-Replicating this UA/MTA/MTS model on a personal micro-computer (PC)
-is not an easy task.
-Aspects of PCs that make support of this model difficult include
-limited storage capacities,
-limited processing capabilities,
-and the fact that PCs are geared to support a single user
-rather than several users at once.
-A PC with limited secondary diskette storage and 
-limited processing capacity (often single-thread) is not well suited 
-to support the full range of automatic interactions between a UA and 
-an MTA, or the necessary interactions between MTAs in an MTS. 
-For example,
-we do not see any way to certify PC systems for authentication 
-of posted mail.  
-A PC can change its entire character and behavior with insertion of a new 
-program diskette, suggesting that it is the operating system 
-diskettes and their users that must be certified, rather than the computers.  
-Review of certification issues shows that it is not the computer, 
-but its operators and managers that must be certified, 
-and this involves the notions of central management and control.  
-All this is lost in the maze of PCs that we see proliferating 
-on and off our campuses, in and out of our offices and homes.  
-
-Thus, we see a need for a new arrangement with the UA separated from 
-its MTA, and using communication protocols to interact with it in ways 
-that resemble MTA-to-MTA interactions.
-The UA is placed on the PC end, while the more complex
-tasks performed by the MTA are relegated to the remote host end.
-The remote MTA must authenticate mail items offered by the PC-based 
-UA, just as it would for a co-located UA, but the task is more difficult 
-because the PC UA is potentially anyone among the public telephone 
-connectable population.  
-This can be handled with password systems, but recognition and 
-identification are not the only services to be provided at the posting slot.  
-Posting also requires some validation of recipient addresses, 
-and validation of the syntax and semantics of certain header fields.
-Example standards are provided by the U.S. National Bureau of Standards 
-(NBS) and the U.S. DoD ARPANET for the format of mail to be transferred
-\cite{RFC-822,NBS,CCITT}.
-
-The new arrangement described in this paper might be called a
-{\it split mail slot} in that the UA side of the slot is split away from 
-the MTA side.  
-Although the UA and MTA may be on opposite ends of a telephone connection, 
-they must still act together as a single processing unit 
-to move mail from one to the other, with all that this may entail.  
-This gives rise to a number of new MTA/UA requirements such as error 
-control for service requests, user intervention to select items for 
-delivery, and user postponement or rejection of delivery without 
-triggering failure notices to senders.  
-These are not serious problems when both MTA and UA are 
-programs running on a single host.  
-For example, with both UA and MTA on the same host, 
-unwanted junk mail is simply deleted at low cost, 
-compared to the cost of deletion after a long delivery transmission time.  
-Better that our PC users be able to discard items 
-without delivery transmission.  
-
-\f\subsection*  {Overview of the MZnet Environment}
-The MZnet project is an undergraduate student effort sponsored within 
-the Information and Computer Science (ICS) Department of the 
-University of California at Irvine (UCI) in Southern California.  
-For the past 2 years, the UCI mail network, known as
-ZOTnet, has been connected into the Computer Science 
-Network (CSnet) and in 1984, has joined the DoD ARPA Internet with a 
-{\it Split-Gateway} connection \cite{Rose84}
-to the University of Southern California 
-Information Sciences Institute (USC-ISI).  
-The MZnet split-slot arrangement may have some similarities to the 
-Split-Slot Internet Gateway
-at least in name, 
-but the problems and the implementations are quite different.  
-
-The UCI ZOTnet environment \cite{Rose83-1}
-gives the MZnet project a full-fledged
-Internet-class mail system as its foundation.  
-The MZnet project objective is to extend this class 
-of mail service to personal computers located in student and faculty 
-residences, offices and laboratories, without waiting for full-blown 
-local area networking to first provide connections.  
-This follows a pattern of making the most of existing facilities 
-to provide a reasonable level of service.
-
-The UCI ZOTnet uses the CSnet-provided MMDF
-(Multi-channel Memo Distribution Facility) software \cite{MMDF}
-from the University of Delaware to interconnect 
-two VAX 750 Unix systems with two DEC TOPS-20 systems 
-through a port selector, with dial telephone connection to a CSnet relay
-\cite{CSNET-UCI}.
-The ZOTnet has since evolved into an ethernet-connected 
-local area network with the aforementioned
-gateway connection into the DoD Internet.
-The ZOTnet also connects to USENET with the UUCP protocols,
-and provides format transformations for mail flowing between 
-protocol domains
-\cite{Rose83-2,RFC-MMM}.
-Adding to the reach of the ZOTnet with MZnet 
-is a natural part of its evolution\footnote{For those who are
-properly curious about such things, 
-the name ``ZOTnet'' derives from the cry of the UCI mascot which 
-is the Anteater from the B.C. comic strip, and MZnet is simply 
-a contraction for Micro-ZOTnet.}.
-
-To this point we have set the context of the MZnet project.
-The remainder of this paper is devoted to relatively technical 
-discussions of implementation of the PC user agent programs 
-and the split-slot UA/MTA interface. 
-
-\f\section*     {The MZnet User Agent: CP/MH}
-CP/MH is a collection of programs designed to work in conjunction
-with the Micro ZOTnet (MZnet) as an extension of the UCI ZOTnet.
-CP/MH programs permit a user of a CP/M 2.2-based microcomputer to
-send and receive ZOTnet mail messages, as well as to manipulate
-them locally on floppy disks.  
-The CP/MH programs are written in the C programming language and 
-should be portable to similar operating environments, such as MS-DOS, etc.
-
-CP/MH is based on the UCI version of the Rand MH message handling system
-\cite{MH}
-for the Unix operating system.  
-The major philosophical differences between CP/MH and typical user agents
-such as MSG
-\cite{Vittal81}
-and its descendants are those of modularity and of user interface.  
-In CP/MH (as in MH) the user does not invoke a single monolithic program 
-to deal with mail, but rather invokes individual, 
-non-interactive programs with common knowledge
-of the way messages are stored.  
-Each program has default behavior which can be modified by using Unix-style 
-command line options at time of invocation or through a user profile.  
-Help messages can also be evoked from CP/MH programs.
-
-\f\subsection*  {Messages and Folders}
-The format of a CP/MH message adheres more or less to the syntax
-described in RFC 822
-in which a message consists of headers containing information pertaining 
-to the message source and destination, 
-and the message body, separated from the headers by a blank line.  
-An example of such a message might be:
-
-\begin{verbatim}
-     Date: 02 Nov 83 23:04:53 PST (Wed) 
-     To: Toto <dog@Univ-Kansas>
-     From: The Great And Powerful Oz <Oz@Emerald-City>
-     Subject: What Be Your Excuse?
-
-     What's the matter?  I ask you for a simple thing like
-     "distribute this to Witch@Oz-West," and you can't do it.
-     You undergrads will do anything to get out of work!
-
-     --ozzie
-\end{verbatim}
-
-Following the MH convention, each message is kept in a separate file.  
-Since a message is simply ASCII text, it can be operated upon by 
-non-CP/MH programs (such as text editors, in particular).
-
-Collections of messages are called {\it folders}.  Under CP/MH,
-folders are represented by several files: an {\it info} file,
-containing maintenance information about the folder, and a set
-of message files with the same name as the info file, but with
-unique numeric suffixes ({\it extensions} in CP/M parlance).  
-An example of this naming scheme might be:
-
-{\tt
-\begin{description}
-\item[{\tt DRAFT}]     {\rm the info file for the {\tt DRAFT} folder}
-\item[{\tt DRAFT.001}]  {\rm message 1 in the folder}
-\item[{\tt DRAFT.002}]  {\rm message 2 in the folder}
-\item[{\tt DRAFT.003}]  {\rm message 3 in the folder}
-\end{description}
-}
-
-The number of messages that may be stored in a folder is limited
-primarily by the storage capacity of a floppy disk, but also by
-the three-digit limit of a CP/M extension.  
-
-The info file contains a field named {\tt CURRENT:} specifying the
-current message number.  
-The current message number signifies the default message operated upon 
-by CP/MH commands using a particular folder.  
-The current message number may be modified by some commands.  
-An example of the contents of the info file {\tt DRAFT} might be
-
-\begin{flushleft}
-\hspace{.5in} {\tt CURRENT: 3}
-\end{flushleft}
-
-This indicates that the file {\tt DRAFT.003} would be operated upon
-when default conditions apply (i.e. when no message number is
-explicitly given to a CP/MH command).
-
-Possible future uses for the info file include named message sequences
-(a set of messages to which commands may be applied as a whole) and
-user profile information for application to particular folders (there
-is presently a single user profile, described shortly).
-
-A floppy diskette may contain more than one folder, but folders
-do not extend over more than one floppy diskette; therefore two
-different diskettes may contain folders with the same name.
-
-\f\subsection*  {CP/MH Commands}
-Commands operating on messages can be divided into several general categories:
-\medskip
-\begin{description}
-\item[Transporting:]   sending, receiving
-\item[Viewing:]                selecting for display, showing header summaries
-\item[Creating:]       composing, replying, forwarding
-\item[Archiving:]      categorizing, refiling, deleting, sorting
-\end{description}
-
-\medskip
-The architecture of CP/MH permits the simulation of some of these
-categories using standard CP/M commands when CP/MH, in its present
-primitive state, does not cover them.
-
-A minimal functionality is presently provided by the following four commands:
-\medskip
-\begin{description}
-\item[COMP]
-composes mail items:
-creates a file containing header information taken 
-from a standard or user-specified template.  
-This newly-created file may be edited to fill in
-the header fields and body.
-\item[REPL]
-replies to mail items:
-creates a file containing header
-information appropriate for answering a given mail item.
-This newly-created file may be edited to
-change header fields and fill in the body.
-\item[SEND]
-sends mail items:
-posts selected items through the split-slot from a draft folder.
-\item[INC]
-receives mail items:
-takes delivery of selected items
-across the split-slot, incorporating
-them into a mailbox folder.
-\end{description}
-\medskip
-These commands, with a few enhancements and modifications
-appropriate to the CP/M environment, are functionally almost
-identical to their Unix MH counterparts.
-
-CP/MH commands are invoked like any other 
-CP/M commands such as ED, PIP, or DIR.  
-Command line options are generally preceded by a dash 
-(e.g. {\tt -editor A:ED}), and may be abbreviated.  
-Folder names are preceded by a plus (e.g. {\tt +B:DRAFT}).
-Messages are identified by numbers or by the special names {\tt first},
-{\tt last}, {\tt current}, {\tt next}, and {\tt previous}.
-
-An example of use of a CP/MH command is:  
-
-\begin{flushleft}
-\hspace{1in} {\tt comp -edit a:ed -use last +b:draft -log}
-\end{flushleft}
-
-This particular example will edit the last-composed message (the
-{\tt -use last} option) in the folder {\tt DRAFT} on disk drive {\tt B:}
-(the {\tt +b:draft} option), using the standard CP/M editor ED on disk
-drive {\tt A:} (the {\tt -edit a:ed} option), and prompting the user when
-it is appropriate to change disks (the {\tt -log} option).
-
-All CP/MH commands have a {\tt -help} option which displays all
-available options for the particular command invoked.
-Another common option is {\tt -log} which permits the user to change
-({\it relog}) diskettes after invoking a command, for purposes of
-selecting diskettes with message folders or with editor programs.
-This is particularly useful on single-drive systems or on systems
-with diskettes of low storage capacity.
-
-\f\subsection*  {The Profile}
-If there are options commonly used with a particular CP/MH command, 
-they may be entered in the user profile contained in the file called 
-(naturally enough) {\tt PROFILE}, which must exist on the same diskette on 
-which CP/MH commands reside and from which the commands are invoked.  
-A profile entry consists of a program name followed by a colon and 
-the options to be used with that program, for example:
-
-{\tt
-\begin{flushleft}
-\hspace{1in} comp: -editor A:VEDIT +B:outbox -log \\
-\hspace{1in} repl: -editor A:VEDIT -log \\
-\hspace{1in} send: +B:outbox \\
-\hspace{1in} inc: +B:inbox -log
-\end{flushleft}
-}
-
-Individual profile components are overridden by options given at
-the time of invocation (e.g. {\tt -noedit} given on the command line
-will override the {\tt -editor} profile component for a particular command).
-
-\f\section*     {The MZnet Split-Slot Mail Transfer System}
-The MZnet split-slot software implements a peer-to-peer
-communication protocol between a time-sharing host's MTA and a personal 
-micro-computer (PC) UA.
-This MZnet protocol extends the UA/MTA/UA model of
-computer-based message systems (CBMS) to provide a
-split gateway function between individual PCs and the ZOTnet
-similar to the UCI ICS split Internet gateway described previously
-(see Figure~\ref{splitslot}).
-\tagfigure{figure2}{The Split-Slot Model}{splitslot}
-
-\f\subsection*  {The Structure of the Split-Slot}
-The MZnet Split Gateway consists of three distributed processing components: 
-\medskip
-\begin{itemize}
-\item A PC running a UA (in MZnet, CP/MH) acting as the mail server.
-\item A mini/mainframe host running a full MTA (MMDF in MZnet)
-providing mail relay services.
-\item A communication protocol (a modified version of MMDF PhoneNet) to
-connect the two ends of the split-slot.
-\end{itemize}
-\medskip
-Although this combination may not be unique, the method by which the MZnet 
-split-slot bonds these parts together uniquely deals with the 
-problems of remote user agents.
-In addition to overcoming limited storage and processing capacities,  
-remote user agents must deal with noisy modem lines, 
-mail software certification, and mail system security problems.  
-The MZnet architecture appears to solve these problems with
-a clean mail interface for PCs.
-
-\f\subsection*  {The MZnet Mail Server}
-The split-slot mail server consists of a set of {\it command packet}
-programs run from the PC.
-These programs simply present commands
-through the PhoneNet communication protocol to the mail relay slave program
-on the host.
-Some basic commands are:
-
-\medskip
-\begin{description}
-\item[PostMail]                posts mail drafts to MTA
-\item[GetMail]         accepts mail from MTA
-\item[RemoteScan]      displays information about waiting mail
-\item[Quit]            drops connection between PC and Host
-\end{description}
-
-\medskip
-Each command has the form:
-
-\begin{flushleft}
-\hspace{.5in} Command Request \\
-\hspace{.5in} Data Transmission \\
-\hspace{.5in} Command Termination
-\end{flushleft}
-
-For example, the PostMail command is a small program that:
-\medskip
-\begin{itemize}
-\item initiates a command with the Mail Slave by sending the command
-name (PostMail) encoded within a PhoneNet packet;
-\item sends a series of PhoneNet packets that contain pieces of
-the mail item to be posted; 
-\item finally sends a command termination signal to end
-the transaction without
-terminating the connection between host and PC.
-\end{itemize}
-
-\f\subsection*  {The MZnet Channel To MMDF}
-The MZnet Channel runs on the MTA host under the University of Delaware's
-MMDF (Version 1) and is responsible for both delivery of received mail
-to MZnet users, and posting of MZnet user-originated mail.
-The MMDF MZnet channel maintains a unique message queue for each
-registered MZnet user.
-As new mail items arrive,
-they are posted to the appropriate queues,
-where MZnet holds the mail items for pickup by their registered
-recipients.
-
-To send or receive mail,
-the MZnet user must attach to the host,
-log into the public MZnet account,
-and identify (authenticate) himself.
-During the MZnet session with the host,
-the user has access only to that restricted set of functions
-provided by the MZnet split gateway protocol:
-he may request delivery of queued mail with GetMail,
-or post new mail with PostMail.
-Prior to taking delivery of queued mail,
-a survey of waiting mail also may be requested with RemoteScan to obtain
-message size information (among other data)
-to allow intelligent disposition 
-of mail in the queue.
-
-Hidden within these activities are issues of security and certification.
-To certify and establish the identity of the user,
-a second password is requested after logging into the 
-public MZnet account.
-This certification procedure allows MZnet to certify the source
-of originated mail.
-A relatively secure environment is provided by MZnet,
-as it is the only interface to the host permitted to MZnet users
-(once beyond the public login procedure),
-and it offers only the severely restricted set of
-PhoneNet-encoded commands.
-Aside from security issues,
-using a single account to handle all MZnet users
-reduces demands on system resources.
-
-\f\subsection*  {The MZnet-PhoneNet Protocol}
-A unique facet of the MZnet system derives from the PhoneNet File 
-Transfer Protocol (FTP).
-PhoneNet FTP is a simple error-checked packet protocol which transfers
-ASCII plaintext.
-PhoneNet encodes any non-plaintext character (or any other character
-``forbidden'' by the idiosyncrasies of the communicating systems) by
-mapping it onto an ``accepted'' character set.
-The accepted character set mapping is determined by
-a ``negotiating'' session between the two systems at the start of
-the PhoneNet session.
-
-MZnet transfers all information (both commands and data) in PhoneNet
-packets to obtain error control.
-The MZnet-PhoneNet command FTP tolerates noise with a high degree
-of success, and in effect, connects both ends of the Split Slot
-together with a reliable set of virtual wires.
-
-\f\subsection*  {MZnet Session Example}
-Here, a typical MZnet session is presented, with the UA commands
-issued from the PC side of the connection printed
-in a {\tt typewriter} typeface, and the responses
-from the host side printed
-in an {\it italic} typeface.
-PhoneNet interactions are indented.
-The initial connection to the host is accomplished with the
-{\tt term} program, which provides a simple terminal emulation
-function.
-The prompt of the PC for a UA command is ``A$\rangle$''.
-Note that passwords are never echoed by the host system.
-
-\begin{tabbing}
-xxxxxxxx \= xxxxxxx \= \kill
-\> A$\rangle$ {\tt term} \\
-\> {\it login:} {\tt mznet} \\
-\> {\it password:} \\
-\> {\it MZ-Password:} \\
-\> \> PhoneNet packet negotiation \\
-\> {\it Connected.} \\
-\> \> exit terminal mode \\
-\> A$\rangle$ {\tt send cur} \\
-\> \> PostMail command \\
-\> \> message text packet transmission \\
-\> \> command terminator \\
-\> A$\rangle$ {\tt quit} \\
-\> \> Quit command \\
-\> {\it Disconnecting.}
-\end{tabbing}
-
-\f\section*     {Conclusions}
-The main conclusions of this paper are that 
-small personal computer systems 
-with dial-up phone connections constrain User Agent systems design
-in ways that require use of a {\it split-slot} interface between
-the UA and its supporting Mail Transfer Agent (MTA), and that
-this interface will best provide the required services if it
-has error controlled command and data transfer facilities, with 
-interactive behavior.
-
-It is also believed that a good design for the small PC UA
-is based on a very modular architecture, such as the Rand MH
-system, which has been used as a pattern for the MZnet UA.
-
-By bringing these concepts together,
-we expect MZnet to provide reliable UA/MTA
-service to a distributed set of small personal computers, to match
-the quality of service that is normally only available from larger
-mainframe host systems with co-resident UA/MTA pairs.
-
-\bibliography{mznet}
-
-\end{document}
diff --git a/docs/historical/realwork/Makefile b/docs/historical/realwork/Makefile
deleted file mode 100644 (file)
index 2f03766..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-#######################################################################
-# Instructions to Make, for generation of nice-looking papers using TeX
-#######################################################################
-
-.SUFFIXES:     .pic .web .tex .dvi .imp
-
-.pic.tex:;     tpic $<
-
-.web.tex:;     sh -c 'if weave $<; then exit 0; else rm $@; exit 1; fi'
-
-.tex.dvi:;     sh -c 'if TEXINPUTS=../doclib:.:${TEXINPUTS} tex \
-                       \\nonstopmode\\input $<\\bye; \
-                         then exit 0; else rm $@; exit 1; fi'
-
-.dvi.imp:;     dviimp $(DFLAGS) -i $@ $<
-
-
-#############################################################
-# Here it is...
-#############################################################
-
-all:           i-all
-print:         i-print
-
-
-#############################################################
-# realwork
-#############################################################
-
-i-all:         realwork.dvi
-
-i-print:       realwork.dvi true
-               dvisp $(DFLAGS) -J RealWork realwork.dvi
-
-
-# customization files, et. al., not included below
-realwork.dvi:  version.tex
-
-version.tex:   realwork.tex text.tex appendixA.tex appendixB.tex refs.tex \
-               diagram1.tex  diagram2.tex  diagram3.tex  diagram4.tex \
-               diagram5.tex  diagram6.tex  diagram7.tex  diagram8.tex \
-               diagram10.tex \
-               version.sh
-               @: version.sh
-
-true:;
-
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-               rm -f realwork.dvi realwork.imp
-
-clean:;                rm -f realwork.lof realwork.log realwork.lot realwork.toc _*
diff --git a/docs/historical/realwork/appendixA.tex b/docs/historical/realwork/appendixA.tex
deleted file mode 100644 (file)
index f6b61cb..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-% appendix A                                   % mtr
-
-\catcode`\@=11                         % for a little while
-
-\def\psect#1{%
-    \skip@=\lastskip
-    \par
-    \dimen@=.6\baselineskip
-    \ifdim\skip@<\dimen@
-       \ifdim\skip@=\z@ \penalty-100 \fi
-       \vskip \dimen@ plus .3\baselineskip
-    \fi
-    \centerline{\underbar{#1}}%
-    \nobreak
-    \vskip \z@ plus .1\baselineskip
-    \vskip -\parskip
-}
-
-\def\pitem#1 #2.{\item{\pgm{#1\/}:} #2\hbreak}
-
-\catcode`\@=12                         % back to normal
-
-
-\appendix{A}{MH Commands}
-\MH/ is composed of several \unix/ programs,
-which in theory are fairly simple and single-purposed.
-These commands are functionally grouped below:
-
-\psect{Composing Mail}
-\pitem{comp} compose a message.
-A program to originate a message.
-Usually, a special prompting editor front-end, \pgm{prompter},
-is used to fill-in a composition template with the addressees of
-the message, subject, and so forth.
-
-\pitem{dist} redistribute a message to additional addresses.
-A program that re-enters a message previously received by the user
-into the message transport system.
-Only new addresses are added;
-the body of the message is not changed in any way.
-
-\pitem{forw} forward messages.
-A program that encapsulates one or more messages in a new message draft.
-In addition, the user may add initial and/or closing comments.
-
-\pitem{repl} reply to a message.
-A program that constructs a reply to a message using a reply template.
-The template mechanism has sufficient generality to permit the user to
-``program'' the form of the reply draft based on the contents of the message
-being replied-to.
-
-\pitem{send} send a message.
-A program that posts a draft with the message transport system.
-The \pgm{send} program is
-usually invoked by one of the four preceding programs,
-and performs simple front-end pre-processing prior to invoking the
-\pgm{post} program.
-For example,
-if invoked in {\it push}'d mode,
-\pgm{send} will immediately relinquish control of the user's terminal and
-post the message in the background.
-If the posting fails,
-\pgm{send} will send back a failure notice to the user.
-If the user had \pgm{push\/}'d the sending of the draft,
-then by default
-the draft being sent is encapsulated in the failure notice.
-This permits easy \pgm{burst}'ing of the failure notice to retrieve the
-original draft.
-Otherwise,
-if the posting was successful,
-the draft is marked as having been sent.
-
-\pitem{whatnow} prompting front-end for send.
-A program which is called by  \pgm{comp}, et. al.,
-after the initial draft has been generated.
-The \MH/ user can specify a different \pgm{whatnow} program,
-which yields considerable extensibility.
-
-\pitem{whom} report to whom a message would go.
-A program which examines the addresses of the draft and expands
-all user-defined aliases contained therein.
-Optionally,
-\pgm{whom} may actually interact with the message transport system
-to determine the validity of the final addresses.
-This program is also usually invoked by \pgm{comp}, et.~al.
-
-\psect{Posting Mail}
-\pitem{ali} list mail aliases.
-A simple front-end to the \MH/ aliasing mechanism.
-
-\pitem{ap} parse addresses 822--style.
-A useful debugging tool for PostMasters who wish to examine how \MH/
-interprets an Internet address.
-
-\pitem{conflict} search for alias/password conflicts.
-Another program used by system administrators to check the consistency of
-\MH/ alias files, and portions of the local message transport agent.
-
-\pitem{install-mh} initialize the MH environment.
-A program which is automatically executed the first time a user issues an
-\MH/ command.
-This program performs once-only initialization of the user's \MH/ environment.
-
-\pitem{mhmail} send or read mail.
-A simple program generally used by other programs to generate messages.
-The \pgm{mhmail} command is similar in purpose to the old \pgm{BellMail}
-program.
-
-\pitem{post} deliver a message.
-A complex \MH/ back-end that interacts with the local message transport agent
-to enter messages through the posting slot.
-(See the description of \pgm{send} above).
-
-\psect{Reading Mail}
-\pitem{inc} incorporate new mail.
-A program that interacts with the local message transport agent
-to retrieve messages from the user's maildrop.
-
-\pitem{msgchk} check for waiting mail.
-A program which reports the status of mail waiting in the user's maildrop.
-
-\pitem{show} show (list) messages.
-A program which lists messages to its standard output
-(usually the user's terminal),
-possibly invoking another program to do the actual listing.
-Most users of \MH/ have \pgm{show} automatically call the \pgm{mhl} program
-to format the message.
-The \pgm{next} and \pgm{prev} programs are simply
-\eg{show\ next} and \eg{show\ prev},
-respectively.
-
-\pitem{mhl} produce formatted listings of MH messages.
-A program which displays a message as directed by a template.
-This permits the user to filter out uninteresting headers
-and re-arrange other headers to a particular preference.
-In addition to being invoked by \pgm{show},
-the \pgm{mhl} program is optionally also
-invoked by \pgm{forw} to format each message being forwarded;
-invoked by \pgm{repl} to format the body of a message being replied-to,
-if that message is being included in the reply draft;
-and,
-invoked by \pgm{post} to format a message being sent as a blind-carbon-copy.
-
-\pitem{rmm} remove messages.
-A program that removes messages from an \MH/ folder,
-optionally running a user-defined program instead of deleting them.
-If no program is given,
-the messages are ``softly'' removed,
-so they may possibly be recovered later.
-
-\pitem{scan} produce a one-line-per-message scan listing.
-A program that generates a scan listing for messages.
-Each line of the listing contains date, source, subject,
-and possibly the initial body of the message.
-
-\psect{Folder Handling}
-\pitem{folder} set/list current folder/message.
-A program used to list information concerning the current folder,
-or set the current folder and/or message.
-
-\pitem{folders} list all folders.
-A program to list information on all folders
-(actually, just a special case of the \pgm{folder} command).
-Since the \MH/ folder structure may be recursive,
-the user can indicate that \pgm{folders} should recursively examine all
-folders.
-
-\pitem{refile} file message(s) in (an)other folder(s).
-A program to move (or copy) messages from a source folder to one or more
-destination folders.
-
-\pitem{rmf} remove folder.
-A program that deletes a folder and all messages therein.
-
-\psect{Message Selection}
-\pitem{anno} annotate messages.
-A program to arbitrarily annotate messages.
-If the user so desires,
-after distributing, forwarding, or replying-to a message,
-\MH/ will automatically attach an annotation to the
-original message indicating the date and addresses.
-
-\pitem{mark} mark messages.
-A program to manipulate user-defined sequences (lists of messages).
-Usually, \pgm{mark} is not employed directly by the \MH/ user.
-
-\pitem{pick} select messages by content.
-A program to examine a list of messages and choose those which meet a
-particular selection criterion.
-The \pgm{pick} program is often used in \unix/ back-quoted operations to pass
-message sequences to other \MH/ commands.
-
-\pitem{sortm} sort messages.
-A program to sort a list of messages according to the date given in a
-particular field.
-
-\psect{Distribution List Handling}
-\pitem{bbc} check on BBoards.
-A front-end to run \pgm{msh} on a list of distribution lists which the
-user isn't current on.
-
-\pitem{bbl} manage a BBoard.
-A (depreciated) program used to manually manage the local archives of a
-distribution list.
-These functions (archiving, expunging) are performed automatically by \MH/.
-
-\pitem{burst} explode digests into messages.
-A program used to decapsulate messages from ARPA Internet digests.
-In addition,
-messages which have been encapsulated during forwarding
-(i.e., with \pgm{forw\/})
-can also be decapsulated using \pgm{burst}.%
-\nfootnote{Similarly, blind-carbon-copies may be decapsulated,
-though only socially mature users should do so.}
-
-\pitem{msh} MH shell (and BBoard reader).
-A monolithic program used to implement \MH/ commands on
-messages arranged in a single file (maildrop format).
-Useful
-since distribution lists are kept in this format to minimize consumption of
-system resources.
-
-\pitem{pack} compress a folder into a single file.
-A program which takes messages stored in \MH/ format and places them in a
-single file (using the same format known by \pgm{msh\/}).
-
-\psect{Interface to the \unix/ File System}
-\pitem{mhpath} print full pathnames of \MH/ messages and folders.
-A program which maps \MH/-style names into the \unix/ file naming convention.
-
diff --git a/docs/historical/realwork/appendixB.tex b/docs/historical/realwork/appendixB.tex
deleted file mode 100644 (file)
index 082de3a..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-% appendix B                                   % mtr
-
-\appendix{B}{Distribution Mechanics}
-The \mh5 distribution is available in two forms:
-\smallskip
-{\advance\leftskip by\parindent
-\item{1.} Anonymous FTP\hbreak
-If you can FTP to the ARPA Internet,
-use anonymous FTP to the ARPAnet host UDel-Huey [10.2.0.96]
-and retrieve the file portal/mh.5--tar.
-This is a \pgm{tar} image of size 2.1~MB (approximately).
-
-\item{2.} 9--track tape, 1600~bpi, \pgm{tar} format\hbreak
-Otherwise, you can send \$50.00 to the address below.
-This covers the cost of a magtape, handling, and shipping.
-In addition,
-you'll get a laser-printed hard-copy of the \MH/ documentation.
-The documentation includes installation guide,
-\MH/ Tutorial,
-\MH/ User's Manual,
-changes document (from \mh4 to \mh5),
-and BBoards Manual.
-
-\item{} If you go with this option,
-be sure to include your USPS address with your check.
-Checks should be made payable to
-$$\hbox{Regents of the University of California}$$
-It's also a good idea (though not mandatory) to send a computer mail message
-to {\tx Bug-MH@UCI} when you send your check via USPS to ensure minimal
-turn-around time.
-The distribution address is:
-$$\displayindent=\leftskip     \advance\displayindent by1.5\parindent
-    \halign{\leftline{#}\cr
-       Support Group\cr
-       Attn: MH Distribution\cr
-       Department of Information and Computer Science\cr
-       University of California, Irvine\cr
-       Irvine, CA  92717\cr
-       \cr
-       714/856--6852\cr
-}$$
-
-\item{} Sadly, if you just want the hard-copies of the documentation,
-you still have to pay the \$50.00.
-The \pgm{tar} image has the documentation source
-(the man is in \ROFF/ format, but the rest are in \TeX\ format).
-\smallskip}
-\noindent
-In addition,
-there is some hope that \mh5, or a successor,
-might be found in a future 4.x~Berkeley distribution.
-
-Although \MH/ is not ``supported'' per se,
-it does have a bug reporting address.
-Normally,
-the address {\tx Bug-MH@UCI} is used to report bugs and bug fixes.
-There are however, 
-two discussion groups which concern themselves with \MH/:
-\smallskip
-{\advance\leftskip by\parindent
-\item{1.} MH-Users@UCI\hbreak
-A discussion group for the \MH/ user community at large.
-Appropriate topics include:
-questions about how to use \MH/,
-tips on \MH/ usage,
-and exchange of \MH/ shell scripts.
-All requests to be added to or deleted from this list,
-along with problems,  questions and suggestions,
-should be sent to {\tx MH-Users-Request@UCI}.
-
-\item{2.} MH-Workers@UCI\hbreak
-A discussion group for \MH/ maintainers and experts.
-Appropriate topics include:
-questions on how to configure \MH/,
-tips on \MH/ configuration,
-exchange of \MH/ bug reports (and fixes).
-All requests to be added to or deleted from this list,
-along with problems, questions and suggestions,
-should be sent to {\tx MH-Workers-Request@UCI}.
-\smallskip}
-\noindent
-The \eg{UCI} host is also known as \eg{ucivax},
-so a possible \UUCP/ path might be {\tx $\tdots$!ucbvax!ucivax!bug-mh}.
-
-Updates to \MH/ are published on the {\tx MH-Workers} list
-in the form of context diffs,
-and the appropriate distribution images are updated as well.
diff --git a/docs/historical/realwork/diagram1.tex b/docs/historical/realwork/diagram1.tex
deleted file mode 100644 (file)
index 5d25839..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-% diagram 1
-
-\verbatimlines
-% inc
-Incorporating new mail into inbox...
-
-   1+ 03/16 Rand MH System    MH transcript  <<Here's the body of a sample m
-                                              
-% show
-(Message inbox:1)
-To: jromine@uci-icsa
-Subject: MH transcript
-Date: 16 Mar 85 18:28:59 PST (Sat)
-From: Rand MH System <mh@uci-icsa>
-
-Here's the body of a sample message.
-% repl
-To: Rand MH System <mh@uci-icsa>
-cc: jromine@uci-icsa
-Subject: Re: MH transcript
-In-reply-to: Your message of 16 Mar 85 18:28:59 PST (Sat).
---------
-Thanks for the test.
-
-/JLR
-^D
-
-What now?? send
-% comp
-To: MRose@UCI
-cc: 
-Subject: sample comp
---------
-Here's a sample compose for the MH transcript.
-
-/JLR
-^D
-
-What now?? send -verbose
- -- Posting for All Recipients --
-  -- Local Recipients --
-  MRose: address ok
- -- Recipient Copies Posted --
-Message Processed
-?endverbatim
diff --git a/docs/historical/realwork/diagram10.tex b/docs/historical/realwork/diagram10.tex
deleted file mode 100644 (file)
index b321213..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-% diagram 10
-
-\verbatim
-mmdfldir:       /usr/spool/mail
-mmdflfil:
-mmdelim1:       \001\001\001\001\n
-mmdelim2:       \001\001\001\001\n
-mmailid:        0
-lockstyle:      0
-lockldir:
-
-hostable:       /usr/local/lib/mh/hosts
-servers:        localhost \01localnet
-?endverbatim
diff --git a/docs/historical/realwork/diagram2.tex b/docs/historical/realwork/diagram2.tex
deleted file mode 100644 (file)
index f7f7f87..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-% diagram 2
-
-\verbatim
-To:
-cc:
-Bcc:
-Fcc: outbox
-Fcc:
-Subject:
-Reply-To:
---------
-?endverbatim
diff --git a/docs/historical/realwork/diagram3.tex b/docs/historical/realwork/diagram3.tex
deleted file mode 100644 (file)
index 11a7edb..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-% diagram 3
-
-\verbatim
-To: <reply-to|from>
-cc: <??to|cc><to>,<cc>
-Fcc: +outbox
-Fcc: <??fcc><fcc>
-Subject: <??subject>Re: <subject>
-In-reply-to: <??date><??message-id>Your message of <date>.
-            <message-id>
-In-reply-to: <??date><!message-id>Your message of <date>.
---------
-?endverbatim
diff --git a/docs/historical/realwork/diagram4.tex b/docs/historical/realwork/diagram4.tex
deleted file mode 100644 (file)
index e9c15c0..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-% diagram 4
-
-\verbatim
-From: <??me>Message Agent \<<me>>
-To: <reply-to|from>
-Fcc: +rcvtrip
-Fcc: <??fcc><fcc>
-Subject: <??subject>BEEP! Re: <subject>
-Subject: <!subject>BEEP!
-In-reply-to: <??date><??message-id>Your message of <date>.
-            <message-id>
-In-reply-to: <??date><!message-id>Your message of <date>.
---------
-
-    This is an automatic reply.  Feel free to send additional mail, as only
-    this one notice will be generated.
-
-    I am attending the USENIX Summer '85 conference in Portland, Oregon.
-    I expect to be reading mail again on the 16th of June.
-
-/mtr
-?endverbatim
diff --git a/docs/historical/realwork/diagram5.tex b/docs/historical/realwork/diagram5.tex
deleted file mode 100644 (file)
index 3b36477..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-% diagram 5
-
-\verbatim
-To: <reply-to|from>
-cc: <??to|cc><to>,<cc>
-Fcc: +outbox
-Fcc: <??fcc><fcc>
-Subject: <??subject>Re: <subject>
-In-reply-to: <??date><??message-id>Your message of <date>.
-            <message-id>
-In-reply-to: <??date><!message-id>Your message of <date>.
-Reply-To: /dev/null
---------
-
-                          \
-                         *-XXX
-                          /   XX
-                                X
-                                  X
-                                   X
-                                   X
-                                   X
-                               IIIIIIIII
-                               IIIIIIIII
-                               IIIIIIIII
-                               IIIIIIIII
-                               XXXXXXXXX
-                        XXXXXXXXXXXXXXXXXXXXXXX
-                     XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-                  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-         XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-          XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-           XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-            XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-              XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-               XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-                  XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-                     XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-                        XXXXXXXXXXXXXXXXXXXXXXX
-                               XXXXXXXXX
-?endverbatim
diff --git a/docs/historical/realwork/diagram6.tex b/docs/historical/realwork/diagram6.tex
deleted file mode 100644 (file)
index 18577c8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-% diagram 6
-
-\verbatim
-width=80,length=0,overflowtext=,overflowoffset=10
-Date:leftadjust,compress,compwidth=9
-Subject:leftadjust,compress,compwidth=9
-From:leftadjust,compress,compwidth=9
-To:leftadjust,compress,compwidth=9
-cc:leftadjust,compress,compwidth=9
-Resent-Note:leftadjust,compwidth=9
-:
-body:nocomponent,overflowoffset=0
-?endverbatim
diff --git a/docs/historical/realwork/diagram7.tex b/docs/historical/realwork/diagram7.tex
deleted file mode 100644 (file)
index f5b6034..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-% diagram 7
-
-\verbatim
-: 'mpick - relate messages /mtr'
-PATH=:/bin:/usr/bin:/usr/ucb:/usr/local:/usr/local/lib/mh; export PATH
-F="" M="" S=""
-
-for A in $*
-do
-    case $A in
-        -*)     S="$S $A" ;;
-
-        +*|@*)  case $F in
-                    "")  F=$A ;;
-                    *)   echo "mpick: only one folder at a time" 1>&2
-                         exit 1 ;;
-                esac ;;
-
-        *)      M="$M $A" ;;
-    esac
-done
-
-S="$S -sequence hits -list -nozero"
-
-if mark $F all -add -sequence hits;
-    then mark $F all -delete -sequence hits;
-    else exit 1;
-fi
-
-for A in ${M-cur}
-do
-    for C in `mhpath $F $A`
-    do
-        if [ -r $C ];
-            then
-                I=`mhl -form mhl.msgid $C`;
-                case $I in
-                    "")  echo "no message-id in message `basename $C`" 1>&2 ;;
-                    *)   pick --in-reply-to "$I" $S ;;
-                esac
-            else
-                echo "message $A doesn't exist" 1>&2; exit 1;
-        fi
-    done
-done
-
-exit 0
-?endverbatim
diff --git a/docs/historical/realwork/diagram8.tex b/docs/historical/realwork/diagram8.tex
deleted file mode 100644 (file)
index 36d8ee6..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-% diagram 8
-
-\verbatim
-: 'append - stupid append editor for MH - /jlr'
-case $# in
-   1|2) case $# in
-            1) F=$1; echo -n "Append file: " 1>&2; read A ;;
-            2) F=$2; A=$1 ;;
-        esac
-        cat $A < /dev/null >> $F ;;
-     *) echo "append: arg count" 1>&2 ; exit 1 ;;
-esac
-exit
-?endverbatim
diff --git a/docs/historical/realwork/diagram9.tex b/docs/historical/realwork/diagram9.tex
deleted file mode 100644 (file)
index b67c2e7..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-% diagram 9
-
-\verbatim
-bin     /usr/local
-bboards on
-editor  /usr/local/prompter
-etc     /usr/local/lib/mh
-mail    /usr/spool/mail
-manuals local
-mts     sendmail/smtp
-news    off
-options BSD42
-options MHE NETWORK
-options UCI
-?endverbatim
diff --git a/docs/historical/realwork/realwork.tex b/docs/historical/realwork/realwork.tex
deleted file mode 100644 (file)
index 6454913..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-% run this through PhD-TeX
-
-\input dcustom
-\articlestyle
-\input version
-
-\def\draftext{%
-    \begingroup
-       \eightpoint\sf
-       Reprinted from
-       {\it Proceedings, Summer Usenix Conference and Exhibition},
-       Portland, Oregon,
-       June, {\oldstyle 1985}%
-    \endgroup
-}
-
-\input sfwmac
-
-\def\bannerhack{$^{\bowtie}$\global\let\bannerhack=\empty}
-\header
-    MH.5:\\
-       How to process 200 messages a day\\
-       and still get some real work done\bannerhack\title
-    Marshall T.~Rose\\
-       Member, Research Technical Staff\\
-       Northrop Research and Technology Center$^\dagger$\\
-       \\
-    John L.~Romine\\
-       Computing Support Group\\
-       Department of Information and Computer Science\\
-       University of California, Irvine$^\ddagger$\author\info
-\footnote{}{\hskip -\parindent $^{\bowtie}$
-Alternate title: {\sl MH: Your Key to Success}.}
-\footnote{}{\hskip -\parindent $^\dagger$
-One~Research Park,
-Palos Verdes Peninsula, CA  90274.
-Telephone: 213/377--4811.\hbreak
-Computer mail:
-MRose\%NRTC@USC-ECL, $\tdots$!\{ucbvax!ucivax,trwrb\}!nrtc!mrose.}
-\footnote{}{\hskip -\parindent $^\ddagger$
-University of California at Irvine,
-Irvine, CA  92717.
-Telephone: 714/856--6852.\hbreak
-Computer mail:
-J-Romine@USC-ECL, $\tdots$!\{ucbvax,trwrb\}!ucivax!jromine.}
-
-\centerline{\sc Abstract}                      % mtr
-{\rightskip=0pt\narrower
-\lp
-The UCI version of the Rand Message Handling System (\MH/) is discussed.
-\MH/ is a powerful user agent which operates in the ARPA Internet and UUCP
-environments.
-In addition to the usual functions provided by similar programs,
-\MH/ has several distinguishing characteristics which give the user
-additional message handling capability.
-In particular,
-\MH/ provides mechanisms for maintaining an organized mail environment,
-tailoring its behavior,
-and extending its functions.
-
-\lp
-This document describes \MH/ from several perspectives.
-Particular emphasis is given to:
-the \MH/ user environment,
-advanced features of \MH/ which have proven to be particularly useful for
-sophisticated users of electronic mail,
-the user interface issues in \MH/,
-and the \mh5 distribution.
-The paper concludes with a summary of the authors' experiences with \MH/,
-and a discussion of future areas of enhancement.
-\par}
-
-\input text
-\input refs
-\input appendixA
-\input appendixB
-
-\printcontents
-\unskip\footnote{}{\hskip -\parindent
-This document (version \versiontag/)
-was \TeX set \today\ with DISS.STY v\version.}
-\showsummary
-
-\bye
diff --git a/docs/historical/realwork/refs.tex b/docs/historical/realwork/refs.tex
deleted file mode 100644 (file)
index cba2736..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-% references
-
-\references
-
-\ref{DCome83}
-\by D.~Comer.
-\paper The Computer Science Research Network CSnet:
-A History and Status Report
-\journal Communications of the ACM\volume 26\issue 10
-\month October\year 1983
-\pages 747--753
-\endref
-
-\ref{DCroc79}
-\by D.H.~Crocker, E.S.~Szurkowski, D.J.~Farber.
-\paper An Internetwork Memo Distribution Facility~---~MMDF
-\inbook Proceedings,
-Sixth Data Communications Symposium
-\publaddr Asilomar
-\month November\year 1979
-\pages 18--25
-\endref
-
-\ref{DCroc82}
-\by D.H.~Crocker.
-\paper Standard for the Format of ARPA Internet Text Messages
-\paperinfo Request for Comments 822
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month August\year 1982
-\endref
-
-\ref{DEA}
-\book Data Encryption Algorithm
-\bookinfo X3.92--1981
-\publ American National Standards Institute
-\year 1981
-\endref
-
-\ref{DKing84}
-\by D.P.~Kingston,~III.
-\paper MMDFII: A Technical Review
-\inbook Proceedings
-Usenix Summer '84 Conference
-\publaddr Salt Lake City, Utah
-\month June\year 1984
-\pages 32--41
-\endref
-
-\ref{EAllm83}
-\by E.~Allman.
-\paper SENDMAIL~---~An Internetwork Mail Router
-\other
-\publ Britton-Lee, Inc.
-\publaddr Berkeley, California
-\month July\year 1983
-\endref
-
-\ref{EOlse84}
-\by E.W.~Olsen.
-\paper NetOS Concepts and Facilities
-\other
-\publ Local Network Systems, Inc.
-\publaddr Costa Mesa, California
-\month August\year 1984
-\endref
-
-\ref{EStef84}
-\by E.A.~Stefferud, J.N.~Sweet, T.P.~Domae.
-\paper MZnet: Mail Service for Personal Micro-Computer Systems
-\inbook Proceedings,
-Second International Symposium on Computer Message Systems
-\publaddr Nottingham, U.K
-\month May\year 1984
-\pages 293--302
-\endref
-
-\ref{FIKM}
-\book Financial Institution Key Management
-\bookinfo X9.17--198\_ (draft)
-\publ American National Standards Institute
-\year 198\_
-\endref
-
-\ref{FIPS46}
-\book Data Encryption Standard
-\bookinfo Federal Information Processing Standards,
-Publication 46
-\month January\year 1977
-\endref
-
-\ref{FIPS81}
-\book DES Modes of Operation
-\bookinfo Federal Information Processing Standards,
-Publication 81
-\month December\year 1980
-\endref
-
-\ref{FIPS98}
-\paper Specification for Message Format for Computer Based Message Systems
-\other
-\publ National Bureau of Standards
-\month January\year 1983
-\endref
-
-\ref{HERMES}
-\by Bolt, Beranek, and Newman.
-\paper Hermes User's Manual
-\paperinfo for TOPS-20
-\other
-\publ Bolt, Beranek, and Newman
-\publaddr Boston, MA
-\month January\year 1979
-\endref
-
-\ref{IP}
-\paper Internet Protocol
-\paperinfo Request for Comments 791 (\milstd/ 1777)
-\inbook Internet Protocol Transition Workbook
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month September\year 1981
-\endref
-
-\ref{JReyn84}
-\by J.K.~Reynolds.
-\paper Post Office Protocol
-\paperinfo Request for Comments 918
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month October\year 1984
-\endref
-
-\ref{LLamp82}
-\by L.~Lamport, R.~Shostak, M.~Pease.
-\paper The Byzantine Generals Problem
-\journal ACM Transactions on Programming Languages and Systems
-\volume 4
-\month July\year 1982
-\pages 382--401
-\endref
-
-\ref{MButl85}
-\by M.~Butler, J.B.~Postel, et.~al.
-\paper Post Office Protocol - Version~2
-\paperinfo Request for Comments 937
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month February\year 1985
-\endref
-
-\ref{MRose84a}
-\by M.T.~Rose.
-\paper The Rand MH Message Handling System: The UCI BBoards Facility
-\other
-\publ Department of Computer and Information Sciences
-\publaddr University of Delaware
-\month October\year 1984
-\endref
-
-\ref{MRose84b}
-\by M.T.~Rose.
-\paper The Rand MH Message Handling System: Tutorial
-\other
-\publ Department of Computer and Information Sciences
-\publaddr University of Delaware
-\month October\year 1984
-\endref
-
-\ref{MRose85a}
-\by M.T.~Rose, J.L.~Romine.
-\paper The Rand \MH/ Message Handling System: User's Manual
-\paperinfo UCI Version
-\other
-\publ Department of Information and Computer Science
-\publaddr University of California, Irvine
-\month January\year 1985
-\endref
-
-\ref{MRose85b}
-\by M.T.~Rose, E.A.~Stefferud.
-\paper Proposed Standard for Message Encapsulation
-\paperinfo Request for Comments 934
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month January\year 1985
-\endref
-
-\ref{MRose85c}
-\by M.T.~Rose, D.J.~Farber, S.T.~Walker.
-\paper Design of the TTI Prototype Trusted Mail Agent
-\inbook Proceedings,
-Second International Symposium on Computer Message Systems
-\publaddr Washington, D.C.
-\month September\year 1985
-\toappear
-\endref
-
-\ref{MRose85d}
-\by M.T.~Rose, E.A.~Stefferud, J.N.~Sweet.
-\paper MH: A Multifarious User Agent
-\journal Computer Networks%\volume V\issue N
-\toappear
-\endref
-
-\ref{SMTP}
-\paper Simple Mail Transfer Protocol
-\paperinfo Request for Comments 821
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month August\year 1982
-\endref
-
-\ref{TCP}
-\paper Transmission Control Protocol
-\paperinfo Request for Comments 793 (\milstd/ 1778)
-\inbook Internet Protocol Transition Workbook
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month September\year 1981
-\endref
-
-\ref{VVoyd83}
-\by V.L.~Voydock, S.T.~Kent.
-\paper Security Mechanisms in High-Level Network Protocols
-\journal Computing Surveys\volume 15\issue 2
-\month June\year 1983
-\pages 135--171
-\endref
-
-\ref{WJoy83}
-\by W.N.~Joy, E.~Cooper, R.S.~Fabry, S.J.~Leffler, K.~McKusick, D.~Mosher.
-\paper 4.2\bsd/ System Manual
-\paperinfo Technical Report Number 5
-\publ Computer Systems Research Group, University of California, Berkeley
-\month July\year 1983
-\endref
-
-\ref{X.400}
-\book Message Handling Systems: System Model-Service Elements
-\bookinfo Recommendation X.400
-\publ International Telegraph and Telephone Consultative Committee (CCITT)
-\endref
-
-\endreferences
diff --git a/docs/historical/realwork/text.tex b/docs/historical/realwork/text.tex
deleted file mode 100644 (file)
index d5c58eb..0000000
+++ /dev/null
@@ -1,1121 +0,0 @@
-% begin text
-
-\banner
-
-\section{Introduction}                         % mtr
-The UCI version of the Rand Message Handling System, \MH/,
-is a software system that performs two functions:
-\underbar{first},
-it interfaces a user to a message transport system,
-so the user may receive and send mail;
-\underbar{second},
-it permits the user to maintain an organized mail environment to facilitate
-the composition of new messages and the reading of old messages.
-In short,
-while not responsible for the delivery of messages,
-\MH/ aids the user in handling mail.
-
-\MH/ was originally developed by the Rand Corporation,
-and initially was proprietary software.
-The Department of Information and Computer Science at
-University of California, Irvine,
-shortly after joining the Computer Science Network (CSnet),
-acquired a copy of \MH/,
-and began additional development of the software.
-Since that time,
-the Rand Corporation has declared \MH/ to be in the public domain,
-and the UCI version of \MH/ has passed through four major releases.
-The current version, \mh5,
-is available from U.C.~Irvine for a nominal distribution fee,
-or may be retrieved from the University of Delaware via anonymous FTP.
-
-Much credit must be given to the initial designers and implementors of \MH/:
-Bruce Borden, Stockton Gaines, and Norman Shapiro.
-Although \MH/ has suffered significant development at UCI
-since Rand's initial release,
-the fundamental concepts of \MH/'s environs have remained nearly unchanged.
-In addition,
-the authors of the current release gratefully acknowledge the comments of the
-many sites which have run various releases of \MH/ in the past.
-In particular,
-the dozen or so beta test sites for \mh5
-provided tremendous help in stabilizing the current release.
-
-\MH/ runs on different versions of the \unix/ operating system
-(such as Berkeley~4.2\bsd/ and various flavors of v7).
-In addition,
-\MH/ supports four different message transport interfaces:
-\SendMail/\cite{EAllm83},
-the standard mailer for 4.2\bsd/ systems;
-\MMDF/\cite{DCroc79} and \MMDFII/\cite{DKing84},
-the Multi-Channel Memo Distribution Facility developed by the University of
-Delaware
-which forms the software-backbone for CSnet\cite{DCome83} mail relay service;
-SMTP,
-the ARPA Internet Simple Mail Transfer Protocol\cite{SMTP};
-and,
-a stand-alone delivery system.
-
-This paper is organized in a straight-forward fashion:
-Initially,
-the \MH/ philosophy of mail handling is presented,
-along with a description of the environment which the \MH/ user is given to
-process mail.
-Following this,
-certain advanced features of \MH/ are discussed in more detail,
-such as facilities for selecting messages,
-and ``advanced'' concepts in {\it draft} handling.
-In addition,
-user interface issues in mail handling are addressed,
-and the merits of \MH/'s approach is critically examined.
-Next,
-the \mh5 distribution package is described.
-Finally,
-we conclude by discussing the authors' experience with \MH/ development
-and introducing areas where \MH/ may be further developed.
-
-Although familiarity with \MH/ is not assumed on the part of the reader,
-some knowledge of the \unix/ operating system is useful.
-Appendix~A gives a short synopsis of the \MH/ commands.
-
-\section{The \MH/ Philosophy}                  % mtr
-Although \MH/ has many traits which tend to distinguish it from other systems
-which handle mail,
-there is a single fundamental design decision which influences the interface
-between \MH/ and the user:
-\MH/ differs from most other systems in that it is composed of many small
-programs instead of one very large one.
-This architecture gives \MH/ much of its strength,
-since intermediate and advanced users are able to take advantage of this
-flexibility.
-
-The key to this flexibility is that the \unix/ shell
-(usually the {\it C} shell or the {\it Bourne} shell),
-is the user's interface to \MH/.
-This means that when handling mail,
-the entire power of the shell is at the user's disposal,
-in addition to the
-facilities which \MH/ provides.
-Hence,
-the user may intersperse mail handling commands with other commands in an
-arbitrary fashion,
-making use of command handling capabilities which
-the user's shell provides.
-
-Furthermore,
-rather than storing messages in a complicated data structure
-within a monolithic file,
-each message in \MH/ is a \unix/ file,
-and each folder (an object which holds groups of messages)
-in \MH/  is a \unix/ directory.
-That is,
-the directory- and file-structure of \unix/ is used directly.
-As a result,
-any \unix/ file-handling command can be applied to any message.
-
-To the novice,
-this may not make much sense or may not seem important.
-However,
-as users of \MH/ become more experienced,
-they find this capability attractive.
-In addition,
-this approach is often quite pleasing to system implementors,
-because it minimizes the amount of coding to be performed,
-and given a modular design,
-changes to the software system can be maintained easily.
-There are, however, performance penalties to be paid with this scheme.
-This issue is considered later in the paper.
-
-Having described how \MH/ fits into the \unix/ environment,
-we now discuss the mail handling environment which is available to the \MH/
-user.
-
-\subsection{The \MH/ Environs}                 % jlr
-In the \file{\$HOME} directory of each \MH/ user, a file named
-\profile/ contains static information about the user's \MH/ environment, 
-and default arguments for \MH/ programs.
-For the latter case,
-each line of profile takes the form:
-\example program-name:\ options\endexample
-Each \MH/ program consults the user's \profile/ for its options.
-These options are consulted prior to evaluating any command-line arguments,
-and so provide the \MH/ user the capability to customize the defaults for each
-command.
-Futher, by using the \unix/ link facility,
-different names can be given to the same command.
-Since each \MH/ command looks
-in the \profile/
-for a component with the name by which it was invoked,
-it's possible to have different defaults for the same program.
-For example,
-it is not uncommon to link \pgm{prompter}
-(a simple prompting editor front-end)
-under the name \pgm{rapid} in the
-user's \file{bin/} directory, and add to the \profile/:
-\example rapid:\ -prepend\ -rapid\endexample
-As a result,
-when \pgm{prompter} is invoked as \pgm{rapid},
-it automatically uses the \switch{prepend} and \switch{rapid} options.
-
-The profile component \eg{Path:} is the path to the user's
-\MH/-directory, usually \Mail/.
-In addition to containing the user's folders,
-the \MH/-directory also contains {\it skeletons} and
-{\it templates} used by the \MH/ programs,
-and the user's \context/ file.
-This latter file has the same format as the user's \profile/,
-and contains the dynamic,
-context-dependent information about the user's environment.
-Whenever \MH/ looks for an \MH/-specific file,
-such as a template or skeleton,
-it first consults the user's \MH/-directory,
-and then a system-wide library area.
-
-The \MH/ user always has a {\it current folder},
-which is the folder in which
-the user is currently (or was last) working.
-Since any \MH/ program which deals with folders implicitly manipulates this
-information,
-the name of the  current folder is stored in the \file{context}
-component \eg{Current-Folder:}.
-Every folder has a {\it current message} known as \arg{cur}.
-These values are the defaults for \MH/ commands which
-accept folder and/or messages arguments.
-
-\MH/ programs make use of a set of envariables
-which further customize their behavior.
-The \file{\$MH} envariable, if present,
-specifies the name of an alternate profile for the user.
-This allows a user of \MH/ to
-easily maintain multiple mail-handling environments.
-
-In terms of command syntax,
-most \MH/ commands accept an optional {\it folder} argument,
-such as \arg{+outbox}.
-Unlike most \unix/ commands,
-all \MH/ commands have switches which are words, rather than single letters.
-Switches may be abbreviated to the least unambiguous prefix.
-All \MH/ commands also support a \switch{help} switch,
-which lists the syntax of the command along with available switches,
-and the version number of the command.
-Most \MH/ commands also take a \arg{msg} or \arg{msgs} argument
-which takes the form of a message number (\eg{1}), a message range (\eg{1-2}),
-a standard sequence name (\eg{cur}),
-or a user-defined sequence name (\eg{select}).
-
-\tagdiagram{1}{An \MH/ Session}{session}
-\subsection{An \MH/ Transcript}                        % jlr
-Figure~\session\ contains a transcript of a simple \MH/ session.
-First, \pgm{inc} is run to incorporate the new mail into the 
-user's \eg{+inbox} folder.
-
-A \pgm{scan} listing of the mail is printed while
-it is being incorporated.
-(The user could run \pgm{scan} explicitly to generate additional \pgm{scan}
-listings later on.)
-The \pgm{scan} listing gives the message number, followed
-by the date, message sender, and subject.
-(If the message originated from the user generating the listing,
-the \eg{to:} addressee is displayed instead of the sender.)
-If the subject is short,
-the first part of the message body is displayed after the characters \eg{<<}.
-The plus sign (`+') after
-the message number indicates the current message.
-
-The user \pgm{show\/}s the message, and decides to \pgm{repl\/}y.
-A reply draft
-is created using the headers of the message being replied-to,
-using the default \file{replcomps} template.
-The default editor, \pgm{prompter}, is called to edit the draft.
-When an EOT is typed, \pgm{prompter} exits and the
-user is left at the \whatnow/ prompt.
-The option \pgm{send} is chosen.
-Since there were no problems in posting the draft with the message transport
-system, 
-no additional output is produced.
-(\MH/ is not verbose by default.)
-
-The user then decides to compose a new message.
-The default skeleton, \file{components}, is copied to the draft,
-and \pgm{prompter} is once again called.
-After entering the addresses, subject, and body,
-the user then \pgm{send\/}s the \file{draft} from the \whatnow/ prompt,
-using \eg{send\ -verbose}, which causes
-\MH/ to list out the message addresses as it submits them
-to the message transport system.
-
-\section{Some \MH/ Features}                   % mtr
-We now consider certain advanced features in \MH/.
-These features have been chosen to demonstrate some useful capabilities
-available to the \MH/ user.
-
-\subsection{Message Sequences and Selection}   % jlr
-\MH/ has several built-in message sequence names, which may
-be used anywhere a \arg{msg} or \arg{msgs} argument is expected.
-These are:
-\arg{cur}, \arg{next}, \arg{prev}, \arg{first}, \arg{last}, and \arg{all}.
-Message ranges may also be specified.
-For example, \arg{all} is actually \arg{first-last}, and
-\arg{+mh\ last:5} references the last five messages in your
-\arg{+mh} folder.
-A powerful capability of \MH/ is the ability to use not only the pre-defined
-message sequence names,
-but also arbitrary user-defined message sequence names.
-
-Although all \MH/ programs recognize user-defined sequences when appropriate, 
-the \pgm{pick} and \pgm{mark} commands can create and modify 
-user-defined message sequences.
-The \pgm{mark} command allows low-level manipulation of sequences,
-and is not particularly interesting in our discussion.
-
-The \pgm{pick} command selects certain messages out of a folder.
-The criteria used for selection may be a search string and/or a date range.
-
-Searching is performed on either a specific header in the message
-(e.g., \eg{To:}),
-or anywhere within the message.
-By default,
-\pgm{pick} lists out the message numbers that matched
-the selection criteria.
-Thus, \pgm{pick} is useful in backquoted operations to the shell.
-For example, to scan all the messages in the current folder from ``frated'',
-the \MH/ user issues the command:
-\example scan\ \bq{pick\ -from\ frated}\endexample
-To perform more complicated message selection,
-user-defined sequences are employed.
-Supplying a \switch{sequence\ name}
-argument to \pgm{pick}, will cause it to define the
-sequence \arg{name} as those messages matched.
-
-Giving \pgm{pick} a list of messages causes it to limit its search to just
-those messages.
-For example,
-to find all the messages in the current folder from ``frated'' also dated
-before friday:
-\example pick\ -from\ frated\ -sequence\ select\\
-        pick\ select\ -before\ friday\ -sequence\ select\endexample
-With the first \pgm{pick} command,
-the sequence \eg{select} is defined
-to be all those messages from ``frated''.
-In the second command, only those messages already in the \eg{select}
-sequence are searched, and the \eg{select} sequence is redefined to be
-only those messages which are also
-dated before friday.
-Those messages could then be \pgm{show\/}n with:
-\example show\ select\endexample
-When a \switch{sequence\ name} argument is given to \pgm{pick},
-the default behavior --- listing the message numbers
-matched --- is inhibited.
-To re-enable this behavior, the \switch{list} option may be given.
-As a result,
-advanced users of \MH/ often put the following line in their \profile/:
-\example pick:\ -sequence\ select\ -list\endexample
-which allows them to easily make use of the \arg{select} sequence as the
-messages last selected with \pgm{pick}.
-
-Often it is desirable to act upon those messages which
-are {\it not} members of a given sequence.
-For this purpose,
-the \eg{Sequence-Negation:} profile entry is useful.
-If the name of a user-defined sequence is prefixed with the value of the
-sequence-negation profile entry,
-\MH/ commands will operate upon those messages which are {\it not} members
-of that sequence.
-For example, given a profile entry of:
-\example Sequence-Negation:\ not\endexample
-those messages which
-are not in the \arg{select} sequence could be \pgm{scan\/}'d with:
-\example scan\ notselect\endexample
-
-Obviously, some confusion could result if an attempt was made
-to define a sequence name
-which began with the sequence-negation string (e.g., \eg{notselect}).
-For this reason, \MH/ users will often use a single
-character,
-which their shell doesn't interpret,
-as their sequence-negation string
-(e.g., up-caret (`\^{}') for {\it C} Shell users,
-and exclamation-mark (`!') for {\it Bourne} shell users).
-
-\MH/ also provides a way of automatically remembering the last
-message list given to
-an \MH/ command.
-This facility is implemented by using a profile entry called
-\eg{Previous-Sequence:}.
-
-\subsection{Draft Handling}                    % jlr
-After the initial edit of a message draft,
-the \pgm{comp}, \pgm{dist}, \pgm{forw}, and \pgm{repl} programs
-give the user a \whatnow/ prompt.
-The valid responses include:
-\pgm{edit} to re-edit the draft,
-\pgm{quit} to exit without sending the draft,
-\pgm{send} to send the draft, and
-\pgm{push} to send the draft in the background.
-
-When the \pgm{send} option is given,
-the draft is posted with the message transport system.
-If there problems posting the draft,
-the \whatnow/ prompt is re-issued,
-so errors in the draft may be corrected.
-
-Since posting the draft can be slow,
-the \pgm{push} option allows the \MH/ user to send the draft in the
-background, and return immediately to the shell.
-If there are problems posting the message,
-the user will not see the diagnostics produced by
-the message transport system.
-For this reason,
-if \pgm{push} is used instead of \pgm{send},
-and the message is not successfully posted,
-\MH/ mails a message to the user
-containing any diagnostics which the message transport system produced
-along with a copy of the message.
-Later,
-the draft may be re-edited by entering \eg{comp\ -use}.
-
-A relatively new feature of \MH/ is the ability to use a folder to store
-multiple drafts.
-These drafts are kept in an ordinary \MH/ folder,
-and may be operated upon by \MH/ commands.
-To enable this feature,
-the \MH/ user selects a folder-name for the draft-folder,
-and creates an entry in the \profile/:
-\example Draft-Folder:\ +foldername\endexample
-From this point on,
-when a message is composed,
-the draft will be created as a message in that folder,
-instead of using the \file{draft} file in the user's \MH/ directory.
-Unfortunately,
-if posting problems occur on a message which has been \pgm{push\/}'d,
-it may be difficult to re-edit the draft with
-\eg{comp\ -use}.
-This might be the case if the user had started composing another message,
-while that first draft was being posted.
-In that event,
-the current-message in the draft-folder would no longer point
-to the failed draft.
-
-There is a solution for this problem, however.
-By default,
-\pgm{push} assumes the \switch{forward} option,
-which says that if the message draft fails to be posted,
-it should be forwarded back to the user in the
-error report which \pgm{push} generates.
-The failed draft may then be extracted with the \pgm{burst} program
-(discussed later).
-
-\subsection{BBoards}                           % mtr
-\MH/ has a convenient interface to the UCI BBoards facility\cite{MRose84a}.%
-\nfootnote{The UCI BBoards facility can run under either the \MMDF/ or
-\SendMail/,
-or in a more restricted form under stand-alone \MH/.}
-This facility permits the efficient distribution of interest group messages
-on a single host,
-to a group of hosts under a single administration,
-and to the ARPA Internet community.
-
-Although most readers are probably familiar with the concept of an interest
-group in the Internet context, a brief description is now given.
-Observant readers will notice that the distributed nature of the
-``network news'' (a.k.a.~USENET)
-tends to avoid many of the problems described below.
-
-Described simply, an interest group is composed of a number of subscribers
-with a common interest.
-These subscribers post mail to a single address, known as the
-{\it distribution} address (e.g., {\tx MH-Workers@UCI}.
-From this distribution address, a copy of the message is sent to each
-subscriber.
-Each group has a {\it moderator},
-who is the person that runs the group.
-This moderator can usually be reached at a special address,
-known as the {\it request} address (e.g., {\tx MH-Workers-Request@UCI}).
-Usually, the responsibilities of the moderator are quite simple,
-since the mail system handles distribution to subscribers automatically.
-In some interest groups,
-instead of each separate message being distributed directly to subscribers,
-a batch of (hopefully related) messages
-are put into a {\it digest} format by the
-moderator and then sent to the subscribers.
-(This is similar to a newsletter format.)
-Although this requires more work on the part of the moderator
-and introduces delays,
-such groups tend to be better organized.
-
-Unfortunately, some problems arise with the scheme outlined above.
-First, if two users on the same host subscribe to the same interest group,
-two copies of the message are delivered.
-This is wasteful of both processor and disk resources at that host.
-
-Second,
-some groups carry a lot of traffic.
-Although subscription to a group does indicate interest on the part of a
-subscriber,
-it is usually not interesting to get 50 or so messages delivered
-each day
-to the user's private maildrop,
-interspersed with {\it personal} mail,
-which is likely to be of a much more important and timely nature.
-
-Third, if a subscriber's address in a distribution list 
-becomes ``bad'' somehow and causes failed mail to be returned,
-the originator of the message is normally notified.
-It is not uncommon for a large list to have several bogus addresses.
-This results in the originator being flooded with ``error messages'' from
-mailers across the Internet stating that a given address on the list was
-bad.
-Needless to say,
-the originator usually does not care if the bogus addresses got a copy
-of the message or not.
-The originator is merely interested in posting a message
-to the group at large.
-On the other hand,
-the moderator of the group does care if there are bogus addresses on the list,
-but ironically does not receive notification.
-
-To solve these problems,
-the UCI BBoards facility introduces a new entity into the picture:
-a {\it distribution channel}.
-All interest group mail is handled by 
-the special mail system component.
-The distribution address for an interest-group
-maps mail for that interest-group to the distribution channel,
-which then performs
-several actions.
-First, if local delivery is to be performed,
-a copy of the message is placed in a global maildrop for the interest
-group with a timestamp and a unique number.
-Local users can read messages posted for the interest group by reading this
-``public'' maildrop.
-Second, if further distribution is to take place,
-a copy of the message is sent to the distribution address in such a way that
-if any of the addresses are bogus,
-failure notices will be returned to the local maintainer of the group
-address list, rather than the originator of the message.
-
-This scheme has several advantages:
-First, messages delivered to the local host are processed and saved once
-in a globally accessible area.
-The UCI BBoards facility supports software which allows a user to query an
-interest group for new messages and to read and process
-those messages in the \MH/-style.
-Second, once a host administrator subscribes to an interest group,
-each user may join or quit the list's readership without
-contacting anyone.
-Third, a hierarchical distribution scheme can be constructed to
-reduce the amount of delivery effort.
-Finally, errors are prevented from propagating.
-When an address on the distribution list goes bad,
-the list moderator who is responsible for the address is notified.
-If a local moderator does not exist,
-then the local PostMaster is notified (not the global group moderator).
-
-In addition to solving the problems outlined above,
-the UCI BBoards facility supports several other capabilities.
-BBoards may be automatically archived in order to conserve disk space and
-reduce processing time when reading current items.
-Also,
-the archives can be separately maintained on tape for access by interested
-researchers.
-
-Special alias files may be generated which allow the \MH/ user to shorten
-address entry.
-For example, instead of sending to {\tx SF-Lovers@Rutgers},
-a user of \MH/ usually sends to \eg{SF-Lovers} and the \MH/ aliasing
-facility automatically makes the appropriate expansion in the headers of the
-outgoing message.
-Hence,
-the user need only know the name of an interest group and not its global
-network address.
-
-Finally, the UCI BBoards facility supports {\it private} interest groups
-using the \unix/ group access mechanism.
-This allows a group of people on the same or different machines to conduct a
-private discussion.
-
-The practical upshot of all this is that the UCI BBoards facility automates
-the vast majority of BBoards handling from the point of view of both the
-PostMaster and the user.
-
-\MH/ provides three programs to deal with interest groups.
-The \pgm{bbc} program is used to check on the status of one or more groups,
-and to optionally start an \MH/ shell on those groups which the user is
-interested in.
-The \pgm{bbl} program can be used to manually perform maintenance on a
-discussion group beyond the normal automatic capabilities of the UCI BBoards
-facility.
-Finally,
-the \pgm{msh} program implements an \MH/ shell for reading BBoards,
-in which nearly all of the \MH/ commands are implemented in a single program.
-
-Observant readers may note that the use of \pgm{msh} is contrary to the \MH/
-philosophy of using relatively small, single-purpose programs.
-Sadly,
-the authors admit that this is true.
-In an effort to minimize use of system resources however,
-BBoards are kept in maildrop format instead of folders.%
-\nfootnote{When the message transport system delivers a message to a user
-it stores it in a single file, called a {\it maildrop}.
-Since many messages may be present in a single maildrop,
-(in theory) there is a unique string acting as a separator between messages
-in the maildrop.
-Although this is convenient for storage of messages,
-it makes retrieval more difficult unless a separate index into the maildrop
-is kept.
-This latter approach is taken by the \pgm{msg} program available with \MMDFII/
-and by \pgm{msh} as well.}
-Some research has gone into overcoming this problem to restore
-\MH/'s purity of purpose,
-but all solutions proposed to date are either unworkable or require
-significant recoding of \MH/'s internals.
-
-\subsection{Bursting}                  % jlr
-Internet interest group mail is often sent out in digest form.
-The experienced \MH/ user may wish to deal with the digest messages on
-an individual basis, however.
-The \pgm{burst} program allows the \MH/ user to extract these digest
-messages,
-and store each as an individual \MH/ message.
-
-\pgm{Burst} will also extract forwarded messages generated by \pgm{forw}
-(or the forwarded message in the error report generated by \pgm{push},
-as described above).
-Although \pgm{burst} cannot always decapsulate
-messages encapsulated by sites not running \MH/,
-it adheres to the proposed standard described in \cite{MRose85b}.
-
-\subsection{Distributed Mail}                  % mtr
-The ARPA Internet community consists of many types of heterogeneous nodes.
-Some hosts are large mainframe computers,
-others are personal workstations.
-All communicate using the \milstd/ TCP/IP protocol suite\cite{IP,TCP}.
-Messages which conform to the Standard for the Format of ARPA Internet Text
-Messages\cite{DCroc82}
-are exchanged using the Simple Mail Transfer Protocol\cite{SMTP}.
-
-On smaller nodes in the ARPA Internet,
-it is often impractical to maintain
-a message transport system (e.g., \SendMail/).
-For example,
-a workstation may not have sufficient resources (cycles, disk space)
-in order to permit an SMTP server and associated local mail delivery system
-to be kept resident and continuously running.
-Furthermore,
-the workstation could be off-net for extended periods of time.
-Similarly,
-it may be expensive (or impossible) to keep a personal computer
-interconnected to an IP-style network for long periods of time.
-In other words,
-the node is lacking the resource known as ``connectivity''.
-
-Despite this,
-it is often desirable to be able to manage mail with \MH/ on these smaller
-nodes,
-and they often support a user agent to aid the tasks of mail handling.
-To solve this problem,
-a network node which can support a message transport entity
-(known as {\it service} host) offers
-a maildrop service to these less endowed nodes
-(known as {\it client} hosts).
-The Post Office Protocol\cite{JReyn84} (POP) is intended to permit a
-workstation to dynamically access a maildrop on a service host to pick-up
-mail.%
-\nfootnote{Actually,
-there are three different descriptions of the POP.
-The first, cited in \cite{JReyn84},
-was the original description of the protocol,
-which suffered from certain problems.
-Since then,
-two alternate descriptions have been developed.
-The official revision of the POP\cite{MButl85},
-and the revision of the POP which \MH/ uses
-(which is documented in an internal memorandum in the \MH/ release).
-This paper considers the POP in the context of the \MH/ release.}
-The level of access includes the ability to
-determine the number of messages in the maildrop and the size of each message,
-as well as to retrieve and delete individual messages.
-More sophisticated implementations of the POP server
-are able to distinguish between the header and body portion of each message,
-and send $n$ lines of a message to the POP client.
-This capability is useful in thinly connected environments where conservation
-of bandwidth is important.
-By utilizing a more intelligent POP client,
-a user may generate ``scan~listings'' and decide dynamically which messages
-are worth taking delivery on.
-The philosophy of the POP is to put intelligence in the 
-POP clients and not the POP servers.
-
-The current release of \MH/ supports the above model fully.
-A POP client program is available to retrieve a maildrop from a POP service
-host.
-In addition,
-using the SMTP configuration for delivery in \MH/
-(either in conjunction with \SendMail/ or the \MMDF/),
-a user is able to specify a search-list of service hosts (and/or networks)
-to try to post mail.
-Using this search-list,
-when an \MH/ user posts a draft,
-the \pgm{post} program will attempt to establish an SMTP connection
-with each host in the search-list to post the message until it succeeds.
-Initial experimentation using the POP and \MH/
-in a local network environment has proved quite successful.
-
-\section{User Interface Issues in \MH/}                % mtr
-At this point,
-it is perhaps useful to take a step backwards and examine the success
-and problems of \MH/'s approach to user interfaces.
-
-\subsection{Creeping Featurism}                        % mtr
-A complaint often heard about systems which undergo substantial development
-by many people over a number of years, is that more and more options are
-introduced which add little to the functionality but greatly increase the
-amount of information a user needs to know in order to get useful work done.
-This is usually referred to as {\it creeping featurism}.
-
-Unfortunately \MH/,
-having undergone six years of off-and-on development by ten or so
-well-meaning programmers (the present authors included),
-suffers mightily from this.
-For example,
-the \pgm{send} command has twenty-five visible switches,
-and at least nine hidden switches,
-for a total of thirty-four.
-The poor user who types \example send\ -help\endexample watches the options
-scroll off the screen
-(since the \switch{help} switch also lists out four other lines of
-information).%
-\nfootnote{Recently,
-this was fixed by compressing the way in which switches are presented.
-The solution is only temporary however,
-as \pgm{send} will no doubt acquire an {\it endless} number of switches in
-the years to come.}
-The sad part is that all of these switches are useful in one form or another.
-
-There are a lot of good things to be said for the
-``one program, one function'' philosophy of system design.
-In the \MH/ case, however,
-each program really does only one mail handling activity
-(with a few minor exceptions).
-The options associated with each command are present to modify the program's
-behavior to perform similar, but slightly different tasks.
-In further defense of \MH/,
-note that there are~32 \MH/ commands at present,
-all performing different tasks.
-
-The problem with creeping featurism though,
-is that while the functionality of the system increases sub-linearly,
-the complexity of the system increases linearly.
-That is,
-although the number of switches that a program takes might double,
-it is unlikely that the program's functionality or capabilities will double.
-
-\subsection{Templates versus Switches}         % mtr
-One way to trim the explosion of available options,
-while still increasing functionality,
-is to introduce options with a richer domain.
-Hence,
-instead of using options which take {\it on} or {\it off} forms
-or simple numeric or string values,
-the possible values which an option might take on is given a large space.
-There are several ways that this might be accomplished.
-
-\tagdiagram{2}{Draft Skeleton}{components}
-The \pgm{comp}, \pgm{dist}, and \pgm{forw} programs
-use draft {\it skeletons} (simple form fill-in files) to construct the
-general format of the draft being composed.
-An example of a draft skeleton used for composing new messages
-(by \pgm{comp\/}) is shown in Figure~\components.
-The approach is to let the user specify (and later edit) both arbitrary
-headers of draft and the body of the draft.
-Note while most of the fields are empty,
-the first \eg{Fcc:} field already contains a value.
-By using the simple prompting editor, \pgm{prompter},
-the user can speedily enter the headers of the message.
-The \pgm{prompter} program given the skeleton in Figure~\components\ would
-prompt the user for the contents of each field,
-except for the second \eg{fcc:},
-which it would include verbatim.
-It would then read the body of the message up to an end-of-file.
-Naturally,
-the \MH/ user is free to use {\it any} editor to edit {\it any} part of the
-draft (headers or body).
-This example 
-demonstrates the flexibility achieved by not limiting what headers a
-draft may contain (which most mail sending programs do),
-while still retaining the simplicity of being able to treat the entire
-message draft as a \unix/ file.
-
-\tagdiagram{3}{Reply Template}{replcomps}
-Another more interesting approach is used by the \pgm{repl} command,
-which constructs a draft in reply-to a previously received message.
-Instead of adding switches to indicate which fields of the draft should be
-derived from the message being replied-to,
-and how they should be derived,
-a single option,
-the ability to specify a {\it template}, was made available.
-An example of a reply template is shown in Figure~\replcomps.
-Put simply,
-based on the presence of certain fields in the message being replied-to,
-and a few switches given by the user,
-using the reply template,
-\pgm{repl} generates the reply draft automatically.
-
-\tagdiagram{4}{The \file{tripcomps} Reply Template}{tripcomps}
-This facility, for example,
-can be used to generate automatic replies.%
-\nfootnote{\MH/ supports the notion of a user-defined {\it mail hook}
-which is invoked each time a user receives mail.}
-One function might be to write a \pgm{rcvtrip} shell script
-which automatically answered messages when mail wasn't being read for a
-period of time
-(e.g., while attending a conference).
-An example of a reply template at the heart of such a script
-is shown in Figure~\tripcomps.
-
-\tagdiagram{5}{The \file{bombcomps} Reply Template}{bombcomps}
-Finally,
-another application might be to utilize
-the highly useful letter bomb protocol.%
-\nfootnote{The authors wish to credit Ron Natalie of the Ballistics Research
-Laboratory in Aberdeen, Maryland for formalizing the
-use of this protocol in the ARPA Internet community.}
-The important thing to note about this template is that it generates not only
-the headers of the reply draft (with a creative \eg{Reply-to:} address),
-but the body as well.
-Hence,
-the commands
-\example
-    repl\ -form\ bombcomps\ -noedit\ ;\ rmm\\
-    What\ now?\ push%
-\endexample
-are very handy for dealing with disturbing mail in a straight-forward manner.
-Of course, \pgm{repl} could be linked to \pgm{bomb} in the user's \file{bin/}
-directory and an appropriate line could be added to the user's \MH/ profile,
-in order to further shorten type-in.
-
-\tagdiagram{6}{Display Template}{mhlforward}
-A variation on the reply template is the {\it display template}.
-A display template, as used by the \pgm{mhl} program,
-contains instructions on how to format a message.
-In addition to being used by \pgm{show}, et.~al.,
-the \pgm{forw} program can also use a display template to format each
-message being forwarded.
-Similarly,
-although \pgm{repl} uses a reply template to construct the draft
-being composed,
-it also may use a display template to format the body of the message
-being replied-to for enclosure in the reply.
-Furthermore,
-the \pgm{post} program may use a display template to format the body of a
-blind-carbon-copy.
-An example of a display template used for formatting forwarded messages
-is shown in Figure~\mhlforward.
-
-As with reply templates,
-display templates can offer a lot of functionality.
-For example,
-the one line display template:
-\example
-    body:nocomponent,overflowtext=,overflowoffset=0,width=10000%
-\endexample
-can be used to extract the body of a message,
-while ignoring the headers.
-Hence,
-if a \pgm{shar} archive arrived in the mail,
-a convenient way to unpack it,
-assuming the above display template was called \file{mhl.body},
-would be:
-\example show\ -form\ mhl.body\ |\ sh\endexample
-
-The biggest win with display templates,
-of course,
-is that all those annoying header lines which mailers
-everywhere generate can be simply and easily filtered out.
-
-\subsection{Modularity versus Monolithicity}   % jlr
-Since \MH/ is a set of programs
-which perform separate tasks,
-as opposed to being a single, monolithic program,
-the power of the shell is used directly to aid in mail-handling.
-One powerful capability which this design achieves is the ability to extend
-the \MH/ command set,
-by developing shell scripts which use the standard \MH/
-programs to accomplish complicated or specialized tasks.
-
-\tagdiagram{7}{The \pgm{mpick} Script}{mpick}
-For example,
-in the \MH/ distribution there is a shell script
-called \pgm{mpick} (shown in Figure~\mpick)
-which tries to locate all the messages which pertain to a given discussion,
-by looking at the \eg{Message-ID:} and \eg{In-reply-to:} headers,
-to find matching message-ids.%
-\nfootnote{Note that the shell scripts included in the \MH/ distribution
-are written for the {\it Bourne} shell,
-and have a `:' as the first character of the first line,
-so they will be portable to all versions of \unix/,
-not just those which support the
-Berkeley `\#!' enhancement.}
-
-\tagdiagram{8}{The \pgm{append} Editor}{appended}
-Unfortunately, some parts of \MH/ are somewhat monolithic.
-An example of this is the \whatnow/ prompt.
-There are only a few options at this prompt,
-and one cannot give a normal shell command.
-Some \MH/ users seem to feel that more options should be added to
-the \whatnow/ prompt, such as an \pgm{insert-file} option.
-It was argued that just about any editor would allow you to 
-insert a file, and another \whatnow/ option was not needed.
-These users persisted, however, so the
-problem was solved, by writing a trivial shell
-script ``editor'' (see Figure~\appended)
-which could be invoked by the \pgm{edit} option:
-\example What now?\ edit\ append\ filename\endexample
-
-A better interface at this point is really needed, however.
-One possibility is to simply pass any unrecognized commands on
-to a shell for interpretation, supplying the path name of the draft file
-as an argument.
-A solution which shows more promise is to give you a sub-shell
-{\it instead} of the \whatnow/ prompt,
-and setup certain envariables so that
-the \MH/ commands would act upon the \file{draft} by default.
-For example, \pgm{show} with no \arg{msgs} arguments
-would show the draft instead of the current message.
-This alternative has recently been implemented and is under testing.
-
-\section{The \MH/ Distribution}                        % mtr
-The \mh5 distribution is now briefly described,
-both in terms of static configuration methods
-and dynamic tailoring.
-Appendix~B describes the mechanics of receiving an \mh5 distribution.
-
-\subsection{Configurable \MH/}                 % jlr
-The \MH/ distribution currently runs on a large number of different \unix/
-versions,
-ranging from MicroSoft XENIX to Berkeley 4.2\bsd/.
-All the code which is specific to a particular target environment is
-enabled via the C-preprocessor \eg{\#ifdef} mechanism,
-so compilation under different versions of \unix/ is trivial.
-There are,
-however,
-a large number of compile-time options which may vary from site to site,
-so an automated configuration method was needed.
-
-\tagdiagram{9}{Sample \MH/ Configuration File}{mhconfig}
-The \MH/-installer must create a configuration file,
-which contains a list of the compile-time options
-and the values which are desired for them.
-Compile-time options include the installation location for \MH/,
-what kind of message transport system is to be used,
-and the default editor for the installation.
-An example of such a configuration file is shown in Figure~\mhconfig.
-
-After creating this file (several examples are included in the distribution),
-the installer runs the \pgm{mhconfig} program,
-which customizes the \file{Makefile\/}s and some of the programs,
-for that site's particular installation.
-No hand-editing of any source code should be necessary,
-under normal circumstances.
-
-\subsection{Interface to the Message Transport System} % jlr & mtr
-\MH/ will run with a number of message transport systems,
-including \SendMail/, \MMDFII/, and a small stand-alone system.
-One flexible method of posting mail is through an SMTP connection.
-There are a couple of major wins in using this configuration: 
-First,
-none of the \MH/ programs need to know where the interface programs to
-the message transport system are located,
-which makes them easier to move between systems.
-Second,
-mail can be posted on relay hosts,
-and the local host of an \MH/ user may not need a message transport system at
-all (as alluded to in the preceeding discussion on the POP).
-
-\tagdiagram{10}{Sample MTS Tailor File}{mtstailor}
-Those parts of \MH/ which interact with the local message transport agent
-read additional tailoring information when they start.%
-\nfootnote{This simple facility is based on a more extensive
-tailoring capability found in \MMDFII/.}
-This information includes
-the location of standard and alternate maildrops,
-maildrop delimiter strings,
-the locking directory and locking style,
-and other tailoring information specific for the particular
-message transport system in use
-(e.g., the default server search-list when mail is posted with the SMTP).
-In most cases,
-by using a tailor file,
-each site running a similar \MH/ configuration is able to simply transfer
-\MH/ binaries between hosts.
-An example of such a tailor file is shown in Figure~\mtstailor.
-
-A continuing question which is often raised is how intelligent should user
-agents (like \MH/ and UCB \pgm{Mail}\/) be with respect to the environment in
-which they operate.
-At present, \MH/ likes to determine 
-the official hostnames for addresses when posting mail.
-Many argue that this is improper or unnecessary behavior for a user agent,
-and that the local message transport agent should handle these functions.
-Unfortunately,
-this implies that the message transport agent should munge headers when mail
-is posted to remove local host aliases and only permit address fields with
-fully-qualified addresses.
-Sadly, neither \SendMail/ nor \MMDFII/ really gets this right
-(flames to \file{/dev/null} please).
-The current \MH/ maintainers believe that the resolution of host aliases to
-official names should be a well-supported interface with the local message
-transport agent.
-However, to provide equal time to those who hold opposite views,
-\MH/ supports a configuration option called \eg{DUMB} which disables \MH/'s
-attempts to resolve addresses into fully-qualified strings.
-
-\section{Concluding Remarks}                   % jlr and mtr
-While \MH/ has undergone significant development since
-the original
-Rand release, the authors have
-tried to keep the fundamental concepts of
-\MH/ unchanged.
-                                               % specific vs. general
-The authors have continually had to battle against
-well-meaning \MH/ users who wanted to make \MH/
-more like other (less powerful) user agents.
-More and more ``features'' were often suggested for \MH/,
-usually at the expense of making \MH/ less general, and more specific.
-In nearly all cases, the ``features'' which these users wanted
-were already present in \MH/ in a slightly different form,
-or could be realized by simply writing a short shell script.
-A classic example is the repeated requests by one user to have \pgm{dist}
-take a list of messages rather than a single message and distribute each one
-of them in turn.
-A simple shell script which called \pgm{dist} repeatedly,
-perhaps with ``canned'' arguments so the user typed in addressing information
-only once, would easily meet this request.
-
-                                               % generality
-A number of \MH/ comands have a large number of options.
-When adding options, the authors have tried to make the options
-general, while still accomodating the requests of specific users.
-An example of a specific request which was implemented as a
-general feature is the \eg{Previous-Sequence} profile entry
-(mentioned above).
-If you use this profile entry, every \MH/ command is forced to write
-out \context/ changes, making every command somewhat slower.
-Since only a few users wanted this capability, it was implemented
-in such a way that users who didn't want it, didn't have to pay
-the cost of slowing down every \MH/ command.
-
-                                               % naive user :: MH
-\MH/ has a powerful tailoring capability provided by the \profile/.
-Using profile entries, users may
-customize their own environment without affecting others.
-Novice users often take advantage of the \MH/-tailoring
-capabilities to try to make \MH/ work similarly to
-other user agents they've used.
-This has the advantage of allowing them to quickly begin
-using \MH/ to handle their mail.
-However, since these novice users don't take advantange of all the
-capabilities of \MH/,
-they frequently will complain about things they think can't
-be done with \MH/, or could be done ``better'' some other way.
-Fortunately,
-as these users become more experienced with both \MH/ and \unix/,
-they can modify their environment to take better advantage of
-all of \MH/'s capabilities.
-Novice \MH/ users who see features lacking
-are encouraged to take a better look at what \MH/ {\it can} do,
-instead of trying to make \MH/ into something it isn't.
-This may sound rather inflammatory,
-but it would really be a much nicer world for us all if users of software
-systems would read the manual prior to asking questions.
-
-                                               % speed consideration
-For a moment, let's consider the evolution of one \MH/ feature which has
-proved itself to be very useful.
-As users began employing \MH/ to handle their mail,
-the number of messages that could be processed
-in a given amount of time increased greatly.
-As the volume of messages increased however,
-it became clear that some \MH/ operations were too slow,
-in particular the interaction with the (slow) message transport system.
-To overcome this problem, the \pgm{push} option
-was added at the \whatnow/ prompt.
-Originally, this option was hidden from novice users
-and did little more than send the message in the background:
-any output generated by
-the background \pgm{send} process would be printed
-asyncronously on the terminal.
-If a message failed posting with the message transport system,
-it would simply be left in the \file{draft} file.
-
-Gradually, other features were added to \pgm{push}.
-Since users wanted to be able to send more than one draft
-at a time, \pgm{push} was changed to optionally
-rename the draft file before posting it.
-(This is what the hidden \switch{unique} option does.)
-Having message transport system diagnostics
-written asyncronously on the user's terminal was annoying,
-so \pgm{push} was made to intercept these diagnostics,
-and mail the user a report containing them.
-Although the diagnostic report mailed back by \pgm{push} contains
-the name of the draft which failed,
-a useful added feature was the ability to have \pgm{push}
-include the failed draft as well.
-Eventually, the draft-folder mechanism was implemented to make
-handling multiple message drafts much easier.
-
-
-\subsection{TODO}                              % mtr
-There are, no doubt, a number of improvements which could be made to \MH/.
-At the present time,
-what further development should \MH/ suffer?
-Although not by any means inclusive,
-here's a list:
-\smallskip
-{\advance\leftskip by\parindent
-\item{1.} Performance Enhancements\hbreak
-Hardware gets faster all the time, but people always complain that software
-is too slow.
-Owing to its user interface style,
-\MH/ is somewhat slower than monolithic programs like UCB \pgm{Mail}.
-It would be nice if \MH/ could be tuned or accelerated somehow.
-
-\item{2.} Port to System~5\hbreak
-\MH/ runs on 4.2\bsd/~\unix/ and Version~7 variants.
-It should not be difficult to port \MH/ to a SYS5 environment.
-This should significantly increase the number of hosts
-on which \MH/ can run.
-The authors,
-lacking a SYS5 machine (and experience with SYS5) to perform the port,
-are actively seeking a System~5 guru to attempt this feat.
-
-\item{3.} Interface to the Network News\hbreak
-Not all sites that run \MH/ are in the ARPA Internet,
-and as such the UCI BBoards facility may not be of much use to them.
-A good \MH/ interface to the network news would allow users on hosts with a
-news feed to employ the same interface for reading and sending both mail and
-news.
-
-\item{4.} Programmed Instruction for Beginners\hbreak
-The complexity of \MH/ is often intimidating to new users.
-It would be nice to develop a set of \pgm{learn} lessons for those users who
-don't like \pgm{man} pages and non-interactive tutorials.
-
-\item{5.} Message List Expansion\hbreak
-At present, when a list of messages is given to an \MH/ command,
-it expands the list and processes each message in numerical order
-rather than the order in which the messages were given
-(e.g., \eg{show\ 2\ 1} \pgm{show\/}s message~1
-and then message~2).
-It would be nice if \MH/ processed messages in the order
-they were given.
-
-\item{6.} Context Changes\hbreak
-In nearly all cases,
-an \MH/ command does not write out context changes until it is about to exit
-successfully.
-There is some controversy as to whether this is the correct behavior
-in all cases.
-Some argue that once an \MH/ command has fully parsed its argument list,
-the context should be updated.
-\par}
diff --git a/docs/historical/realwork/version b/docs/historical/realwork/version
deleted file mode 100644 (file)
index 920a139..0000000
+++ /dev/null
@@ -1 +0,0 @@
-43
diff --git a/docs/historical/realwork/version.sh b/docs/historical/realwork/version.sh
deleted file mode 100644 (file)
index 9ec1e79..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-if [ ! -r version ]; then echo 0 > version; fi
-touch version
-echo '\catcode`\#=12' > version.tex
-awk '  { version = $1 + 1; }\
-END    { printf "\\def\\versiontag/{#1.%d}%%\n", version >> "version.tex"; \
-         printf "%d\n", version > "version"; }' < version
-echo '\def\versiondate/{'`date`'}%' >> version.tex
-echo '\catcode`\#=6' >> version.tex
-echo '\tell{Version \versiontag/ of \versiondate/}' >> version.tex
diff --git a/docs/historical/realwork/version.tex b/docs/historical/realwork/version.tex
deleted file mode 100644 (file)
index 57ae70c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\catcode`\#=12
-\def\versiontag/{#1.43}%
-\def\versiondate/{Tue Apr 30 08:38:26 PDT 1985}%
-\catcode`\#=6
-\tell{Version \versiontag/ of \versiondate/}
diff --git a/docs/historical/trusted/Makefile b/docs/historical/trusted/Makefile
deleted file mode 100644 (file)
index 33c7f8e..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#######################################################################
-# Instructions to Make, for generation of nice-looking papers using TeX
-#######################################################################
-
-.SUFFIXES:     .pic .web .tex .dvi .imp
-
-.pic.tex:;     tpic $<
-
-.web.tex:;     sh -c 'if weave $<; then exit 0; else rm $@; exit 1; fi'
-
-.tex.dvi:;     sh -c 'if TEXINPUTS=../doclib:.:${TEXINPUTS} tex \
-                       \\nonstopmode\\input $<\\bye; \
-                         then exit 0; else rm $@; exit 1; fi'
-
-.dvi.imp:;     dviimp $(DFLAGS) -i $@ $<
-
-
-#############################################################
-# Here it is...
-#############################################################
-
-all:           i-all
-print:         i-print
-
-
-#############################################################
-# trusted
-#############################################################
-
-i-all:         trusted.dvi
-
-i-print:       trusted.dvi true
-               dvisp $(DFLAGS) -J Trusted trusted.dvi
-
-
-# customization files, et. al., not included below
-trusted.dvi:   version.tex
-
-version.tex:   trusted.tex \
-               text.tex \
-                       figure1.tex figure2.tex figure3.tex table4.tex \
-               appendixA.tex \
-                       diagramA1-1.tex diagramA1-2.tex diagramA1-3.tex \
-                       diagramA1-4.tex \
-               appendixB.tex \
-                       diagramB1-1.tex diagramB1-2.tex \
-               appendixC.tex refs.tex \
-               version.sh
-               @: version.sh
-
-true:;
-
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-               rm -f trusted.dvi trusted.imp
-
-clean:;                rm -f trusted.lof trusted.log trusted.lot trusted.toc _*
diff --git a/docs/historical/trusted/appendixA.tex b/docs/historical/trusted/appendixA.tex
deleted file mode 100644 (file)
index 694be57..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-% appendix A
-
-\appendix{A}{An MH Session}
-
-\tagdiagram{A1-1}{Sending Encrypted Mail}{sendmail}
-In the following,
-the user \eg{Marshall\ T.\ Rose} logged onto host \eg{udel-dewey},
-wishes to send a message to a user known as
-the \eg{UCI\ Portal} (a system maintenance account).
-As shown in Figure~\sendmail, line~1,
-the user first establishes a mapping between the name \eg{UCI\ Portal} and
-the address {\tx uci@udel-dewey}.
-Once this mapping is performed,
-it remains in effect until the user indicates otherwise to the \TMA/.
-When the \pgm{tma} program is invoked,
-it consults the \TMA/ database to see if that user is known.
-If not,
-it contacts the \KDS/ to ask for the \KDS/ ID associated with the user.
-If the response is successful (in this case, the \KDS/ ID is \eg{3}),
-then the \TMA/ updates its database.
-The \pgm{tma} program indicates in its output the \KDS/ ID associated with
-the user,
-along with all known addresses (in this case, only one).
-So, once the name to address mapping has been described the user,
-the user agent, \MH/, deals only with the address,
-while the trusted mail agent deals with the name and \KDS/ ID aspects of the
-user.
-
-Next, the \pgm{comp} program is invoked to compose a new draft on line~5.
-The user addresses the local user \eg{uci} in the To: field,
-and indicates that a plaintext copy should be kept in the folder \eg{+outbox}.
-After entering the subject and text of the draft,
-the user enters \whatnow/ level on line~13.
-At this point,
-the user directs \MH/ to send the draft in encrypted form.
-The resulting output is verbose (a default for \pgm{send} for this user)
-but instructive.
-Initially,
-all addresses in the draft are verified on lines~14 to~17.
-Two forms of verification occur:
-first, the \MTS/ is asked to verify the address as much as possible.
-For local addresses,
-the \MTS/ decides if the name has a maildrop associated with it.
-For remote addresses,
-the \MTS/ decides if the host is known to it.
-The second type of verification occurs with the \TMA/.
-For all addresses,
-the \TMA/ is asked if it can find a mapping from the address to a \KDS/ ID.
-
-The reason \MH/ goes to all this trouble is a philosophical issue.
-Since the copy of the encrypted draft is different for each recipient,
-\pgm{post} tries to verify that all recipients can be successfully posted
-prior to actually posting the different ciphertext versions of the draft.
-This behavior is not optimal in terms of cycles,
-but is perhaps ``correct'' from a \UA/ perspective.
-
-Finally, the draft is actually posted, and the folder carbon-copy is filed.
-
-\tagdiagram{A1-2}{Receiving Encrypted Mail}{recvmail}
-Some time later, the UCI portal is informed that new mail has arrived.
-As shown in Figure~\recvmail,
-the \pgm{inc} program is run.
-The \eg{E} prior to the date of the message indicates that \pgm{inc} has
-detected the message to be encrypted.
-Since the user did not inhibit \pgm{inc} from deciphering the message,
-it proceeds to do so.
-
-\tagdiagram{A1-3}{Message Prior to Decryption}{before}
-\tagdiagram{A1-4}{Message After Decryption}{after}
-Finally, it may be instructive to see what the encrypted message looked like
-when it was delivered to the portal's maildrop,
-and the final message after deciphering.
-Figures~\before\ and~\after\ show these respectively.
-In particular,
-note that the \eg{X-KDS-ID:} field has been introduced in Figure~\after\
-after successfully deciphering the message.
-The presence of this field authenticates the sender of the message.
diff --git a/docs/historical/trusted/appendixB.tex b/docs/historical/trusted/appendixB.tex
deleted file mode 100644 (file)
index 8881435..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-% appendix B
-
-\appendix{B}{A Short Exchange}
-
-The simple nature of the interchange between the user and \MH/
-in Appendix~A completely hides any interactions between the \TMA/
-and the \KDS/.
-Let us briefly examine an exchange that might occur
-after the destination \TMA/ receives the message shown in Figure~\before.
-
-To begin,
-the \TMA/ must ascertain what it knows about the sender of the message,
-which claims to have a \KDS/ ID of~17.
-That is,
-the \TMA/ must first consider what key relationships it has with the sender.
-For the sake of argument,
-suppose that this purported subscriber is unknown to the \TMA/.
-In this case,
-the first step it must undertake is to ascertain the validity of this
-subscriber.
-
-\tagdiagram{B1-1}{Ascertaining the Sender}{rui}
-As shown in Figure~\rui\ on lines~1--7,
-the \TMA/ does this by establishing a connection to the \KDS/ and issuing an
-{\it request identified user} (RUI) MCL.%
-\nfootnote{In point of fact,
-the {\it very} first thing that the \TMA/ does after connecting to the \KDS/
-is verify that the key relationships between the \KDS/ and the \TMA/ are
-valid (have not expired).
-If the key relationship between the two has expired,
-the \TMA/ issues a {\it request service initialization} RSI MCL to
-establish a new key relationship.
-This relationship contains a {\it key-encrypting key} (KK)
-and an {\it authentication key} (KA).
-Once a valid key relationship exists between the \KDS/ and the \TMA/,
-transactions concerning other key relationships may take place.}
-If the response by the \KDS/ is positive,
-the \TMA/ will use the information returned when generating the
-\eg{X-KDS-ID:} field for authentication.
-The response \CSM/ returned by the \KDS/ includes
-an {\it authentication checksum} (the MAC field on line~15)
-and a {\it transaction count} (the CTA field on line~12)
-to prevent spoofing by a process pretending to be the \KDS/.
-The \TMA/ then acknowledges that the response from the server was acceptable
-on lines~18--24.
-
-The next step is to ascertain the actual key relationship used to encrypt the
-structure $m$, which appears after the identifying string.
-The \TMA/ consults the IDK field in $m$,
-and if this relationship is unknown to it,
-then the \KDS/ is asked to disclose the key relationship.
-
-\tagdiagram{B1-2}{Ascertaining the Key Relationship}{rsi}
-As shown in Figure~\rsi\ on lines~1--9,
-This is done by issuing a {\it request service initialization} (RSI) MCL
-and specifying the particular key relationship of interest.
-The \KDS/ consults its database,
-and if the exact key relationship between the two indicated \TMA/s can be
-ascertained,
-it returns this information.
-The key relationship
-is encrypted using the key relationship between the \KDS/ and the \TMA/,
-and the usual count and authentication fields are included.
-
-Once the \TMA/ knows the key relationship used to encrypt the structure $m$,
-it can decider the structure and ascertain the KD/IV/KA triple used to
-encrypt the body of the message.
-
-%      <--- (
-%      <--- MCL/RSI
-%      <--- ORG/3
-%      <--- KDC/TTI
-%      <--- SVR/*KK.KD
-%      <--- EDC/dabfdb4c
-%      <--- )
-%      ---> (
-%      ---> MCL/RTR
-%      ---> ORG/3
-%      ---> *KK/926b876cafce46cd365382c36a40fa80
-%      ---> CTA/1
-%      ---> KD/1eea5394e6ad1b75
-%      ---> KD/6c95c8d2caa75807
-%      ---> EDK/850618075827
-%      ---> KDC/TTI
-%      ---> MAC/501f71b6
-%      ---> EDC/5bd7b2d0
-%      ---> )
-%      <--- (
-%      <--- MCL/ACK
-%      <--- ORG/3
-%      <--- KDC/TTI
-%      <--- EDC/db46ce7e
-%      <--- )
diff --git a/docs/historical/trusted/appendixC.tex b/docs/historical/trusted/appendixC.tex
deleted file mode 100644 (file)
index e3b043e..0000000
+++ /dev/null
@@ -1,151 +0,0 @@
-% appendix C
-
-\appendix{C}{Differences between the ANSI and TTI drafts}
-
-The differences between the \ansi/ draft standard for
-financial institution key management,
-and the \TTI/ draft's specification for trusted mail handling,
-are considered.
-
-The concept of a {\it key distribution center}
-(\CKD/ in the \ansi/ draft, \KDC/ in the \TTI/ draft)
-environment differs.
-In the \ansi/ draft,
-only one party talks to the {\it key distribution server} (\KDS/);
-in the \TTI/ draft,
-both parties talk to the \KDS/.
-This leads to a number of differences in the two protocols.
-The reason for this shift in the \TTI/ draft is somewhat subtle:
-although both parties can talk to the \KDS/,
-the {\it mail transfer system} (\MTS/)
-environment is such that both {\it user agents} (\UA/s) are unable to
-contact each other in real-time.
-Hence, a detailed two-way protocol between them is prohibitively expensive.%
-\nfootnote{In the words of Einar A.~Stefferud:
-``Every interesting connection has at least two end-points~---~connections
-with only one end-point are always uninteresting.''}
-
-Before discussing the differences between the two drafts,
-let us consider the differences in the two environments:
-in the electronic mail environment,
-the two end-to-end peers need not be simultaneously online.
-Electronic mail relies on a communication service with potentially large
-delays in transit between {\it message transfer agents} (\MTA/s).
-A basic concept of ``mail'' is that an originator must release the enveloped
-message to a ``transfer agent'' before delivery can be attempted to a
-recipient.
-In contrast,
-in the electronic funds environment,
-the two peers make use of a virtual-circuit service.
-This means that they can synchronize much easier
-and inter-operate in a more direct fashion.
-
-Service protocols are based on the notion of requests and responses.
-A client issues a request to a server,
-the server processes the request and returns a response.
-Depending on the complexity of the protocol,
-the client may now respond to the server's message,
-or might issue a new request,
-or might terminate the connection.
-
-As delays in the network increase,
-along with the possibility of loss or corruption or re-ordering of messages,
-it becomes more difficult to implement a service protocol.
-In the case of a high-level protocol making use of a virtual-circuit service,
-most problems can be ignored,
-as the virtual-circuit service masks out problems in the network
-by using sequences, positive (and/or negative) acknowledgments, windows,
-and so on.
-
-Sadly, electronic mail cannot utilize a virtual-circuit throughout the \MTS/
-(although individual \MTA/-wise connections are (in theory) virtual-circuit
-based).
-This means that implementing a real-time or interactive
-service protocol between two endpoints (a.k.a.~\UA/s)
-in the \MTS/ is very difficult.
-As a result,
-the complexity of an end-to-end protocol in the \MTS/
-(in terms of requests and responses)
-is severely constrained.
-For all practical purposes,
-an \MTA/ can assume datagram service and nothing else:
-messages might be re-ordered;
-messages might not reach their destination;
-messages might be corrupted (though this is unlikely);
-in cases of failure, a notice might be generated, or might not.
-
-In terms of the environment in which {\it cryptographic service messages}
-(\CSM/s) must flow,
-the high degree of delay and uncertainty make the implementation of a complex
-end-to-end protocol between \UA/s prohibitively expensive.
-Hence, a \KDC/ is needed,
-to which each \UA/ can connect using a virtual-circuit service,
-at posting and delivery time.
-The \TTI/ draft terms such a user agent a {\it trusted mail agent} (\TMA/).
-Since both \TMA/s can connect to the \KDS/ at different times using different
-media,
-the \KDS/ maintains state information about the key relationships between
-different \TMA/s and manages those relationships appropriately.
-Since connections to the \KDS/ can be expensive in terms of resources,
-each \TMA/ caches information received from the \KDS/ appropriately.
-
-That's the gist of the argument as to why the \TTI/ draft differs from the
-\ansi/ draft.
-It might be possible to include \CSM/s in the messages which \UA/s exchange,
-but management of these \CSM/s can not be done reliably or in a straightforward
-fashion owing to the datagram nature of the service offered by the \MTS/.
-Finally, it should be noted that in the \TTI/ draft,
-the \KDS/ never initiates a connection with a \TMA/,
-rather it is the \TMA/s which connect to the \KDS/.
-
-In the following,
-the differences between the two drafts are highlighted.
-Minor differences between the two are not discussed.
-
-In the \ansi/ draft,
-$\S 4.2$ (p.~22) discusses the requirements for the automated key
-management architecture.
-The \TTI/ draft has somewhat more ``depth'',
-since the \ansi/ draft does not make use of a {\it master key} (MK)
-to fully automate the distribution of {\it key-encrypting keys} (KK).
-
-The \ansi/ draft states that once a KK-relationship is discontinued by either
-of that pair,
-the relation is not to be re-used for any subsequent activity.
-This can't be guaranteed in the prototype implementation.
-If one of the \TMA/s wishes to discontinue a key,
-not only does it have to inform the \KDS/,
-but the other \TMA/ as well.
-Since the \TTI/ draft does not permit \CSM/s between \TMA/-peers,
-the latter action doesn't seem possible.
-However, there is a solution.
-Whenever a message is deciphered,
-the \TMA/ checks the effective date of the key used to
-encrypt a message it has received,
-and if the key is newer than the one it currently uses,
-it considers the older key to be discontinued.
-
-Furthermore,
-although the environment in the \TTI/ draft is that of a key distribution
-center,
-the notion of an {\it ultimate recipient} is not present,
-since all clients connect to the \KDS/ at one time or another.
-In addition,
-the differences between the environs envisioned by the two drafts
-become even more pronounced when one considers that the \KDS/ distributes
-key-encrypting keys to \TMA/s,
-although the \ansi/ draft specifically prohibits this.
-
-Finally,
-there is another important technical difference between the two
-drafts:
-every request to the \KDS/ by the \TMA/
-results in a specifically defined response from the \KDS/ to the \TMA/.
-Furthermore,
-if the \KDS/ responds in a positive manner,
-then the \TMA/ acknowledges this.
-This three-way interaction is used to ensure consistency between the states
-of the \KDS/ and the \TMA/.
-The \ansi/ draft does not require such behavior,
-and might profit from some finite-state analysis to ascertain unsafe
-(in terms of correctness) states which are reachable.
diff --git a/docs/historical/trusted/diagramA1-1.tex b/docs/historical/trusted/diagramA1-1.tex
deleted file mode 100644 (file)
index 0dc088f..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-% diagram A1-1
-
-\verbatimlines
-% tma -add -user "UCI Portal" uci@udel-dewey
-3: "UCI Portal"
-    uci@udel-dewey
-
-% comp
-To: uci
-Fcc: +outbox
-Subject: test message
---------
-mumble, mumble.
-^D
-
-What now?? send -encrypt
- -- Address Verification --
-  -- Local Recipients --
-  uci: address ok
- -- Address Verification Successful --
- -- Posting for All Recipients --
-  -- Local Recipients --
-  uci: address ok
- -- Recipient Copies Posted --
- -- Filing Folder Copies --
-  Fcc outbox: folder ok
- -- Folder Copies Filed --
-Message Processed
-?endverbatim
diff --git a/docs/historical/trusted/diagramA1-2.tex b/docs/historical/trusted/diagramA1-2.tex
deleted file mode 100644 (file)
index 3918ef1..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-% diagram A1-2
-
-\verbatimlines
-% inc
-Incorporating new mail into inbox...
-
-   1+E02/28 0227-EST mrose             test message  <<ENCRYPTED MESSAGE: TTI
-
-Incorporating encrypted mail into inbox...
-
-   1+ 02/28 0227-EST mrose             test message  <<mumble, mumble. >>
-?endverbatim
diff --git a/docs/historical/trusted/diagramA1-3.tex b/docs/historical/trusted/diagramA1-3.tex
deleted file mode 100644 (file)
index 342f37e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-% diagram A1-3
-
-\verbatim
-Received: From localhost.DELAWARE by udel-dewey.DELAWARE id a022713
-          ;28 Feb 85 2:27 EST
-To: uci@udel-dewey
-Subject: test message
-Date: 28 Feb 85 02:27:16 EST (Thu)
-Message-ID: <4057.478423636@udel-dewey>
-From: mrose@udel-dewey
-
-ENCRYPTED MESSAGE: TTI TMA
-(
-MCL/MAIL
-RCV/3
-ORG/17
-IDK/850228072730
-KD/e36813a3882eebd1
-KD/fa8b8ac657476669
-IV/Ef9d283565431b103
-MIC/fdb927fb
-MAC/50e9de30
-)
-a13774f652d844762c4fc03c2f4e201b9d2f57eadb00546c
-?endverbatim
diff --git a/docs/historical/trusted/diagramA1-4.tex b/docs/historical/trusted/diagramA1-4.tex
deleted file mode 100644 (file)
index 8d5a2e8..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-% diagram A1-4
-
-\verbatim
-Received: From localhost.DELAWARE by udel-dewey.DELAWARE id a022713
-          ;28 Feb 85 2:27 EST
-To: uci@udel-dewey
-Subject: test message
-Date: 28 Feb 85 02:27:16 EST (Thu)
-Message-ID: <4057.478423636@udel-dewey>
-From: mrose@udel-dewey
-X-KDS-ID: 17 (Marshall T. Rose)
-
-mumble, mumble.
-?endverbatim
diff --git a/docs/historical/trusted/diagramB1-1.tex b/docs/historical/trusted/diagramB1-1.tex
deleted file mode 100644 (file)
index 6f802c0..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-% diagram B1-1
-
-\verbatimlines
-<--- (
-<--- MCL/RIU
-<--- RCV/17
-<--- ORG/3
-<--- KDC/TTI
-<--- EDC/1a1fbbba
-<--- )
----> (
----> MCL/RTR
----> RCV/17
----> ORG/3
----> CTA/1
----> USR/"Marshall T. Rose"
----> KDC/TTI
----> MAC/2ebde134
----> EDC/96b183de
----> )
-<--- (
-<--- MCL/ACK
-<--- RCV/17
-<--- ORG/3
-<--- KDC/TTI
-<--- EDC/59a8ddcc
-<--- )
-?endverbatim
diff --git a/docs/historical/trusted/diagramB1-2.tex b/docs/historical/trusted/diagramB1-2.tex
deleted file mode 100644 (file)
index c90c52d..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-% diagram B1-2
-
-\verbatimlines
-<--- (
-<--- MCL/RSI
-<--- RCV/17
-<--- ORG/3
-<--- IDK/850228072730
-<--- KDC/TTI
-<--- SVR/KD.IV.KK
-<--- EDC/83679e14
-<--- )
----> (
----> MCL/RTR
----> RCV/17
----> ORG/3
----> KK/095f9d6b87f57871
----> CTA/2
----> KD/527fbb5593efd318
----> KD/1dcab338be1e7a09
----> IV/E02db5e598b2823ae
----> EDK/850618075332
----> KDC/TTI
----> MAC/12cbbdf5
----> EDC/8cd0c4a8
----> )
-<--- (
-<--- MCL/ACK
-<--- RCV/17
-<--- ORG/3
-<--- KDC/TTI
-<--- EDC/59a8ddcc
-<--- )
-?endverbatim
diff --git a/docs/historical/trusted/figure1.pic b/docs/historical/trusted/figure1.pic
deleted file mode 100644 (file)
index e7ecd77..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-.PS 5.9i
-## figure 1
-C1:    ellipse "\UA/"
-B1:    box "\MTA/" with .n at (C1.s.x, C1.s.y-3*lineht)
-B8:    box "\MTA/" with .w at (B1.e.x+linewid, B1.e.y)
-B2:    box invis "$\ldots$" with .w at (B8.e.x+linewid, B1.e.y)
-B9:    box invis "$\ldots$" with .w at (B2.e.x+linewid, B1.e.y)
-B3:    box "\MTA/" with .w at (B9.e.x+linewid, B1.e.y)
-C2:    ellipse "\UA/" with .s at (B3.n.x, C1.s.y)
-##
-       arrow from C1.s to B1.n
-       arrow from B1.e to B8.w
-       arrow from B8.e to B2.w
-       arrow from B2.e to B9.w
-       arrow from B9.e to B3.w
-       arrow from B3.n to C2.s
-##
-B4:    box width B3.e.x+linewid/3-(B1.w.x-linewid/3) \
-           height 3*boxht \
-           with .c at B2.c
-       move to (B4.n.x, B4.n.y-lineht/2); "\MTS/"
-##
-       line dashed "POSTING" "" \
-               from (B4.w.x-linewid, B4.n.y+lineht/2) \
-               to   (C1.s.x, B4.n.y+lineht/2)
-       line dashed "RECEIPT" "" \
-               from (B4.e.x+linewid, B4.n.y+lineht/2) \
-               to   (C2.s.x, B4.n.y+lineht/2)
-       move to ((B2.e.x+B9.w.x)/2, B2.s.y); "RELAYING"
-##
-.PE
diff --git a/docs/historical/trusted/figure1.tex b/docs/historical/trusted/figure1.tex
deleted file mode 100644 (file)
index a60d07d..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-\catcode`@=11
-\expandafter\ifx\csname graph\endcsname\relax \alloc@4\box\chardef\insc@unt\graph\fi
-\catcode`@=12
-\setbox\graph=\vtop{%
-  \baselineskip=0pt \lineskip=0pt \lineskiplimit=0pt
-  \vbox to0pt{\hbox{%
-    \special{pn 8}%
-    \special{ar 866 207 311 206  0.000  6.283}%
-    \rlap{\kern  0.866in\lower 0.247in\hbox to 0pt{\hss \UA/\hss}}%
-    \special{pa 554 2081}%
-    \special{pa 554 1665}%
-    \special{pa 1179 1665}%
-    \special{pa 1179 2081}%
-    \special{pa 554 2081}%
-    \special{fp}%
-    \rlap{\kern  0.866in\lower 1.913in\hbox to 0pt{\hss \MTA/\hss}}%
-    \special{pa 1595 2081}%
-    \special{pa 1595 1665}%
-    \special{pa 2220 1665}%
-    \special{pa 2220 2081}%
-    \special{pa 1595 2081}%
-    \special{fp}%
-    \rlap{\kern  1.907in\lower 1.913in\hbox to 0pt{\hss \MTA/\hss}}%
-    \rlap{\kern  2.948in\lower 1.913in\hbox to 0pt{\hss $\ldots$\hss}}%
-    \rlap{\kern  3.989in\lower 1.913in\hbox to 0pt{\hss $\ldots$\hss}}%
-    \special{pa 4718 2081}%
-    \special{pa 4718 1665}%
-    \special{pa 5343 1665}%
-    \special{pa 5343 2081}%
-    \special{pa 4718 2081}%
-    \special{fp}%
-    \rlap{\kern  5.030in\lower 1.913in\hbox to 0pt{\hss \MTA/\hss}}%
-    \special{ar 5030 207 311 206  0.000  6.283}%
-    \rlap{\kern  5.030in\lower 0.247in\hbox to 0pt{\hss \UA/\hss}}%
-    \special{pa 866 415}%
-    \special{pa 866 1665}%
-    \special{fp}%
-    \special{pa 846 1581}%
-    \special{pa 866 1665}%
-    \special{fp}%
-    \special{pa 887 1581}%
-    \special{pa 866 1665}%
-    \special{fp}%
-    \special{pa 1179 1873}%
-    \special{pa 1595 1873}%
-    \special{fp}%
-    \special{pa 1512 1894}%
-    \special{pa 1595 1873}%
-    \special{fp}%
-    \special{pa 1512 1852}%
-    \special{pa 1595 1873}%
-    \special{fp}%
-    \special{pa 2220 1873}%
-    \special{pa 2636 1873}%
-    \special{fp}%
-    \special{pa 2553 1894}%
-    \special{pa 2636 1873}%
-    \special{fp}%
-    \special{pa 2553 1852}%
-    \special{pa 2636 1873}%
-    \special{fp}%
-    \special{pa 3261 1873}%
-    \special{pa 3677 1873}%
-    \special{fp}%
-    \special{pa 3594 1894}%
-    \special{pa 3677 1873}%
-    \special{fp}%
-    \special{pa 3594 1852}%
-    \special{pa 3677 1873}%
-    \special{fp}%
-    \special{pa 4302 1873}%
-    \special{pa 4718 1873}%
-    \special{fp}%
-    \special{pa 4635 1894}%
-    \special{pa 4718 1873}%
-    \special{fp}%
-    \special{pa 4635 1852}%
-    \special{pa 4718 1873}%
-    \special{fp}%
-    \special{pa 5030 1665}%
-    \special{pa 5030 415}%
-    \special{fp}%
-    \special{pa 5051 499}%
-    \special{pa 5030 415}%
-    \special{fp}%
-    \special{pa 5010 499}%
-    \special{pa 5030 415}%
-    \special{fp}%
-    \special{pa 415 2497}%
-    \special{pa 415 1248}%
-    \special{pa 5482 1248}%
-    \special{pa 5482 2497}%
-    \special{pa 415 2497}%
-    \special{fp}%
-    \rlap{\kern  2.948in\lower 1.496in\hbox to 0pt{\hss \MTS/\hss}}%
-    \rlap{\kern  0.433in\lower 0.997in\hbox to 0pt{\hss POSTING\hss}}%
-    \rlap{\kern  0.433in\lower 1.163in\hbox to 0pt{\hss \hss}}%
-    \special{pa 0 1040}%
-    \special{pa 866 1040}%
-    \special{da  0.050}%
-    \rlap{\kern  5.464in\lower 0.997in\hbox to 0pt{\hss RECEIPT\hss}}%
-    \rlap{\kern  5.464in\lower 1.163in\hbox to 0pt{\hss \hss}}%
-    \special{pa 5898 1040}%
-    \special{pa 5030 1040}%
-    \special{da  0.050}%
-    \rlap{\kern  3.469in\lower 2.121in\hbox to 0pt{\hss RELAYING\hss}}%
-    \kern  5.899in
-  }\vss}%
-  \kern  2.498in
-}
diff --git a/docs/historical/trusted/figure2.pic b/docs/historical/trusted/figure2.pic
deleted file mode 100644 (file)
index 3f2733e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-\def\UA/{{\sf UA}}
-\def\MTA/{{\sf MTA}}
-\def\MTS/{{\sf MTS}}
-.PS 5.9i
-## figure 2
-U1:    circle "user"
-C1:    ellipse "\UA/" with .n at (U1.s.x, U1.s.y-3*lineht/2)
-B1:    box "\MTA/" with .n at (C1.s.x, C1.s.y-5*lineht/2)
-B8:    box "\MTA/" with .w at (B1.e.x+linewid, B1.e.y)
-B2:    box invis "$\ldots$" with .w at (B8.e.x+linewid, B1.e.y)
-B9:    box invis "$\ldots$" with .w at (B2.e.x+linewid, B1.e.y)
-B3:    box "\MTA/" with .w at (B9.e.x+linewid, B1.e.y)
-C2:    ellipse "\UA/" with .s at (B3.n.x, C1.s.y)
-U2:    circle "user" with .s at (C2.n.x, U1.s.y)
-##
-       arrow from U1.s to C1.n
-       arrow from C1.s to B1.n
-       arrow from B1.e to B8.w
-       arrow from B8.e to B2.w
-       arrow from B2.e to B9.w
-       arrow from B9.e to B3.w
-       arrow from B3.n to C2.s
-       arrow from C2.n to U2.s
-##
-B4:    box width B3.e.x+linewid/3-(B1.w.x-linewid/3) \
-           height 4*boxht \
-           with .c at B2.c
-       move to (B4.n.x, B4.n.y-lineht/2); "\MTS/"
-##
-       move to (U1.s.x, (U1.s.y+C1.n.y)/2); \
-           "\ name $\longrightarrow$ address" ljust
-       move to (B1.n.x, (B1.n.y+B4.n.y)/2); \
-               "\ address $\longrightarrow$ route" ljust
-##
-.PE
diff --git a/docs/historical/trusted/figure2.tex b/docs/historical/trusted/figure2.tex
deleted file mode 100644 (file)
index e87f3c8..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-\def\UA/{{\sf UA}}
-\def\MTA/{{\sf MTA}}
-\def\MTS/{{\sf MTS}}
-\catcode`@=11
-\expandafter\ifx\csname graph\endcsname\relax \alloc@4\box\chardef\insc@unt\graph\fi
-\catcode`@=12
-\setbox\graph=\vtop{%
-  \baselineskip=0pt \lineskip=0pt \lineskiplimit=0pt
-  \vbox to0pt{\hbox{%
-    \special{pn 8}%
-    \special{ar 524 241 241 241  0.000  6.283}%
-    \rlap{\kern  0.524in\lower 0.283in\hbox to 0pt{\hss user\hss}}%
-    \special{ar 524 1454 363 240  0.000  6.283}%
-    \rlap{\kern  0.524in\lower 1.496in\hbox to 0pt{\hss \UA/\hss}}%
-    \special{pa 161 3393}%
-    \special{pa 161 2908}%
-    \special{pa 888 2908}%
-    \special{pa 888 3393}%
-    \special{pa 161 3393}%
-    \special{fp}%
-    \rlap{\kern  0.524in\lower 3.193in\hbox to 0pt{\hss \MTA/\hss}}%
-    \special{pa 1373 3393}%
-    \special{pa 1373 2908}%
-    \special{pa 2100 2908}%
-    \special{pa 2100 3393}%
-    \special{pa 1373 3393}%
-    \special{fp}%
-    \rlap{\kern  1.736in\lower 3.193in\hbox to 0pt{\hss \MTA/\hss}}%
-    \rlap{\kern  2.948in\lower 3.193in\hbox to 0pt{\hss $\ldots$\hss}}%
-    \rlap{\kern  4.161in\lower 3.193in\hbox to 0pt{\hss $\ldots$\hss}}%
-    \special{pa 5009 3393}%
-    \special{pa 5009 2908}%
-    \special{pa 5736 2908}%
-    \special{pa 5736 3393}%
-    \special{pa 5009 3393}%
-    \special{fp}%
-    \rlap{\kern  5.373in\lower 3.193in\hbox to 0pt{\hss \MTA/\hss}}%
-    \special{ar 5373 1454 363 240  0.000  6.283}%
-    \rlap{\kern  5.373in\lower 1.496in\hbox to 0pt{\hss \UA/\hss}}%
-    \special{ar 5373 241 241 241  0.000  6.283}%
-    \rlap{\kern  5.373in\lower 0.283in\hbox to 0pt{\hss user\hss}}%
-    \special{pa 524 484}%
-    \special{pa 524 1211}%
-    \special{fp}%
-    \special{pa 500 1114}%
-    \special{pa 524 1211}%
-    \special{fp}%
-    \special{pa 548 1114}%
-    \special{pa 524 1211}%
-    \special{fp}%
-    \special{pa 524 1696}%
-    \special{pa 524 2908}%
-    \special{fp}%
-    \special{pa 500 2811}%
-    \special{pa 524 2908}%
-    \special{fp}%
-    \special{pa 548 2811}%
-    \special{pa 524 2908}%
-    \special{fp}%
-    \special{pa 888 3151}%
-    \special{pa 1373 3151}%
-    \special{fp}%
-    \special{pa 1276 3175}%
-    \special{pa 1373 3151}%
-    \special{fp}%
-    \special{pa 1276 3126}%
-    \special{pa 1373 3151}%
-    \special{fp}%
-    \special{pa 2100 3151}%
-    \special{pa 2585 3151}%
-    \special{fp}%
-    \special{pa 2488 3175}%
-    \special{pa 2585 3151}%
-    \special{fp}%
-    \special{pa 2488 3126}%
-    \special{pa 2585 3151}%
-    \special{fp}%
-    \special{pa 3312 3151}%
-    \special{pa 3797 3151}%
-    \special{fp}%
-    \special{pa 3700 3175}%
-    \special{pa 3797 3151}%
-    \special{fp}%
-    \special{pa 3700 3126}%
-    \special{pa 3797 3151}%
-    \special{fp}%
-    \special{pa 4524 3151}%
-    \special{pa 5009 3151}%
-    \special{fp}%
-    \special{pa 4912 3175}%
-    \special{pa 5009 3151}%
-    \special{fp}%
-    \special{pa 4912 3126}%
-    \special{pa 5009 3151}%
-    \special{fp}%
-    \special{pa 5373 2908}%
-    \special{pa 5373 1696}%
-    \special{fp}%
-    \special{pa 5397 1793}%
-    \special{pa 5373 1696}%
-    \special{fp}%
-    \special{pa 5349 1793}%
-    \special{pa 5373 1696}%
-    \special{fp}%
-    \special{pa 5373 1211}%
-    \special{pa 5373 484}%
-    \special{fp}%
-    \special{pa 5397 581}%
-    \special{pa 5373 484}%
-    \special{fp}%
-    \special{pa 5349 581}%
-    \special{pa 5373 484}%
-    \special{fp}%
-    \special{pa 0 4120}%
-    \special{pa 0 2181}%
-    \special{pa 5898 2181}%
-    \special{pa 5898 4120}%
-    \special{pa 0 4120}%
-    \special{fp}%
-    \rlap{\kern  2.948in\lower 2.465in\hbox to 0pt{\hss \MTS/\hss}}%
-    \rlap{\kern  0.524in\lower 0.889in\hbox to0pt{\ name $\longrightarrow$ address\hss}}%
-    \rlap{\kern  0.524in\lower 2.586in\hbox to0pt{\ address $\longrightarrow$ route\hss}}%
-    \kern  5.899in
-  }\vss}%
-  \kern  4.121in
-}
diff --git a/docs/historical/trusted/figure3.pic b/docs/historical/trusted/figure3.pic
deleted file mode 100644 (file)
index 0327b12..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-.PS 5.9i
-## figure 3
-C1:    ellipse "\UA/"
-B1:    box "\MTA/" with .n at (C1.s.x, C1.s.y-3*lineht)
-B8:    box "\MTA/" with .w at (B1.e.x+linewid, B1.e.y)
-B2:    box invis "$\ldots$" with .w at (B8.e.x+linewid, B1.e.y)
-B9:    box invis "$\ldots$" with .w at (B2.e.x+linewid, B1.e.y)
-B3:    box "\MTA/" with .w at (B9.e.x+linewid, B1.e.y)
-C2:    ellipse "\UA/" with .s at (B3.n.x, C1.s.y)
-##
-       arrow from C1.s to B1.n
-       arrow from B1.e to B8.w
-       arrow from B8.e to B2.w
-       arrow from B2.e to B9.w
-       arrow from B9.e to B3.w
-       arrow from B3.n to C2.s
-##
-B4:    box width B3.e.x+linewid/3-(B1.w.x-linewid/3) \
-           height 3*boxht \
-           with .c at B2.c
-       move to (B4.n.x, B4.n.y-lineht/2); "\MTS/"
-##
-B5:    box "\TMA/" with .w at (C1.e.x+linewid, C1.e.y)
-B6:    box "\TMA/" with .e at (C2.w.x-linewid, C2.w.y)
-B7:    box "\KDS/" with .c at ((B5.c.x+B6.c.x)/2, B5.c.y)
-##
-       line <- -> from C1.e to B5.w
-       arrow from B5.e to B7.w
-       arrow from B6.w to B7.e
-       line <- -> from C2.w to B6.e
-##
-.PE
diff --git a/docs/historical/trusted/figure3.tex b/docs/historical/trusted/figure3.tex
deleted file mode 100644 (file)
index 8fe387f..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-\catcode`@=11
-\expandafter\ifx\csname graph\endcsname\relax \alloc@4\box\chardef\insc@unt\graph\fi
-\catcode`@=12
-\setbox\graph=\vtop{%
-  \baselineskip=0pt \lineskip=0pt \lineskiplimit=0pt
-  \vbox to0pt{\hbox{%
-    \special{pn 8}%
-    \special{ar 524 241 363 240  0.000  6.283}%
-    \rlap{\kern  0.524in\lower 0.281in\hbox to 0pt{\hss \UA/\hss}}%
-    \special{pa 161 2423}%
-    \special{pa 161 1938}%
-    \special{pa 888 1938}%
-    \special{pa 888 2423}%
-    \special{pa 161 2423}%
-    \special{fp}%
-    \rlap{\kern  0.524in\lower 2.221in\hbox to 0pt{\hss \MTA/\hss}}%
-    \special{pa 1373 2423}%
-    \special{pa 1373 1938}%
-    \special{pa 2100 1938}%
-    \special{pa 2100 2423}%
-    \special{pa 1373 2423}%
-    \special{fp}%
-    \rlap{\kern  1.736in\lower 2.221in\hbox to 0pt{\hss \MTA/\hss}}%
-    \rlap{\kern  2.948in\lower 2.221in\hbox to 0pt{\hss $\ldots$\hss}}%
-    \rlap{\kern  4.161in\lower 2.221in\hbox to 0pt{\hss $\ldots$\hss}}%
-    \special{pa 5009 2423}%
-    \special{pa 5009 1938}%
-    \special{pa 5736 1938}%
-    \special{pa 5736 2423}%
-    \special{pa 5009 2423}%
-    \special{fp}%
-    \rlap{\kern  5.373in\lower 2.221in\hbox to 0pt{\hss \MTA/\hss}}%
-    \special{ar 5373 241 363 240  0.000  6.283}%
-    \rlap{\kern  5.373in\lower 0.281in\hbox to 0pt{\hss \UA/\hss}}%
-    \special{pa 524 484}%
-    \special{pa 524 1938}%
-    \special{fp}%
-    \special{pa 500 1841}%
-    \special{pa 524 1938}%
-    \special{fp}%
-    \special{pa 548 1841}%
-    \special{pa 524 1938}%
-    \special{fp}%
-    \special{pa 888 2181}%
-    \special{pa 1373 2181}%
-    \special{fp}%
-    \special{pa 1276 2205}%
-    \special{pa 1373 2181}%
-    \special{fp}%
-    \special{pa 1276 2157}%
-    \special{pa 1373 2181}%
-    \special{fp}%
-    \special{pa 2100 2181}%
-    \special{pa 2585 2181}%
-    \special{fp}%
-    \special{pa 2488 2205}%
-    \special{pa 2585 2181}%
-    \special{fp}%
-    \special{pa 2488 2157}%
-    \special{pa 2585 2181}%
-    \special{fp}%
-    \special{pa 3312 2181}%
-    \special{pa 3797 2181}%
-    \special{fp}%
-    \special{pa 3700 2205}%
-    \special{pa 3797 2181}%
-    \special{fp}%
-    \special{pa 3700 2157}%
-    \special{pa 3797 2181}%
-    \special{fp}%
-    \special{pa 4524 2181}%
-    \special{pa 5009 2181}%
-    \special{fp}%
-    \special{pa 4912 2205}%
-    \special{pa 5009 2181}%
-    \special{fp}%
-    \special{pa 4912 2157}%
-    \special{pa 5009 2181}%
-    \special{fp}%
-    \special{pa 5373 1938}%
-    \special{pa 5373 484}%
-    \special{fp}%
-    \special{pa 5397 581}%
-    \special{pa 5373 484}%
-    \special{fp}%
-    \special{pa 5349 581}%
-    \special{pa 5373 484}%
-    \special{fp}%
-    \special{pa 0 2908}%
-    \special{pa 0 1454}%
-    \special{pa 5898 1454}%
-    \special{pa 5898 2908}%
-    \special{pa 0 2908}%
-    \special{fp}%
-    \rlap{\kern  2.948in\lower 1.736in\hbox to 0pt{\hss \MTS/\hss}}%
-    \special{pa 1373 484}%
-    \special{pa 1373 0}%
-    \special{pa 2100 0}%
-    \special{pa 2100 484}%
-    \special{pa 1373 484}%
-    \special{fp}%
-    \rlap{\kern  1.736in\lower 0.281in\hbox to 0pt{\hss \TMA/\hss}}%
-    \special{pa 3797 484}%
-    \special{pa 3797 0}%
-    \special{pa 4524 0}%
-    \special{pa 4524 484}%
-    \special{pa 3797 484}%
-    \special{fp}%
-    \rlap{\kern  4.161in\lower 0.281in\hbox to 0pt{\hss \TMA/\hss}}%
-    \special{pa 2585 484}%
-    \special{pa 2585 0}%
-    \special{pa 3312 0}%
-    \special{pa 3312 484}%
-    \special{pa 2585 484}%
-    \special{fp}%
-    \rlap{\kern  2.948in\lower 0.281in\hbox to 0pt{\hss \KDS/\hss}}%
-    \special{pa 985 217}%
-    \special{pa 888 241}%
-    \special{fp}%
-    \special{pa 985 266}%
-    \special{pa 888 241}%
-    \special{pa 1373 241}%
-    \special{fp}%
-    \special{pa 1276 266}%
-    \special{pa 1373 241}%
-    \special{fp}%
-    \special{pa 1276 217}%
-    \special{pa 1373 241}%
-    \special{fp}%
-    \special{pa 2100 241}%
-    \special{pa 2585 241}%
-    \special{fp}%
-    \special{pa 2488 266}%
-    \special{pa 2585 241}%
-    \special{fp}%
-    \special{pa 2488 217}%
-    \special{pa 2585 241}%
-    \special{fp}%
-    \special{pa 3797 241}%
-    \special{pa 3312 241}%
-    \special{fp}%
-    \special{pa 3409 217}%
-    \special{pa 3312 241}%
-    \special{fp}%
-    \special{pa 3409 266}%
-    \special{pa 3312 241}%
-    \special{fp}%
-    \special{pa 4912 266}%
-    \special{pa 5009 241}%
-    \special{fp}%
-    \special{pa 4912 217}%
-    \special{pa 5009 241}%
-    \special{pa 4524 241}%
-    \special{fp}%
-    \special{pa 4621 217}%
-    \special{pa 4524 241}%
-    \special{fp}%
-    \special{pa 4621 266}%
-    \special{pa 4524 241}%
-    \special{fp}%
-    \kern  5.899in
-  }\vss}%
-  \kern  2.909in
-}
diff --git a/docs/historical/trusted/refs.tex b/docs/historical/trusted/refs.tex
deleted file mode 100644 (file)
index cba2736..0000000
+++ /dev/null
@@ -1,250 +0,0 @@
-% references
-
-\references
-
-\ref{DCome83}
-\by D.~Comer.
-\paper The Computer Science Research Network CSnet:
-A History and Status Report
-\journal Communications of the ACM\volume 26\issue 10
-\month October\year 1983
-\pages 747--753
-\endref
-
-\ref{DCroc79}
-\by D.H.~Crocker, E.S.~Szurkowski, D.J.~Farber.
-\paper An Internetwork Memo Distribution Facility~---~MMDF
-\inbook Proceedings,
-Sixth Data Communications Symposium
-\publaddr Asilomar
-\month November\year 1979
-\pages 18--25
-\endref
-
-\ref{DCroc82}
-\by D.H.~Crocker.
-\paper Standard for the Format of ARPA Internet Text Messages
-\paperinfo Request for Comments 822
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month August\year 1982
-\endref
-
-\ref{DEA}
-\book Data Encryption Algorithm
-\bookinfo X3.92--1981
-\publ American National Standards Institute
-\year 1981
-\endref
-
-\ref{DKing84}
-\by D.P.~Kingston,~III.
-\paper MMDFII: A Technical Review
-\inbook Proceedings
-Usenix Summer '84 Conference
-\publaddr Salt Lake City, Utah
-\month June\year 1984
-\pages 32--41
-\endref
-
-\ref{EAllm83}
-\by E.~Allman.
-\paper SENDMAIL~---~An Internetwork Mail Router
-\other
-\publ Britton-Lee, Inc.
-\publaddr Berkeley, California
-\month July\year 1983
-\endref
-
-\ref{EOlse84}
-\by E.W.~Olsen.
-\paper NetOS Concepts and Facilities
-\other
-\publ Local Network Systems, Inc.
-\publaddr Costa Mesa, California
-\month August\year 1984
-\endref
-
-\ref{EStef84}
-\by E.A.~Stefferud, J.N.~Sweet, T.P.~Domae.
-\paper MZnet: Mail Service for Personal Micro-Computer Systems
-\inbook Proceedings,
-Second International Symposium on Computer Message Systems
-\publaddr Nottingham, U.K
-\month May\year 1984
-\pages 293--302
-\endref
-
-\ref{FIKM}
-\book Financial Institution Key Management
-\bookinfo X9.17--198\_ (draft)
-\publ American National Standards Institute
-\year 198\_
-\endref
-
-\ref{FIPS46}
-\book Data Encryption Standard
-\bookinfo Federal Information Processing Standards,
-Publication 46
-\month January\year 1977
-\endref
-
-\ref{FIPS81}
-\book DES Modes of Operation
-\bookinfo Federal Information Processing Standards,
-Publication 81
-\month December\year 1980
-\endref
-
-\ref{FIPS98}
-\paper Specification for Message Format for Computer Based Message Systems
-\other
-\publ National Bureau of Standards
-\month January\year 1983
-\endref
-
-\ref{HERMES}
-\by Bolt, Beranek, and Newman.
-\paper Hermes User's Manual
-\paperinfo for TOPS-20
-\other
-\publ Bolt, Beranek, and Newman
-\publaddr Boston, MA
-\month January\year 1979
-\endref
-
-\ref{IP}
-\paper Internet Protocol
-\paperinfo Request for Comments 791 (\milstd/ 1777)
-\inbook Internet Protocol Transition Workbook
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month September\year 1981
-\endref
-
-\ref{JReyn84}
-\by J.K.~Reynolds.
-\paper Post Office Protocol
-\paperinfo Request for Comments 918
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month October\year 1984
-\endref
-
-\ref{LLamp82}
-\by L.~Lamport, R.~Shostak, M.~Pease.
-\paper The Byzantine Generals Problem
-\journal ACM Transactions on Programming Languages and Systems
-\volume 4
-\month July\year 1982
-\pages 382--401
-\endref
-
-\ref{MButl85}
-\by M.~Butler, J.B.~Postel, et.~al.
-\paper Post Office Protocol - Version~2
-\paperinfo Request for Comments 937
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month February\year 1985
-\endref
-
-\ref{MRose84a}
-\by M.T.~Rose.
-\paper The Rand MH Message Handling System: The UCI BBoards Facility
-\other
-\publ Department of Computer and Information Sciences
-\publaddr University of Delaware
-\month October\year 1984
-\endref
-
-\ref{MRose84b}
-\by M.T.~Rose.
-\paper The Rand MH Message Handling System: Tutorial
-\other
-\publ Department of Computer and Information Sciences
-\publaddr University of Delaware
-\month October\year 1984
-\endref
-
-\ref{MRose85a}
-\by M.T.~Rose, J.L.~Romine.
-\paper The Rand \MH/ Message Handling System: User's Manual
-\paperinfo UCI Version
-\other
-\publ Department of Information and Computer Science
-\publaddr University of California, Irvine
-\month January\year 1985
-\endref
-
-\ref{MRose85b}
-\by M.T.~Rose, E.A.~Stefferud.
-\paper Proposed Standard for Message Encapsulation
-\paperinfo Request for Comments 934
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month January\year 1985
-\endref
-
-\ref{MRose85c}
-\by M.T.~Rose, D.J.~Farber, S.T.~Walker.
-\paper Design of the TTI Prototype Trusted Mail Agent
-\inbook Proceedings,
-Second International Symposium on Computer Message Systems
-\publaddr Washington, D.C.
-\month September\year 1985
-\toappear
-\endref
-
-\ref{MRose85d}
-\by M.T.~Rose, E.A.~Stefferud, J.N.~Sweet.
-\paper MH: A Multifarious User Agent
-\journal Computer Networks%\volume V\issue N
-\toappear
-\endref
-
-\ref{SMTP}
-\paper Simple Mail Transfer Protocol
-\paperinfo Request for Comments 821
-\other
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month August\year 1982
-\endref
-
-\ref{TCP}
-\paper Transmission Control Protocol
-\paperinfo Request for Comments 793 (\milstd/ 1778)
-\inbook Internet Protocol Transition Workbook
-\publ ARPA Internet Network Information Center (NIC)
-\publaddr SRI International
-\month September\year 1981
-\endref
-
-\ref{VVoyd83}
-\by V.L.~Voydock, S.T.~Kent.
-\paper Security Mechanisms in High-Level Network Protocols
-\journal Computing Surveys\volume 15\issue 2
-\month June\year 1983
-\pages 135--171
-\endref
-
-\ref{WJoy83}
-\by W.N.~Joy, E.~Cooper, R.S.~Fabry, S.J.~Leffler, K.~McKusick, D.~Mosher.
-\paper 4.2\bsd/ System Manual
-\paperinfo Technical Report Number 5
-\publ Computer Systems Research Group, University of California, Berkeley
-\month July\year 1983
-\endref
-
-\ref{X.400}
-\book Message Handling Systems: System Model-Service Elements
-\bookinfo Recommendation X.400
-\publ International Telegraph and Telephone Consultative Committee (CCITT)
-\endref
-
-\endreferences
diff --git a/docs/historical/trusted/table4.tex b/docs/historical/trusted/table4.tex
deleted file mode 100644 (file)
index dd7e808..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-% table 4
-
-\def\entry#1#2#3{&#1&  &#2&    &#3&\cr}
-
-\centerline{\vbox{%
-    \offinterlineskip
-    \halign{\vrule#&   \strut\enskip\hfil#\hfil\enskip&
-           \vrule#&    \strut\enskip#\hfil\enskip&
-           \vrule#&    \strut\enskip\hfil#\hfil\enskip&
-           \vrule#\cr
-\noalign{\hrule}
-height2pt&\omit&       &\omit& &\omit&\cr
-       \entry  {\bf Abbrev.}{\hfil\bf Term}{\bf Context}
-height2pt&\omit&       &\omit& &\omit&\cr
-\noalign{\hrule}
-height2pt&\omit&       &\omit& &\omit&\cr
-       \entry  {CBC}{Cipher Block Chaining}{DES}
-       \entry  {CBMS}{Computer Based Message System}{}
-       \entry  {CKD}{Key Distribution Center}{EFT}
-       \entry  {CKS}{Checksumming}{DES}
-       \entry  {CSM}{Cryptographic Service Message}{}
-       \entry  {DEA}{Data Encryption Algorithm}{}
-       \entry  {DES}{Data Encryption Standard}{}
-       \entry  {DSM}{Disconnect Service Message}{MCL}
-       \entry  {ECB}{Electronic Code Book}{DES}
-       \entry  {EFT}{Electronic Funds Transfer}{}
-       \entry  {IDK}{Key Identifier}{CSM}
-       \entry  {ID}{Identifier}{KDS}
-       \entry  {IP}{Internet Protocol}{}
-       \entry  {IV}{Initialization Vector}{CSM}
-       \entry  {KA}{Authentication Key}{CSM}
-       \entry  {KDC}{Key Distribution Center}{CBMS}
-       \entry  {KDS}{Key Distribution Server}{CBMS}
-       \entry  {KD}{Data-encrypting Key}{CSM}
-       \entry  {KK}{Key-encrypting Key}{CSM}
-       \entry  {MAC}{Message Authentication Code}{CSM}
-       \entry  {MCL}{Message Class}{CSM}
-       \entry  {MH}{The Rand Message Handling System}{}
-       \entry  {MIC}{Message Integrity Code}{CSM}
-       \entry  {MK}{Master Key}{CSM}
-       \entry  {MTA}{Message Transport Agent}{CBMS}
-       \entry  {MTS}{Message Transport System}{CBMS}
-       \entry  {ORG}{Message Originator}{CSM}
-       \entry  {RCV}{Message Receiver}{CSM}
-       \entry  {RIU}{Request Identified User}{MCL}
-       \entry  {RSI}{Request Service Initialization}{MCL}
-       \entry  {RUI}{Request User Identification}{MCL}
-       \entry  {TCP}{Transmission Control Protocol}{}
-       \entry  {TMA}{Trusted Mail Agent}{CBMS}
-       \entry  {TTI}{Trusted Technologies, Inc.}{}
-       \entry  {UA}{User Agent}{CBMS}
-height2pt&\omit&       &\omit& &\omit&\cr
-\noalign{\hrule}
-    }%
-}}
diff --git a/docs/historical/trusted/text.tex b/docs/historical/trusted/text.tex
deleted file mode 100644 (file)
index 8da1f30..0000000
+++ /dev/null
@@ -1,1077 +0,0 @@
-% begin text
-
-\banner
-
-\section{Introduction}
-Initially,
-a brief model of a user community employing a trusted mail service is
-introduced.
-Following this introduction,
-a prototype system is described which attempts to meet the needs of a user
-community.
-Finally,
-open issues are discussed,
-which are currently not satisfied by the prototype system or its model of
-operation.
-
-Two or more entities,
-called {\it users},
-wish to communicate in a {\it secure} environment.
-Depending on their available resources,
-different levels of security are possible.
-At the extreme,
-two parties with substantial resources may wish to communicate in a fashion
-which prevents any third parties,
-known as {\it adversaries},
-from observing their communication.
-At this level,
-not only is an adversary unable to capture the communication for analysis,
-but in fact, the adversary is unaware that any communication is occurring at
-all.
-In most applications,
-this level of security is prohibitively expensive.
-A more economic method is to translate messages into a form which is useless
-to an adversary and then to communicate those messages on an insecure medium.
-
-This latter method requires the two users to have some sort of {\it key}
-with which to ``lock'' the plaintext into ciphertext when transmitting,
-and then to ``unlock'' the ciphertext back into useful form when receiving.
-Hence, there are two central issues to deal with:
-\underbar{first},
-keys must be generated, distributed, and maintained in a secure fashion;
-and,
-\underbar{second},
-the keys must be ``intricate'' enough so that sense can't be made out of the
-ciphertext without knowledge of the key.
-The first part is handled by a {\it key distribution center} (\KDC/),
-which maintains a list of users and a set of keys for each pair of users.
-The second part relies on sophisticated encryption and decryption algorithms.
-It is beyond the scope of this paper to describe cryptographic techniques in
-detail.
-For a detailed survey of this area, the reader should consult \cite{VVoyd83}.
-
-\tagfigure{1}{The \MTS/ Model}{mtsmodel}
-In the context of our discussion (using the terminology of \cite{X.400}),
-the medium used to transport is supplied
-by a {\it message transport system} (\MTS/),
-which is composed of one or more {\it message transport agents} (\MTA/s).
-Usually,
-the entire \MTS/ is distributed in nature,
-and not under a single administrative entity;
-in contrast, an \MTA/ is usually controlled by a single administration and
-resides in a particular domain.
-At every end-point in the medium,
-a {\it user agent} (\UA/) acts on behalf of a user and interfaces
-to a local \MTA/.
-This model is briefly summarized in Figure~\mtsmodel.
-
-A message, in our context, consists of two parts:
-the {\it headers} and the {\it body}.
-The headers are rigorously structured;
-they contain addressing information and other forms useful to a \UA/.
-The body is freely formatted and is usually not meaningful to a \UA/.
-
-When a message is sent from one user to another,
-the following activities occur:
-The originating user indicates to the \UA/ the address of the recipient;
-the \UA/ then posts the message through a {\it posting slot} to an \MTA/,
-which involves a posting protocol in which the validity of the address
-and the syntax of the message are considered.
-Upon successful completion of the protocol,
-the \MTA/ accepts responsibility for delivering the message,
-or if delivery fails, to inform the originating user of the failure.
-The \MTA/ then decides if it can deliver the message directly to the
-recipient;
-if so, it delivers the message through a {\it delivery slot} to the
-recipient's \UA/,
-using a delivery protocol.
-If not, it contacts an adjacent \MTA/, closer to the recipient,
-and negotiates its transfer (using a protocol similar to the posting protocol).
-This process repeats until an \MTA/ is able to deliver the message,
-or an \MTA/ determines that the message can't be delivered.
-In this latter case,
-a failure notice is sent to the originating user.
-
-\tagfigure{2}{Mappings in the \MTS/ model}{mappings}
-It is important to note that there are two mappings which occur here.
-The first, which is performed implicitly by the originating user,
-maps the name of the recipient into the recipient's address;
-the second, which is performed explicitly by the \MTS/,
-maps the address of the recipient into a route to get from the originator's
-\MTA/ to the recipient's \MTA/.
-These mappings are depicted in Figure~\mappings.
-
-Obviously, there is no guarantee that the \MTS/ can be made secure,
-in {\it any} sense of the word.
-This is particularly true if it is under several administrations.
-Regardless of the number of administrations in the \MTS/,
-this problem quickly degenerates to a problem of
-Byzantine generals\cite{LLamp82}.
-Further, trying to secure each \MTA/ in the path that a message travels is
-equally questionable.
-
-\tagfigure{3}{Modifications to the \MTS/ model}{tmodel}
-To support secure communications in this environment,
-a new entity,
-the {\it trusted mail agent} (\TMA/) is introduced into our model.
-A solution is to have the \UA/ interact with this entity
-both when posting a message and when taking delivery of a message.
-The \UA/ first contacts a \TMA/ to encrypt the body of the message for the
-recipient,
-prior to pushing it through the posting slot.
-Upon receipt from the destination \MTA/,
-the \UA/ examines the message and contacts
-the \TMA/ to decipher the body of the message from the source.
-An overview of the relationship between the standard \MTS/ model
-and the augmentations made for the \trustedmail/ system is shown in
-Figure~\tmodel.
-
-To achieve these tasks,
-the \TMA/ interacts with a {\it key distribution service} (\KDS/),
-which manages keys between pairwise users.
-At this point, a third mapping takes place:
-the \UA/ must be able to map addresses into the identifier(s)
-by which the originator and recipient are known by the \TMA/ and \KDS/.
-These identifiers are known as \KDS/ IDs, or simply IDs.
-Usually, a fourth mapping also occurs,
-which maps the ID of a user into the name of a user.
-In our context,
-there is an exact one-to-one mapping between the name of a user and the ID
-of that user.
-In contrast,
-there may be a one-to-many mapping between the name of a user and
-that user's address in the \MTS/.
-Further, there are usually many different routes which a message may traverse
-when going from an originating user to a recipient user.
-
-The \TMA/ is said to be {\it trusted} because it can be relied on to perform
-only those actions specifically requested by the user.
-In the context of this paper,
-this means, given proper construction and maintenance of the \TMA/,
-that the software will communicate with the \KDC/ in some secure fashion to
-negotiate key relationships and that it will not disclose those key
-relationships to other parties.
-Furthermore,
-the body of mail messages exchanged between users which employ
-a trusted mail agent will be unintelligible to other parties.
-Finally,
-a recipient of a message receives authenticated information from the
-trusted mail agent as to the identify of the sender.
-
-Hence,
-when each user employs a \TMA/,
-end-to-end encryption occurs at the \UA/ level
-(to avoid any problems with malicious \MTA/s).%
-\nfootnote{Note that in the scope of this system,
-the end-points are the user agents, not the hosts they reside on.
-In fact,
-it may very well be the case that the user agent and the local message
-transport agent do not reside on the same host.}
-Any adversary listening in on the \MTS/,
-may observe messages,
-but make no sense out of them
-(other than rudimentary traffic analysis).
-Note, however,
-that since the medium itself is not secure,
-an adversary may still introduce new messages,
-corrupt messages,
-or remove messages,
-as they traverse the \MTS/.
-In the first two cases, however,
-the recipient would be suspicious
-because the adversary lacks the encrypting key employed by the source user.
-In the third case,
-the source user can retransmit the message after a suitable time.
-Of course,
-there is no built-in retransmission policy~---~this aspect depends on the
-user's sending mail and is beyond the scope of the system.
-
-It is important to understand the target community for the \trustedmail/ system
-described herein.
-In particular,
-the \TMA/ is intended for a commercial and not a military environment.
-This distinction is important,
-since it is the {\it fundamental} assumption of this paper that
-the latter community has much stricter requirements than the former.
-Because of this,
-the prototype system is able to make certain simplifying assumptions which
-permit it to operate in a mode which is less secure than military
-applications would permit.
-Although these issues are explored in greater detail at the end of the paper,
-for the moment recall that, like most qualities, trustedness is not absolute:
-there are varying degrees of trustedness,
-and as a system becomes more trusted,
-it becomes more expensive, in some sense, to operate and maintain.
-
-It is perhaps instructive at this point to consider why the introduction of a
-key distribution center is appropriate in this environment,
-and why the {\it fundamental} assumption that trusted mail agents do not
-directly communicate with each other is necessary.
-Although a user agent is able to converse with the local message transport
-agent in real-time,
-it is frequently not able to communicate with other user agents in real-time.
-Furthermore,
-considering the vast problems and overhead
-of trying to establish secure communications from ``scratch''
-(a problem far beyond the scope of this paper),
-it is would not be a good idea to try and communicate key relationships with
-other user agents,
-even if it were always possible to do so.
-In addition,
-by separating the trusted aspects of the message transport system from the
-system itself,
-many other advantages can be seen.
-These are presented in greater detail at the end of the paper.
-
-The discussion thus far has considered only a single recipient.
-In practice, a user might wish to send to several others,
-using a different key for each.
-Hence each copy of the message is encrypted differently,
-depending on the particular recipient in question.
-Note that this has the effect of {\it un-bundling} message transfer in the
-\MTS/,
-as advanced \MTA/s tend to keep only a single copy of the message for any
-number of recipients in order to save both cpu, disk, and I/O resources.
-
-For example,
-in some existing mail systems,
-if a message was sent to $n$ users on a remote system,
-then the $n$ addresses would be sent from the source \MTA/ to the remote \MTA/
-along with one copy of the message.
-Upon delivery,
-the remote \MTA/ would deliver a copy to each of the $n$ recipients,
-but the virtual wire between the source \MTA/ and the recipient \MTA/ was
-burdened with only one copy of the message.
-But in a secure environment,
-since a different key is used by the source user when communicating with each
-of the $n$ recipients,
-$n$ different messages will be posted with the local \MTA/,
-and the advantages of recipient bundling are lost.
-
-Along these lines however,
-private discussion groups may wish to avoid this problem by establishing
-access to a single ID for their use.
-In this case,
-a subscriber to the \KDS/ may actually have more than one ID,
-one for ``personal'' use and one for each discussion group.
-The appropriate ID is used when posting messages to the discussion group.
-Naturally the administrative policy for deciding who is allowed to use the
-\KDS/ ID of a discussion group is left to the moderator of the group.
-Observant readers will note that this vastly decreases the aspect of
-secure communications for the discussion group.
-This method is suggested as a compromise
-which permits the bundling of messages for multiple recipients
-to reduce \MTS/ traffic.
-The price is high however,
-as a compromise on behalf of {\it any} member of the discussion group
-compromises the entire group.
-For large discussion groups and a bandwidth limited \MTS/,
-this price may be worth paying.
-The prototype implementation of the \TMA/ supports multiple recipients but
-not multiple \KDS/ IDs.
-
-Having described this environment for communication,
-the designs of a \KDS/ and \TMA/ which form the heart of the \TTI/
-\trustedmail/ system are discussed.
-The prototype system was developed on a \vax/-11/780 running 4.2\bsd/ \unix/.
-The system is based on the \ansi/ draft\cite{FIKM}
-for financial key management,
-but diverges somewhat in operation
-owing to the differences between the electronic mail (CBMS)
-and electronic funds (EFT) environments.
-Note however that the \ansi/ data encryption algorithm\cite{DEA,FIPS46} is
-used in the current implementation.
-A public-key cipher system was not considered as the basis for the prototype
-since, to the authors' knowledge,
-an open standard for a public-key system has yet to be adopted by the
-commercial community.
-In contrast,
-the \ansi/ draft for financial key management appears to be receiving
-wide support from the commercial community.
-
-\tagtable{4}{Abbreviations used in this paper}{terms}
-In the description that follows,
-a large number of acronyms are employed to denote commonly used terms.
-In order to aid the reader,
-these are summarized in Table~\terms.
-
-\section{The Key Distribution Service}
-The prototype version of the \KDS/
-was designed to provide key distribution services for
-user agents under both the same or different administrations.
-As a result,
-the means by which a trusted mail agent connects to a key distribution server
-is quite flexible.
-For example,
-the prototype system supports connections via
-standard terminal lines,
-dial-ups (e.g., over a toll-free 800 number),
-\unix/ pipes,
-and over TCP sockets\cite{IP,TCP}.
-In the interests of simplicity,
-for the remainder of this paper,
-a TCP/IP model of communication is used.
-Initially,
-a server on a well-known service host in the ARPA Internet community
-listens for connections on a well-known port.%
-\nfootnote{The term {\it well known} in this context means that the 
-location of the service is known {\it a priori} to the clients.}
-As each connection is established,
-it services one or more transactions over the lifetime of the session.
-When all transactions for a session have been made,
-the connection is closed.
-If the necessary locking operations are performed by the server
-to avoid the usual database problems,
-then more than one connection may be in progress simultaneously.
-Of course,
-a time-out facility should also be employed to prevent a rogue agent from
-monopolizing the key distribution server.
-
-Once a session has been started,
-the client (a.k.a.~\TMA/) initiates transactions with the server
-(a.k.a.~\KDS/).
-Each transaction consists of the exchange of two or three
-{\it cryptographic service messages} (\CSM/s):
-the client sends a request,
-the server attempts to honor the request and sends a response,
-and,
-if the server responded positively,
-the client then acknowledges the transaction.
-By exchanging these cryptographic service messages,
-the \KDS/ and the \TMA/ are able to communicate key relationships.
-Obviously, the relationships themselves must be transmitted in encrypted
-form.%
-\nfootnote{Otherwise an adversary could simply impersonate a \TMA/ and ask
-for the desired key relationships.
-Similarly, this also prevents an adversary from successfully impersonating a
-key distribution server.}
-Hence, not only are key relationships between two \TMA/s communicated,
-but key relationships between the \KDS/ and the \TMA/ are communicated as well.
-
-This leads us to consider the key relationships that exist
-between a \TMA/ and the \KDS/.
-A client usually has three keys dedicated for use with the server.
-The first is the {\it master key} (denoted MK),
-which has an infinite cryptoperiod, and is rarely used.
-This key is distributed manually.
-The second is the {\it key-encrypting key} (denoted KK),
-which has a shorter cryptoperiod.
-Whenever a KK is transmitted to the \TMA/,
-it is encrypted with the master key.
-The third is the {\it authentication key} (denoted KA),
-which is used to authenticate transactions that do not contain data keys
-(a count field is also used to avoid play-back attacks).
-Whenever a KA is transmitted to the \TMA/,
-it is encrypted with the key-encrypting key.
-When transactions contain keys,
-an associated count field is included to indicate the number of
-keys encrypted with the key-encrypting key used.
-Although not used by the prototype implementation,
-a production system would employ audit mechanisms to monitor usage histories.
-
-Currently four types of requests are honored by the \KDS/:
-two key relationship primitives, and two name service primitives.
-The type is indicated by the {\it message class} (MCL) of the first
-cryptographic service message sent in the transaction.
-As each message class  is discussed,
-the appropriate datastructures used by the \KDS/ are introduced.
-Space considerations prevent a detailed description of the information
-exchanged in each transaction.
-Appendix~B of this paper presents a short example of an interaction between
-the \KDS/ and a \TMA/.
-
-The first two requests are used to create (or retrieve) key relationships,
-and to destroy key relationships:
-
-The {\it request service initialization} (RSI) message class
-is used to establish a {\it key-encrypting key} (KK) relationship
-between the \TMA/ and another \TMA/,
-or between the \TMA/ and the \KDS/.
-As implied by the name,
-a key-encrypting key is used to cipher keys which are used to cipher data
-exchanged between peers.
-These other keys are called {\it data keys} (KDs).
-
-The {\it disconnect service message} (DSM) message class
-is used to discontinue a KK-relationship
-between the \TMA/ and another \TMA/,
-or between the \TMA/ and the \KDS/.
-This prevents keys which are felt to have been compromised,
-or are vulnerable to compromise,
-from receiving further use in the system.
-It should be noted that,
-owing to mail messages (not \CSM/s) in transit,
-a discontinued key relationship
-may be needed to decipher the key used to encipher a mail message.
-The prototype \KDS/ supports this capability.
-
-In addition to maintaining an MK/KK/KA triple for each \TMA/,
-the \KDS/ also remembers KK-relationships between \TMA/s.
-The reason for this stems from a fundamental difference between the
-electronic funds transfer and computer-based message system worlds.
-The \KDS/ assumes that no two arbitrarily chosen \TMA/s can communicate in
-real-time,
-and as a result,
-\TMA/s do not exchange cryptographic service messages.
-(See Appendix~C for a more detailed discussion.)
-This means that when a \TMA/ establishes a KK-relationship with another \TMA/,
-the former \TMA/ may start using the KK before the latter \TMA/ knows of the
-new KK-relationship.
-In fact,
-it is quite possible for a KK-relationship to be established,
-used,
-and then discontinued,
-all unilaterally on the part of one \TMA/.
-It is up to the \KDS/ to retain old cryptographic material
-(possibly for an indefinite period of time),
-and aid the latter \TMA/ in reconstructing KK-relationships as the need arises.
-Naturally,
-discontinued KKs are not used to encode any new information,
-but rather to decode old information.
-(Again, refer to Appendix~C for additional details.)
-
-The other two requests are used to query the directory service aspects of the
-key distribution server:
-
-The {\it request user identification} (RUI) message class
-is used to identify a subscriber to the \KDS/.
-Both  the \KDS/ and \TMA/ are independent of any underlying mail transport
-system (\MTS/).
-As a result,
-a subscriber to the \KDS/ is known by two unique attributes:
-a ``real-world'' name,
-and a \KDS/ identifier (ID).
-The user of a mail system,
-or the \UA/,
-is responsible for mapping an \MTS/-specific address
-(e.g., {\tx MRose@UDEL.ARPA})
-to the person associated with that maildrop
-(e.g., \eg{Marshall\ T.\ Rose}).
-When conversing with the \KDS/,
-the \TMA/ uses the \KDS/ ID of another user to reference that person's \TMA/.
-Since it is inconvenient to remember the IDs (as opposed to people's names),
-the \KDS/ provides the RUI message class to permit a \TMA/ to query the
-mapping between names and IDs.
-If the \KDS/ cannot return an exact match,
-it may respond with a list of possible matches
-(if the identifying information given was ambiguous),
-or it may respond with a response that there is no matching user.
-
-Finally,
-the {\it request identified user} (RIU) message class
-performs the inverse operation:
-given a \KDS/ ID, a ``real-world'' name is returned.
-This request is useful for disambiguating unsuccessful RUI requests
-and in boot-strapping a \TMA/.
-
-The \KDS/ maintains two directories:
-a private directory and a public directory.
-The private directory contains all information on all clients to the \KDS/.
-The public directory is a subset of this,
-and is used by the \KDS/ when processing RUI and RIU requests.%
-\nfootnote{In the prototype implementation,
-the two directories are, for the moment, identical.}
-As a result,
-certain clients of the \KDS/ may have unlisted IDs and names.
-
-\section{The Trusted Mail Agent}
-The prototype version of the \TMA/
-was designed to interface directly to the user agent in order to maximize
-transparency to the user.
-In present form,
-the \TMA/ is available as a load-time library under 4.2\bsd/ \unix/,
-although efforts are currently underway to transport the \TMA/ to a PC-based
-environment.
-
-The software modules which compose the \TMA/ contain a rich set of interfaces
-to the \KDS/.
-In addition,
-the \TMA/ manages a local database,
-so responses from the \KDS/ may be cached and used at a later time.
-In all cases,
-the \KDS/ is consulted only if the information is not present
-in the \TMA/ database,
-or if the information in question has expired (e.g., KK-relationships).
-This caching activity minimizes connections to the \KDS/.
-Although connections are relatively cheap in the ARPA Internet,
-substantial savings are achieved for PCs which contact the \KDS/ over a
-public phone network (dial-up) connection.
-
-The \TMA/ performs mappings between pairs of the following objects:
-user names, \KDS/ IDs, and \MTS/ addresses.
-The \TMA/ considers all trusted mail agents, including itself,
-as a user name, \KDS/ ID, and one or more \MTS/ addresses.
-Although the \TMA/ does not interpret addresses itself,
-in order to simplify mail handling,
-the \TMA/ remembers the relationship between these objects so the user enters
-this information only once.
-
-Initially,
-when a \TMA/ is booted,
-the user supplies it with the master key and the user's \KDS/ ID.
-Both of these quantities are assigned by the personnel at the key
-distribution center,
-and subsequently transmitted to the user via an alternate, bonded service.%
-\nfootnote{In this fashion,
-the problems of boot-strapping over an unsecure medium are avoided.}
-The \TMA/ connects with the \KDS/ and verifies its identity.
-From this point on,
-the \TMA/ manages its KK-relationships between the \KDS/ and other \TMA/s
-without user intervention.
-
-The current implementation of the \TMA/ assumes a ``general memo framework''
-in the context of the Standards for ARPA Internet Text Messages\cite{DCroc82}:
-\smallskip
-{\advance\leftskip by\parindent
-\item{1.} A message consists of two parts:
-the {\it headers} and the {\it body}.
-A blank line separates the headers from the body.
-
-\item{2.} Each (virtual) line in the headers consists of a keyword/value
-pair, in which the keyword is separated from the value by a colon (:).
-The headers are rigorously structured in the sense that they contain
-addressing and other information useful to a user agent.
-
-\item{3.} The body is freely formatted and must not be meaningful to a
-user agent.
-However, as will be seen momentarily,
-the body of encrypted messages must have an initial fixed format which the
-\TMA/ enforces.
-\smallskip}
-\noindent
-This format is widely called ``822'' after the number assigned to the
-defining report\cite{DCroc82}.%
-\nfootnote{Although an 822--style framework is employed by the \TMA/ prototype,
-the 822 \eg{Encrypted:} header is not currently present in encrypted messages.
-This is due to a design decision which assumes that nothing in the headers of
-a message is sacred to the transport system,
-and that ``helpful'' munging might occur at any time.
-In the real world, such helpfulness is often a problem.}
-
-To support the cipher activities described below,
-the \TMA/ contains internal routines to perform the following DES functions:
-electronic code book (ECB) for key encryption,
-cipher block chaining (CBC) for mail message encryption,
-checksumming (CKS) for mail message and \CSM/ authentication.
-Readers interested in these different modes of operation for the DES should
-consult \cite{FIPS81}.
-
-\subsection{Encrypting Mail}
-To encipher a message, the method used is a straightforward adaptation
-of the standard encrypting/authentication techniques
-(though the terminology is tedious).
-Consider the following notation:
-\smallskip
-{\advance\leftskip by\parindent
-\itemm $a_x(s)$ the checksum of the string $s$ using the key $x$
-(DEA~{\it checksumming} authentication)
-
-\itemm $a_{x+y}(s)$ the checksum of the string $s$ using the exclusive-or
-of the two keys $x$ and $y$
-
-\itemm $e_x(y)$ the encryption of the key $y$ using the key $x$
-(DEA~{\it electronic code book} encryption)
-
-\itemm $e_{x,y}(s)$ the encryption of the string $s$ using the key $x$
-and initialization vector $y$
-(DEA~{\it cipher block chaining} encryption)
-
-\itemm $h$ the headers of the message
-
-\noindent and,
-
-\itemm $b$ the body of the message
-\smallskip}
-\noindent
-For each message to be encrypted,
-a data key, initialization vector, authentication key (KD/IV/KA)
-triple is generated by a random process.
-(It goes without saying that the integrity of the system depends on the
-process being {\it random\/}).
-Then, for each user to receive a copy of the encrypted message,
-the following actions are taken:
-
-First, the headers of the message are output in the clear.
-Then, a {\it banner} string, $i$, is constructed and placed at the beginning
-of the body of the message:
-\example ENCRYPTED MESSAGE: TTI TMA\endexample
-which identifies the message as being encrypted by the \TTI/ \TMA/.
-Following the banner string is a structure, $m$,
-which takes on the syntax and most of the semantics of a cryptographic
-service message:
-$$\displayindent=\leftskip     \advance\displayindent by1.5\parindent
-    \halign{\hfil#/&   \enspace#\hfil\cr
-       MCL&    MAIL\cr
-       RCV&    rcvid\cr
-       ORG&    orgid\cr
-       IDK&    kkid\cr
-       KD&     $e_{kk}(ka)$\cr
-       KD&     $e_{kk}(kd)$\cr
-       IV&     $e_{kd}(iv)$\cr
-       MIC&    $a_{ka}(b)$\cr
-       MAC&    $a_{kd+ka}(m)$\cr
-}$$
-After this, the encrypted body is output, $e_{kd,iv}(b)$.
-In short, the entire output consists of
-$$h+i+m+e_{kd,iv}(b).$$
-
-The purpose of the structure $m$ is many-fold.
-The MCL field indicates the structure $m$'s type;
-currently only the type MAIL is generated and understood.
-The RCV and ORG fields identify the intended recipient of the message
-and the originator.
-The IDK field identifies the key-encrypting key, KK,
-used to encrypt the next two fields.
-The first KD field has the encrypted authentication key, KA,
-used to calculate the MIC of the plaintext of the body of the message.
-After the body of the message is deciphered, $a_{ka}(b)$ is calculated and
-compared to the value of the MIC field.
-Hence, the MIC field authenticates the message body.
-The second KD field has the encrypted data encrypting key, KD,
-which along with the encrypted initialization vector in the IV field
-was used to generate the ciphertext of the body.
-Finally, the MAC field authenticates the $m$ structure itself.
-The use of a data key, initialization vector, authentication key (KD/IV/KA)
-triple permits us to perform key distribution in a hierarchical fashion and
-allows the system to use a KK-relationship over a longer cryptoperiod
-without fear of compromise.
-
-The \TMA/ provides three primary interfaces to a \UA/ to send encrypted mail:
-the first takes a file-descriptor to a message
-and returns a structure $g$ (called a {\it group})
-describing the ciphertext version of the body
-(this structure contains a KD, IV, and KA generated at random,
-along with a file-descriptor to the plaintext headers,
-a file-descriptor to the ciphertext body,
-and the checksum of the plaintext body);
-the second takes a user entry (or \MTS/ address) and $g$,
-and returns a file-descriptor to the encrypted message
-for that user (or \MTS/ address);
-the third takes $g$ and performs clean-up operations.
-The chief advantage to this scheme of encryption
-is that if the message is to be sent to more than one recipient,
-then the MIC and the encrypted body need only be calculated once,
-since the KD, IV, and KA remain constant
-(only the KK's change with each recipient,
-hence for each copy of the encrypted message,
-only the structure $m$ need be re-calculated).
-
-There are, however, a few subtleties involved:
-\underbar{first},
-the \MTS/ usually accepts only 7--bit characters,
-so the encrypted text is exploded to consist of only printable characters;%
-\nfootnote{%
-As a rule, in all \CSM/s,
-when encrypted information is transmitted,
-it is exploded after encryption by the sender,
-and imploded prior to decryption by the receiver.}
-\underbar{second},
-since the \MTS/ may impose limits on the length of a line,
-each line of output is limited to 64~characters;
-and,
-\underbar{third},
-since the body may require trailing padding,
-during encryption
-one last unit of 8~bytes is written (and encrypted),
-naming the number of characters (presently, nulls) padded in the
-previous 8~bytes ($0\tdots7$).
-
-\subsection{Decrypting Mail}
-To decipher a message, the method is also straightforward:
-The headers are output in the clear.
-The banner string is essentially ignored,
-and the structure $m$ is consulted to identify the correct key-encrypting key.
-The \TMA/ checks to see if it knows of that KK.
-If not, it asks the \KDS/ to supply it.
-From that point,
-the KA, KD, and IV are deciphered.
-The $m$ structure is then authenticated.
-With the correct key,
-the remainder of the body is deciphered,
-and all except for the last 16~bytes are output.
-The last 8~bytes indicate how many of the previous 8~bytes should be output.
-So,
-the appropriate number of bytes is output,
-and the plaintext body is authenticated and compared to the MIC.
-Needless to say,
-as the body is deciphered,
-it is imploded back to 8--bit characters and lines are restored to their
-previous lengths.
-To indicate that the message was correctly deciphered,
-a new header of the form
-\example X-KDS-ID: orgid (originator's name)\endexample
-is appended to the headers of the message.
-Note that this provides an authentication mechanism.
-Note, further,
-that the \UA/ did not have to know the identity of the sender of the message.
-
-\section{Modifications to MH}
-\MH/ is a public domain \UA/ for \unix/,
-which is widely used in dealing with both a large number of electronic mail
-application and a large number of messages.
-Although this document does not intend to describe \MH/,
-parts of the system are described as they relate to the \TMA/.
-Readers interested in \MH/ should consult either the user's
-manual\cite{MRose85a} for a detailed description,
-or \cite{MRose85d} for a higher-level description.
-
-To modify \MH/ in order to make use of a \TMA/,
-three programs were changed (with a high degree of transparency to the user),
-and two new programs were introduced.
-
-In \MH/,
-when a user wishes to send a composed draft
-(which may be an entirely new message,
-a re-distribution of a message,
-a forwarding of messages,
-or a reply to a message),
-the user invokes the \pgm{send} program.
-This program performs some minor front-end work for a program called
-\pgm{post} which actually interacts with the \MTS/.
-A new option to the \pgm{send} and \pgm{post} programs,
-the \switch{encrypt} switch,
-is introduced.
-If the user indicates
-\example send\ -encrypt\endexample
-then \pgm{post} encrypts the messages it sends.
-
-When sending an encrypted message,
-\pgm{post} first checks that each addressee has a mapping to a \KDS/ ID
-during address verification.
-Then, instead of batching all addresses for a message in a single posting
-transaction,
-for each addressee,
-\pgm{post} consults the \TMA/ for the appropriately encrypted text and
-posts that instead.
-(Appendix~A discusses the reasons for this more fully.)
-Hence,
-assuming the user has established mappings between \MTS/ addresses
-and \KDS/ IDs,
-the \TMA/ does all the work necessary to encrypt the message,
-including contacting the \KDS/ as necessary.%
-\nfootnote{Once the \TMA/ establishes a connection to the \KDS/,
-it retains that connection until the \UA/ terminates.
-This is done to minimize connections to the \KDS/.
-In the context of \MH/,
-since the trusted mail agent is active over the lifetime of an invocation of
-a program such as \pgm{post},
-this means that the connection is terminated just before the program
-terminates.}
-
-In \MH/,
-when a user is notified that new mail has arrived,
-the \pgm{inc} program is run.
-As each message is incorporated into the user's message handling area,
-a scan (one-line) listing of the message is generated.
-
-By default,
-the \pgm{inc} program upon detecting one or more encrypted messages,
-after the scanning process,
-asks the \TMA/ to decipher the message,
-and if successful,
-scans the deciphered messages.
-This action can be inhibited with the \switch{nodecrypt} switch.
-Hence, if the user wishes to retain messages in encrypted form,
-\pgm{inc} can be told to note the presence of encrypted messages,
-but otherwise not to process them.
-By using the \MH/ user profile mechanism,
-\pgm{inc} can be easily customized to reflect the user's tastes.
-Again,
-the actions of the \TMA/ are transparent to the user.
-In fact,
-if encrypted mail is received from users unknown to the \TMA/,
-it queries the \KDS/ as to their identity prior to retrieving the
-KK-relationship.
-
-If \pgm{inc} fails to decrypt a message for some reason,
-or if \pgm{inc} was told not to decrypt a message,
-the \pgm{decipher} program can be used.
-This simple program merely deciphers each message given in its argument
-list.
-The \pgm{decipher} program can be given the \switch{insitu} switch,
-which directs it to replace the ciphertext version of the message with the
-plaintext version;
-or,
-the \switch{noinsitu} switch can be used indicating that the ciphertext
-version of the message should be left untouched and the plaintext version
-should be listed on the standard output.
-
-Finally,
-the \pgm{tma} program is used to manipulate the \TMA/ database,
-containing commands to boot the database,
-add new users to the database,
-and to establish mappings between addresses and users in the \TMA/ database.
-This program can also be used to disconnect KKs between other \TMA/s,
-and the KK/KA between itself and the \KDS/.
-
-Appendix~A of this paper contains a transcript of an \MH/ session.
-
-\section{Remarks}
-We now consider the merit of the system described.
-After presenting some of the basic strengths of the system
-and a few unresolved questions,
-the discussion centers on the simplifying assumptions made by the system,
-and how these can be defended in a non-military environment.
-
-\subsection{Strengths}
-It can be argued that the prototype system
-(and the augmented model in which it finds its basis)
-present many strengths.
-
-Perhaps the most important is the high-level of independence from the \MTS/
-enjoyed by the system.
-As a result,
-since the \TMA/ does not interact directly with the \MTS/,
-it can be made to be completely free from any \MTS/-specific attributes,
-such as naming, addressing, and routing conventions.
-Furthermore,
-when interfacing a \trustedmail/ system,
-no modifications need be made to the \MTS/ or local \MTA/.
-
-In addition to the systems-level advantage to this scheme,
-users of the system profit as well,
-since many disjoint \MTS/s can be employed by a user with a single \TMA/.
-This reduces the number of weaknesses in the system and allows a user to keep
-a single database of ``trusted'' correspondents.
-It should also make analysis and verification of the \TMA/ easier.
-
-Of course from the user-viewpoint,
-once the \TMA/ has been initially booted,
-all key management is automatic.
-Not only does this reduce the risk of compromise of cryptographic material
-(given proper construction and maintenance of the \TMA/),
-but it relieves the user of a tedious and error-prone task.
-
-Finally,
-although the \KDS/ described herein is used to support \trustedmail/,
-other applications which require key management,
-could employ the services offered by the key distribution center.
-
-\subsection{Open Questions}
-At present, there are many restrictions on the prototype implementation
-described.
-Some of these result from that fact that the implementation is a prototype
-and not a production system.
-Others deal with more fundamental issues.
-
-In terms of the \TMA/,
-the expiration delay for keys is hard-wired in;
-it should be user-settable.
-In the prototype version,
-the KK and KA with the \KDS/ are good for 2~days or 10~uses
-(whichever comes first),
-while a KK for use with another \TMA/ is good for 1~day or 5~uses.
-In actual practice,
-keys with long cryptoperiods might be good for 6~months or 100~uses,
-while keys with short cryptoperiods might be good for 1~month or 25~uses.
-The choice of actual values is an open question
-beyond the scope of prototype system.%
-\nfootnote{The current values were chosen by guess work.
-Although not necessarily technically sound,
-the small numbers were very good for debugging purposes.}
-In many respects, this issue is a classic trade-off:
-with relatively small cryptoperiods,
-an adversary has less chance of breaking a key,
-but with longer cryptoperiods less connections have to be made to the key
-distribution server.
-
-A fundamental issue,
-owing to differences between the EFT and CBMS environments,
-is that the \KDS/ implements only a subset of the \ansi/ draft
-and the semantics of certain operations have changed somewhat.
-It would be nice to unify the CBMS and EFT views
-of a {\it key distribution center}
-(in the former environment, the center is called a \KDC/,
-while in the latter environment, the center is known as a \CKD/).
-Appendix~C of this paper discusses the differences between the two
-perspectives in greater detail.
-
-At present,
-the relationship between errors in the \TMA/ and the posting process is an
-open question.
-For example,
-if an address doesn't have a mapping in the \TMA/ database,
-\pgm{post} treats this as an address verification error.
-This prevents the draft from being posted.
-The philosophy of the \UA/ is unclear at this point,
-with respect to how recovery should occur.
-A second area, also in question, deals with the way in which plaintext and
-ciphertext versions of a message are present in a system.
-Clearly, it is a bad idea to make both versions available,
-but since the \TMA/ doesn't try to concern itself with first party
-observation,
-there seems to be little possibility of preventing this behavior.
-The best that can be done,
-at this stage,
-is simply to choose a consistent policy that user's should attempt to adhere
-to.
-The software can help somewhat in implementing this policy,
-but it certainly can't circumvent the user.
-
-The prototype is built on the assumption that a single key
-distribution server is present.
-Since the \ansi/ draft\cite{FIKM} makes provisions for
-{\it key translation centers},
-the \trustedmail/ prototype should perhaps be made to operate in a more diverse
-environment.
-Until the issues become clearer,
-this remains open.
-
-Finally,
-for distribution lists,
-a large number of people would need to share the same \KDS/ ID.
-The current implementation doesn't support this.
-Each \TMA/ database is for a particular ID.
-A user with multiple IDs would need multiple databases,
-or the database should be re-organized.
-
-\subsection{Weaknesses}
-As pointed out earlier,
-this prototype system situates itself in a commercial, not military,
-environment.
-With respect to this decision,
-several aspects of the system are now discussed,
-which we feel are acceptable in a commercial environment,
-but which would be considered weaknesses in a military environment:
-
-\item{1.} Traffic Flow\hbreak
-The prototype \TMA/ makes no attempt whatsoever to prevent or confuse traffic
-analysis by augmenting traffic flow.
-
-\item{2.} The Database of \KDS/ Subscribers\hbreak
-Since information returned by the request user identification (RUI)
-and request identified user (RIU) MCLs are returned in the clear,
-this allows an adversary to ascertain subscribers to the \KDS/,
-and perhaps deduce some information about the system.
-Without knowledge of the master key however,
-an adversary could not impersonate a subscriber though.
-Still, in the military sense, this is a weakness.
-However,
-all this assumes that the database maintained by the \KDS/ accurately
-reflects the real-world.
-
-\item{3.} Multiple Recipients\hbreak
-It is possible, though not proven to the authors' knowledge,
-that the scheme used to avoid encrypting the body of a message more than once
-for multiple recipients might permit one of the recipients who is also an
-adversary to compromise the key relationship between the sender and another
-recipient.
-
-\item{} The scenario goes like this:
-When a message is being prepared for encryption,
-a single KD/IV/KA triple is generated to encrypt the body.
-Since the sender has a different key relationship with each recipient,
-each message sent is different, since the structure $m$ depends not only on
-the KD/IV/KA triple but also on the key relation between the sender and a
-particular recipient.
-Now suppose that one of the recipients, $r_1$,
-in addition to receiving the copy of the message meant for him/her also
-intercepts a copy of the message destined for another recipient, $r_2$.
-At this point,
-the recipient $r_1$ has both the plaintext and ciphertext version of the body,
-the plaintext version of the KD/IV/KA triple,
-and the ciphertext version of the KD/IV/KA triple that was generated using
-the key relationship between the sender and the recipient $r_2$.
-The question is:
-can $r_1$ now deduce the key relationship between the sender and $r_2$?
-
-\item{} If so, then the way that the \TMA/ attempts to minimize the use of
-encryption resources is a weakness.
-But, even if this is possible,
-given relatively short cryptoperiods for key relationships between \TMA/
-peers,
-this becomes a non-problem.
-
-\item{4.} Discussion Groups\hbreak
-As discussed earlier,
-the proposed method of associating a single \KDS/ ID with the membership of a
-discussion group does introduce a significant weakness for the security of
-messages sent to the discussion group.
-Since the \TMA/ does not assume a general broadcast facility,
-it appears that there are no good solutions to the problem of discussion
-group traffic.
-Of course,
-it is easy enough to simply send to each member of the group.
-
-\item{} For the sake of argument,
-let's assume that the discussion group has $n$ members.
-Now,
-since a different key relationship would exist between the sender and
-each of the $n$ recipients,
-the structure $m$ would be different for each recipient
-and so a different message would have to be sent to each recipient.
-To make matters worse,
-if one rejects the way the \TMA/ handles multiple recipients,
-not only does the \MTS/ get burdened with $n$ different messages,
-but the sender's \TMA/ gets burdened by having to encrypt
-the body of the message $n$ times.
-For meaningful values of $n$ (say on the order of~500, or even~25),
-the amount of resources required for any trusted discussion group are simply
-too costly.
-
-\subsection{Compromises, Compromises}
-Each of the possible weaknesses discussed above represent a compromise
-between the expense of the system and the level of security it can provide.
-
-The first two areas, if addressed by the \TMA/,
-could result in much less background information being available to an
-adversary.
-In an application where it is important that an adversary not know who is
-talking to whom,
-or who can talk at all,
-this is very important.
-It is the authors' position that in the commercial environment,
-this issue is not paramount.
-By ignoring the issue of traffic flow,
-the \TMA/ has a lot less work to do and the \MTS/ is kept clear of
-``useless'' messages.
-By keeping the information returned by the RUI and RIU MCLs in the clear,
-the complexity of the \TMA/ is significantly reduced.
-
-The second two areas, if addressed by the \TMA/,
-could result in a lesser probability of traffic being deciphered by an
-adversary.
-Regardless of the application,
-this is always extremely important.
-However,
-the authors' feel that the compromise made by the \TMA/ in these two issues
-is not substantial,
-and does not result in an explicit weakness when a message is sent to
-multiple recipients
-(note that when there is only a single recipient of a message,
-these two policies can not introduce weaknesses).
-In return, efficient use can be made of both the \MTS/ and the \TMA/ when
-messages are being sent to multiple recipients.
-Given scarce resources or large numbers of recipients,
-this approach may prove to be quite winning.
-
-Of course, much work remains to be done to prove the success of the \TMA/ in
-all four of these areas.
-
-\section{Acknowledgements}
-The prototype implementation described herein utilizes a public domain
-implementation of the DES algorithm\cite{DEA}
-which was originally implemented by James J.~Gillogly in May, 1977
-(who at that time was with the Rand Corporation,
-and is now affiliated with Gillogly Software).
-Interfaces to Dr.~Gillogly's implementation were subsequently coded by
-Richard W.~Outerbridge in September, 1984
-(who at that time was with the Computer Systems Research Institute
-at the University of Toronto,
-and is now affiliated with Perle Systems, Incorporated).
-
-The authors would like to acknowledge Dennis Branstad,
-Elaine Barker, and David Balensen of the National Bureau of Standards
-for their comments on the prototype system
-and insights on the ANSI draft\cite{FIKM}.
-In particular, Dr.~Branstad originally suggested the method used for
-encrypting a single message for multiple recipients under different keys.
-
-The authors (and all those who have read this paper) would like to thank
-Willis H.~Ware of the Rand Corporation,
-and Jonathon B.~Postel of the USC/Information Sciences Institute.
-Their extensive comments resulted in a much more readable paper.
-In addition,
-the authors would like to thank
-Dr. Stephen P.~Smith and Major Douglas A.~Brothers
-for their insightful comments.
diff --git a/docs/historical/trusted/trusted.tex b/docs/historical/trusted/trusted.tex
deleted file mode 100644 (file)
index d2e3ee2..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-% run this through PhD-TeX
-
-\input dcustom
-\articlestyle
-\input version
-
-\def\appendix#1#2{\dosection{Appendix #1: #2}}
-
-\def\draftext{%
-    \begingroup
-       \eightpoint\sf
-       Reprinted from
-       {\it Proceedings, Second International Symposium on Computer Message
-           Systems},
-       {\oldstyle 1985}%
-    \endgroup
-}
-\catcode`\@=11
-\def\draftstring{%
-    \ifnum\pageno>\z@
-       \begingroup
-           \eightpoint\sf
-           Copyright $\copyright$ {\oldstyle 1985},
-           IFIP TC-6
-       \endgroup
-    \fi
-}
-\def\uci@footpage{\draftstring\hfil\rm\folio}
-\catcode`\@=12
-
-\input sfwmac
-\def\CKD/{{\sf CKD}}
-\def\CSM/{{\sf CSM}}
-\def\KDC/{{\sf KDC}}
-\def\KDS/{{\sf KDS}}
-\def\MTA/{{\sf MTA}}
-\def\MTS/{{\sf MTS}}
-\def\TMA/{{\sf TMA}}
-\def\TTI/{{\sl TTI\/}}
-\def\UA/{{\sf UA}}
-
-\def\itemm$#1${\item{$#1\/$:}}
-
-\header
-    Design of the TTI Prototype\\
-       Trusted Mail Agent\title
-    Marshall T.~Rose$^\dagger$\\
-       David J.~Farber\\
-       Stephen T.~Walker\author\info
-\footnote{}{\hskip -\parindent
-$^\dagger$ All three authors are with Trusted Technologies, Incorporated,
-POB~45, Glenwood,~MD~21738, USA.
-Telephone:     301/854--6889.
-In addition, Professor Farber is with the University of Delaware.}
-
-\centerline{\sc Abstract}
-{\rightskip=0pt\narrower\narrower
-\noindent
-The design of the \TTI/ prototype Trusted Mail Agent (\TMA/) is discussed.
-This agent interfaces between two entities:
-a key distribution center (\KDC/) and a user agent (\UA/).
-The \KDC/ manages keys for the encryption of text messages,
-which two subscribers to a key distribution service (\KDS/) may exchange.
-The \TMA/ is independent of any underlying message transport system.
-
-\lp
-Subscribers to the \KDC/ are known by unique identifiers,
-known as IDs.
-In addition to distributing keys,
-the \KDC/ also offers a simple directory lookup service,
-in which the ``real-world'' name of a subscriber may be mapped to an ID,
-or the inverse mapping may be performed.
-
-\lp
-This document details three software components:
-\underbar{first},
-a prototype key distribution service,
-which has been running in a TCP/IP environment since December, 1984;
-\underbar{second},
-a prototype trusted mail agent;
-and, 
-\underbar{third},
-modifications to an existing \UA/,
-the Rand \MH/ Message Handling system,
-which permit interaction with the prototype \TMA/.
-\par}
-
-\input text
-\input refs
-\input appendixA
-\input appendixB
-\input appendixC
-\printcontents
-\unskip\footnote{}{\hskip -\parskip This document (version \versiontag/)
-was \TeX set \today\ with DISS.STY v\version.}
-\showsummary
-
-\bye
diff --git a/docs/historical/trusted/version b/docs/historical/trusted/version
deleted file mode 100644 (file)
index abdfb05..0000000
+++ /dev/null
@@ -1 +0,0 @@
-60
diff --git a/docs/historical/trusted/version.sh b/docs/historical/trusted/version.sh
deleted file mode 100644 (file)
index 9ec1e79..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-if [ ! -r version ]; then echo 0 > version; fi
-touch version
-echo '\catcode`\#=12' > version.tex
-awk '  { version = $1 + 1; }\
-END    { printf "\\def\\versiontag/{#1.%d}%%\n", version >> "version.tex"; \
-         printf "%d\n", version > "version"; }' < version
-echo '\def\versiondate/{'`date`'}%' >> version.tex
-echo '\catcode`\#=6' >> version.tex
-echo '\tell{Version \versiontag/ of \versiondate/}' >> version.tex
diff --git a/docs/historical/trusted/version.tex b/docs/historical/trusted/version.tex
deleted file mode 100644 (file)
index a4eb0f9..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\catcode`\#=12
-\def\versiontag/{#2.60}%
-\def\versiondate/{Thu Aug 8 14:53:26 PDT 1985}%
-\catcode`\#=6
-\tell{Version \versiontag/ of \versiondate/}
diff --git a/docs/historical/tutorial/Makefile b/docs/historical/tutorial/Makefile
deleted file mode 100644 (file)
index 1099838..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-#######################################################################
-# Instructions to Make, for generation of nice-looking papers using TeX
-#######################################################################
-
-.SUFFIXES:     .pic .web .tex .dvi .imp
-
-.pic.tex:;     tpic $<
-
-.web.tex:;     sh -c 'if weave $<; then exit 0; else rm $@; exit 1; fi'
-
-.tex.dvi:;     sh -c 'if TEXINPUTS=../doclib:.:${TEXINPUTS} tex \
-                       \\nonstopmode\\input $<\\bye; \
-                         then exit 0; else rm $@; exit 1; fi'
-
-.dvi.imp:;     dviimp $(DFLAGS) -i $@ $<
-
-
-#############################################################
-# Here it is...
-#############################################################
-
-all:           i-all
-print:         i-print
-
-
-#############################################################
-# tutorial
-#############################################################
-
-i-all:         tutorial.dvi
-
-i-print:       tutorial.dvi true
-               dvisp -J Tutorial tutorial.dvi
-
-
-# customization files, et. al., not included below
-tutorial.dvi:  version.tex
-
-version.tex:   tutorial.tex text.tex refs.tex version.sh
-               @: version.sh
-
-true:;
-
-
-
-
-##############################################################################
-#      Miscellaneous tasks
-##############################################################################
-
-distribution:   clean
-               rm -f tutorial.dvi tutorial.imp
-
-clean:;                rm -f tutorial.lof tutorial.log tutorial.lot tutorial.toc _*
diff --git a/docs/historical/tutorial/refs.tex b/docs/historical/tutorial/refs.tex
deleted file mode 100644 (file)
index f50b724..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-\let\journalinfo=\jourinfo
-\let\thesis=\book                      % experimental
-\let\thesisinfo=\bookinfo              %  ..
-
-\references
-
-\ref{MRose84}
-\by M.T.~Rose.
-\paper The Rand \MH/ Message Handling System: The UCI BBoards Facility
-\other
-\publ Department of Computer and Information Sciences
-\publaddr University of Delaware
-\month October\year 1984
-\endref
-
-\ref{MRose85a}
-\by M.T.~Rose, J.L.~Romine.
-\paper The Rand \MH/ Message Handling System: User's Manual
-\paperinfo UCI Version
-\other
-\publ Department of Information and Computer Science
-\publaddr University of California, Irvine
-\month January\year 1985
-\endref
-
-\ref{MRose85b}
-\by M.T.~Rose.
-\paper The Rand \MH/ Message Handling System: Administrator's Guide
-\paperinfo UCI Version, MH Classic
-\other
-\publ Northrop Corporation
-\publaddr Research and Technology Center
-\month July\year 1985
-\endref
-
-\ref{SPayn85}
-\by S.~Payne
-\paper MH5: Electronic Mail
-\paperinfo Rand Note \#N-2281-RCC
-\other
-\publ The Rand Computation Center
-\publaddr Rand, 1700 Main St., Santa Monica, CA  90406-2138
-\month May\year 1985
-\endref
-
-\endreferences
diff --git a/docs/historical/tutorial/text.tex b/docs/historical/tutorial/text.tex
deleted file mode 100644 (file)
index 471aaa2..0000000
+++ /dev/null
@@ -1,803 +0,0 @@
-% begin text
-
-\banner
-
-\f\section{Acknowledgements}
-The \MH/ system described herein is based on the original Rand \MH/ system.
-It has been extensively developed (perhaps too much so) by Marshall Rose and
-John Romine at the University of California, Irvine.
-Einar Stefferud, Jerry Sweet, and Terry Domae provided numerous suggestions
-to improve the UCI version of \MH/.
-
-Parts of this document are taken from a Rand tutorial \cite{SPayn85} by
-Sue Payne.
-
-\f\section{Disclaimer}
-The Regents of the University of California issue the following
-disclaimer concerning the UCI version of MH:
-\bigquote
-Although each program has been tested by its contributor,
-no warranty, express or implied,
-is made by the contributor or the University of California,
-as to the accuracy and functioning of the program
-and related program material,
-nor shall the fact of distribution constitute any such warranty,
-and no responsibility is assumed by the contributor
-or the University of California in connection herewith.
-\endbigquote
-
-\f\section{Scope}
-This document assumes that you have no knowledge of \MH/.
-However, to use \MH/ you should have some familiarity with the \unix/ 
-operating system,
-particularly with the way commands are given,
-how files are named,
-the jargon (e.g. {\it shell}, {\it argument}, {\it home directory},
-{\it pathname\/}),
-and how to use a text editor (such as \pgm{ex}, \pgm{vi}, or \pgm{emacs\/}).
-
-This tutorial covers only basic material.
-For additional information about \MH/,
-consult the {\it User's Manual} \cite{MRose85a}.
-Other documents of possible interest to you include
-{\it The UCI BBoards Facility} \cite{MRose84}
-and
-the {\it MH Administrator's Guide} \cite{MRose85b}.
-
-\f\section{How To Use This Tutorial}
-Different typefaces and symbols are used in this document to denote the
-kinds of things you (the user) must type on your keyboard.
-\smallskip
-{\advance\leftskip by\parindent
-\item{1.} The names of programs are given in {\it text italics}:
-\smallskip\hskip 1in \pgm{comp}\smallskip
-\item{2.} Arguments to programs are given in {\tt typewriter style},
-delimited by single-quotes:
-\smallskip\hskip 1in \arg{msgs}\smallskip
-\item{3.} \unix/ pathnames are given in {\sl slanted roman}:
-\smallskip\hskip 1in \file{/usr/uci/}\smallskip
-\item{4.} Text giving a full example is presented in {\tt typewriter style}:
-\example comp\ -editor\ vi\endexample
-The ``\hbox{\tt\char`\ }'' glyph % (visible space glyph)
-is used to indicate an explicit space (the kind you make with the
-space bar on your keyboard).
-\smallskip}
-
-\f\section{Introduction}
-With \MH/ you can send messages to other people on your system
-and read messages that other people send to you.
-Depending on how things have been set up on your system,
-it may be possible for you to send messages to people on remote systems.
-You can also reply to messages that you have received,
-review them,
-organize them in {\it folders},
-and delete them.
-
-\MH/ differs from other mail programs in that it is composed of many
-small programs instead of just one very large program.
-Among new users this sometimes causes some confusion
-along the lines of ``what program do I run?''
-With \MH/, you use the shell to invoke one program at a time.
-This means that when you handle mail,
-the entire power of the shell is at your disposal
-in addition to the facilities that \MH/ provides.
-In the beginning, this may not make much sense or may not seem important.
-However, we have found that as new users of \MH/ gain experience, 
-they find this style of interface to be very useful.
-
-\f\section{Summary}
-The most minimal list of \MH/ commands that you can get by with is:
-\smallskip
-{\advance\leftskip by\parindent
-\item{\pgm{inc}}       - incorporate mail (get new mail)
-\item{\pgm{show}}      - show the first message
-\item{\pgm{next}}      - show the next message
-\item{\pgm{prev}}      - show the previous message
-\item{\pgm{comp}}      - compose a new message to send
-\item{\pgm{repl}}      - reply to a received message
-\smallskip}
-\pgm{Comp} and \pgm{repl} give enough prompting possibly to get you along.
-However, it is suggested that you take the time to peruse this
-tutorial before leaping into things.
-
-\f\section{Messages and Folders}
-A message takes the form of a memorandum,
-and is composed of two major parts:
-a {\it header},
-which contains such information as
-\eg{To} and \eg{From} addresses, \eg{Subject}, \eg{Date}, etc.;
-and the {\it body},
-which is the actual text of the message.
-Each {\it component} in the header starts with a keyword followed by
-a colon and additional information.
-For example, in the message:
-\example
-    Date: 10 Oct 84 17:41:14 EDT (Wed)\\
-    To: News@udel-dewey\\
-    Subject: UCI Software Talk\\
-    From: UCI Portal (agent: Marshall Rose) <uci@udel-dewey>\\\\
-    This is the text.
-\endexample
-there are four header items, and one line of text in the body.
-Note that a blank line separates the body from the headers.
-
-\MH/ stores a message as an ordinary file in a \unix/ directory.
-This directory is called a {\it folder}.
-If you choose to keep and organize your messages,
-you may create as many folders as you wish.
-There is no limit as to the number of messages in a folder.
-Typically messages are numbered from~1 up.
-All of your personal folders,
-along with some other information that \MH/ needs to know,
-are kept in a special directory called \file{Mail} under your home directory.
-Normally, \MH/ manages these files and directories automatically,
-so you needn't muck around with them directly unless you really want to.
-
-You won't have any folders until somebody sends mail to you, as a rule.
-If you are anxious to try out \MH/, but no one has sent you mail yet,
-try sending mail to yourself to start out with.
-
-\f\section{Reading New Mail}
-When you are notified that you have mail (usually when you log in),
-perhaps with the message
-\example You have mail.\endexample
-then you know that messages are waiting in your {\it maildrop}.
-To read these messages, you first have to {\it incorporate} the mail
-into your ``in-box'' by typing the command:
-\example inc\endexample
-This incorporates the new mail from your mail drop to your in-box,
-which is a folder named (naturally enough) \arg{+inbox}.
-As \pgm{inc} incorporates your new mail,
-it generates a {\it scan listing} of the mail:
-$$\vbox{\tenpoint\tx\halign{\hfil#&#\hfil&&    \quad#\hfil\cr
-\noalign{\noindent Incorporating new mail into inbox...\medskip}
-2&+&   10/10&  WESTINE\%USC-ISIF&      RFC 916 Now Available&
-                                       <<A new Request for Co\cr
-3&&    10/10&  G B Reilly&             Gosling EMACS manual&
-                                       <<Marshall, I am lookin\cr
-4&&    10/11&  WESTINE\%USC-ISIF&      Internet Monthly Report&\cr
-}}$$
-Each time \pgm{inc} is invoked,
-any new messages are added to the end of your \eg{+inbox} folder.
-
-To read the first message,
-use the \pgm{show} command:
-\example show\endexample
-This displays the current message.
-To read each subsequent message,
-use the \pgm{next} command:
-\example next\endexample
-If you want to back up,
-the command \pgm{prev} shows the previous message.
-Another way to read your messages is to name them all at once:
-\example show\ all\endexample
-This command displays them all, one after the other.
-The \arg{all} argument to \pgm{show} above might also be replaced
-with \arg{next} or \arg{prev}, as in
-\example
-    show\ next\\
-    show\ prev
-\endexample
-which are respectively equivalent to the \pgm{next} and \pgm{prev}
-commands.
-
-If you have had occasion to type \pgm{inc} more than once, then
-you will find that \eg{show\ all} is showing not only the new messages,
-but also the old messages that you've already seen.
-Therefore, you might find it better to use
-\example show\ cur-last\endexample
-instead.
-This command displays messages from the current message (\arg{cur})
-to the last message (\arg{last}).
-Each time \pgm{inc} is invoked, it makes the first new message
-the current message.
-It should be noted here that the name \arg{all} given in a previous
-example is equivalent to the {\it message range} \arg{first-last},
-where \arg{first} is the name of the first message in \arg{+inbox}.
-Also, \eg{show} by itself is equivalent to
-\example show\ cur\endexample
-
-As mentioned earlier,
-with the \unix/ shell as your interface to \MH/,
-it becomes easy to list a message on a line printer or to another file.
-For example,
-\example show\ all\ |\ lpr\endexample
-lists all the messages in the current folder to the line printer.
-
-To summarize, the preceding has introduced these important concepts:
-{\it folders} (in particular, the \arg{+inbox} folder),
-{\it messages},
-{\it message names} (e.g. \arg{prev}, \arg{next}, \arg{cur}, \arg{last}),
-and {\it message ranges} (e.g. \arg{cur-last}, \arg{all}).
-More will be said about folders and messages in succeeding sections.
-
-\f\section{Sending Messages}
-To send a message, you compose a message {\it draft},
-either by replying to a message that someone sent to you,
-or by creating a draft from scratch.
-The \pgm{send} command is used {\bf after} completing the final draft
-of a message, 
-in the same way that you mail a paper letter only after you are finished
-writing it.
-This is a common source of confusion among new \MH/ users who
-may have had experience with other mail systems.
-
-This section discusses how to originate messages
-and how to reply to messages that were previously received,
-along with a word or two about addresses.
-
-\subsection{Originating Messages}
-To create a message draft from scratch,
-use the \pgm{comp} program.
-You will be prompted for the header components
-and then the body of the message.
-If you make a mistake, you may correct it later with a text editor.
-The draft will be sent only if you give an explicit \pgm{send} command,
-so you do not have to worry about the draft getting away from you
-prematurely.
-
-To start, you simply type:
-\example comp\endexample
-
-{\bf To:}
-First, the prompt \arg{To:} appears.
-Here you type the address of the person to whom you wish the message sent.
-If this person is on the same computer system as you,
-then that person's login ID should serve as the address
-(e.g. \arg{mrose} or \arg{jsweet}).
-
-Here we digress briefly to discuss addresses.
-A full discussion of addresses is beyond the scope of this
-tutorial, but it should be mentioned that there are other
-kinds of addresses besides login IDs.
-To send messages to people on remote systems, 
-the usual way is to type \arg{login-id@host} in the \arg{To:} component,
-as in \arg{MRose@UCI-ICSA}.
-Examples of \arg{host} names at UCI include
-\arg{uci-icsa},
-\arg{uci-icse},
-and \arg{uci-cip1}.
-Upper and lower case letters may be used interchangeably.
-Sometimes a person's last name (e.g. \arg{Rose}, \arg{Sweet}) can be used
-instead of a login ID,
-but this cannot be relied upon in a world without unique surnames.
-
-{\bf cc:}
-After you have given an address to the \arg{To:} prompt, 
-you are prompted for the \arg{cc:}
-(``carbon copy''--an archaism)
-address.
-It is customary, but not required, to put your own address
-here so that you get a copy of the message when it is sent.
-
-To put more than one address in the \arg{To:} and
-\arg{cc:} components,
-just use a comma (``,'') between each address on a line.
-
-{\bf Subject:}
-The third prompt is for the \arg{Subject:} component.
-Here a line of any descriptive text will do.
-Once you have typed a line of text, a dashed line is printed,
-and you are then expected to type the body of the message.
-End the body with EOT (usually CTRL-D).
-
-An example of a complete message draft, as it appears on your screen,
-might be:
-\example
-    To: News\\
-    cc: farber, mrose\\
-    Subject: UCI Software Talk\\
-    --------\\
-    A presentation on the UCI software suite, including\\
-    the Rand/UCI Mail Handling System (MH), will be given\\
-    in CS220 on October 31st at 2:30 PM.  Refreshments\\
-    will be served afterward.\\\\
-    /mtr\\
-    \^{}D
-\endexample
-(The ``\^{}D'' does not appear in the draft.)
-
-At this point, you are asked
-\example What\ now?\endexample
-This is known as being at \whatnow/ level.
-For now, there are probably only four options that will interest you:
-\smallskip
-{\advance\leftskip by\parindent
-\item{\pgm{edit}} - edit the draft
-\item{\pgm{list}} - list the draft on your screen
-\item{\pgm{quit}} - quit, without sending the draft
-\item{\pgm{send}} - send the draft, then quit
-\medskip}
-\noindent
-All of these options take various arguments,
-but only \pgm{edit} really needs an argument.
-
-{\bf Edit:}
-The \pgm{edit} option will let you edit the draft before sending it.
-If your favorite text editor is \pgm{vi},
-then you would use the \pgm{edit} option as:
-\example edit\ vi\endexample
-Just specifying \pgm{edit} with no argument
-will only let you append text to the body of the
-message draft.
-Another editor (e.g. \pgm{vi}, \pgm{ex}, \pgm{emacs\/})
-should really be run to finish the draft up.
-When you leave the editor, you will come back to the \whatnow/ level,
-where you can re-edit the draft, send it, list it, or simply quit
-without sending the draft at all.
-
-Caution: while in the editor,
-you should not delete colons in the headers
-or change the spelling of \arg{To:}, \arg{cc:}, or \arg{Subject:};
-and do not leave blank lines between these lines.
-Feel free to change the addresses that you typed previously,
-or to add these lines if they are missing.
-Do not delete the dashes that separate the header lines from
-the text of the message.
-You should not add additional header lines unless you understand
-precisely what you are doing.  
-This means particularly that you should not type or fill in a \arg{From:}
-line.
-When the message is sent, the system automatically adds this line.
-Also, you should not type a \arg{Date:} line in the header.
-When the message is sent, the system automatically adds the current
-date and time.
-
-{\bf Quit:}
-If you \pgm{quit} without sending the draft,
-the draft is saved in a file called \file{Mail/draft} under your
-home directory.
-This file can be recalled later using the \arg{-use} argument
-to \pgm{comp}:
-\example comp\ -use\endexample
-The \whatnow/ level will permit you to do further editing
-and to send the final draft when you are ready.
-
-{\bf Send:}
-When it is time to send the draft on its way,
-use the \pgm{send} option by itself.
-If there are any problems with the draft 
-(for example,
-if one or more of the people whom you specified in the \arg{To:} and \arg{cc:}
-components do not exist)
-then you will be notified at this time.
-
-\subsection{Replying to Messages}
-To reply to a message,
-use the \pgm{repl} command.
-For example,
-\example repl\endexample
-creates a reply to the current message.
-You may also reply to a specific message (other than the current one)
-by giving a {\it message number} (e.g. \arg{1}, \arg{4}, etc.)
-or a {\it message name} (e.g. \arg{first}, \arg{last}, \arg{prev}):
-\example repl\ prev\endexample
-We haven't really introduced message numbers yet.
-They will be discussed in the next section.
-
-The process of replying to a message is very similar to composing
-a message from scratch (see the previous section),
-but \pgm{repl} conveniently constructs and displays the header
-of the reply draft for you.
-You need only type in the text of the reply.
-An EOT (usually CTRL-D) indicates that you are done typing.
-If you make a mistake, you may correct it later with a text editor.
-The draft will be sent only if you give an explicit \pgm{send} command,
-so you do not have to worry about the draft getting away from you
-prematurely.
-
-An example of a complete reply draft, as it appears on your screen might be:
-\example
-    To: MRose\\
-    cc: JSweet\\
-    Subject: Re: UCI Software Talk\\
-    In-reply-to: Your message of 10 Oct 84 18:15:08 PDT (Wed).\\
-    --------\\
-    I'll be there.\\
-    -jns\\
-    \^{}D      
-\endexample
-(The ``\^{}D'' does not appear in the draft.)
-
-At this point, you are asked
-\example What\ now?\endexample
-This is known as being at \whatnow/ level.
-Refer to the previous section regarding how to edit,
-display, or send the draft at this point.
-
-As with \pgm{comp}, 
-if you \pgm{quit} without sending the reply draft,
-the draft is saved in a file called \file{Mail/draft} under your
-home directory.
-This file can be recalled later using the \arg{-use} argument
-to \pgm{comp}:
-\example comp\ -use\endexample
-The \whatnow/ level will permit you to do further editing
-and to send the final draft when you are ready.
-
-\f\section{Scanning Messages}
-The scan listing created by \pgm{inc} shows the {\it message number},
-the date on which the message was sent,
-the sender,
-and the subject of the message.
-If there is sufficient space remaining on the line,
-the beginning of the text of the message is displayed as well,
-preceded by two left angle brackets (``{\tenpoint\tx$<<$\/}'').
-An example of a scan listing is:
-$$\vbox{\tenpoint\tx\halign{\hfil#&#\hfil&&    \quad#\hfil\cr
-1&+&   10/10&  WESTINE\%USC-ISIF&      RFC 916 Now Available&
-                                       <<A new Request for Co\cr
-2&&    10/10&  G B Reilly&             Gosling EMACS manual&
-                                       <<Marshall, I am lookin\cr
-3&&    10/11&  WESTINE\%USC-ISIF&      Internet Monthly Report&\cr
-}}$$
-Note that all messages have message numbers.
-
-To generate your own scan listing, use the \pgm{scan} program.
-Typing simply
-\example scan\endexample
-will list all the messages in the current folder.
-To scan a subset of these messages,
-you can specify the numbers of the messages that you consider interesting,
-e.g.,
-\example scan\ 2\ 3\endexample
-Message names may be specified in addition to discrete message numbers.
-The built-in message names recognized by \MH/ are:
-\smallskip
-{\advance\leftskip by\parindent
-\item{\underbar{all}:} all messages in the folder (\arg{first-last})
-\item{\underbar{first}:}       the first message in the folder
-\item{\underbar{last}:}        the last message in the folder
-\item{\underbar{prev}:}        the message immediately before the current message
-\item{\underbar{cur}:} the current message
-\item{\underbar{next}:}        the message immediately after the current message
-\medskip}
-\noindent
-
-Message ranges may be specified in addition to discrete message numbers
-or names by separating the beginning
-and final message numbers with a dash (``-'').
-For example,
-\example scan\ 5-10\endexample
-scans messages~5 through~10 inclusive.
-A range of messages may also be specified by separating a beginning
-message number and a relative number of messages with
-a colon (``:'').
-For example,
-\example scan\ last:3\endexample
-scans the last three messages in the folder.
-Similarly,
-\example scan\ first:3\endexample
-scans the first three messages in the folder;
-\example scan\ next:3\endexample
-scans the next three messages;
-\example scan\ cur:3\endexample
-scans the three messages beginning from the current message;
-\example scan\ 100:4\endexample
-scans four messages beginning from message number 100.
-
-To summarize, the important concepts that have been discussed
-in the section are:
-{\it message ranges},
-{\it message numbers},
-and {\it message names}.
-When an \MH/ command is described as taking a \arg{msg} argument,
-it accepts either a message name or a message number.
-Most \MH/ commands are described as taking \arg{msgs} arguments,
-meaning that more than one message or message range is accepted.
-
-\f\section{Deleting Messages}
-To delete a message, use the \pgm{rmm} program.
-By default, \pgm{rmm} deletes the current message,
-but you can give \pgm{rmm} a list of messages to be removed as well.
-There is no corresponding ``\pgm{unrmm}'' program,
-but clever users with a need will find out how to change the way \pgm{rmm}
-works so that it simply moves messages to another folder
-(say, \arg{+wastebasket}).
-
-\f\section{Filing Messages}
-The possibility of having folders other than \eg{+inbox} has been mentioned
-previously.
-The methods for moving messages between folders and manipulating folders
-are discussed here.
-
-The \pgm{refile} command moves messages from a {\it source folder} to one or
-more {\it destination folders}.
-By default, the current message is moved from the {\it current folder} 
-(typically \arg{+inbox}) to another folder specified as an
-argument to \pgm{refile}.
-For example,
-\example refile\ +todo\endexample
-moves the current message from the current folder to the folder \eg{+todo}.
-To move messages from a folder other than the current folder,
-use the \switch{src +folder} switch, as in
-\example refile\ -src\ +todo\ last\ +save\ +notes\endexample
-which moves the last message in the \eg{+todo} folder to the folders
-\eg{+save} and \eg{+notes}.
-Note that this operation is a {\it move}, not a {\it copy};
-it removes the message from the source folder.
-To keep a copy in the source folder as well, use the \switch{link} switch
-\example refile\ -link\ -src\ +todo\ last\ +save\ +notes\endexample
-
-Whenever a folder argument is given to an \MH/ command,
-that folder becomes the {\it current folder}.
-To find out which folder is current, use the command
-\example folder\endexample
-The \pgm{inc} command sets the current folder back to \arg{+inbox}
-by default.
-To find out about all of a user's folders, use the command
-\example folders\endexample
-Since folders can contain other folders,
-the command
-\example folders\ -recurse\endexample
-will recursively examine each folder for you.
-
-To set the current folder, without doing anything else,
-use the \pgm{folder} program with a folder argument.
-Hence,
-\example folder\ +inbox\endexample
-makes \eg{+inbox} the current folder.
-
-After a using \pgm{rmm} and \pgm{refile} on a folder a number of times,
-there tend to be gaps in the numbering sequence.
-To compress the numbers for the all messages in a folder,
-use
-\example folder\ -pack\endexample
-
-\f\section{The Profile}
-You can customize the \MH/ environment by editing your \profile/ file.
-Although there are lots of options,
-here are the most useful:
-\smallskip
-{\advance\leftskip by\parindent
-\item{\underbar{Editor}:} lists the default editor that \pgm{comp} and
-\pgm{repl} should use.
-The default is
-\example editor:\ prompter\endexample
-but another editor might be preferred.
-
-\item{\underbar{{\it editor}-next}:} lists the editor that should be used
-after the last edit with {\it editor}.
-Hence, if you have a profile entry
-\example prompter-next:\ vi\endexample
-after editing a draft with \pgm{prompter},
-and being at \whatnow/ level,
-you could say \eg{edit} (instead of \eg{edit vi})
-to continue to edit the draft with \pgm{vi}.
-
-\item{\underbar{Msg-Protect}:}
-Whenever \MH/ creates a message (for example, with \pgm{inc\/}),
-this is the octal protection mode that the message is created with.
-The default is
-\example Msg-Protect:\ 644\endexample
-This protection mode permits all other users on the system to read
-your messages.
-To maintain privacy, the mode 600 should be used.
-Note that changing the mode in the profile does not change the modes
-of messages that have been created already.
-Use the \unix/ command \pgm{chmod} to change the modes of your
-existing messages.
-
-\item{\underbar{Folder-Protect}:}
-Whenever \MH/ creates a folder (for example, with \pgm{refile\/}),
-this is the octal mode that the folder is created with.
-The default is
-\example Folder-Protect:\ 711\endexample
-This mode permits other users on the system to make access to
-specific messages in your folders.
-To maintain stricter privacy, the mode 700 should be used.
-
-\item{\underbar{{\it program\/}}:}
-Each \MH/ program that reads user's \profile/ file
-looks for an entry beginning with its own
-name to determine its initial defaults.
-For example,
-if you want the default editor for \pgm{repl} to be \pgm{emacs},
-the line
-\example repl:\ -editor\ emacs\endexample
-is sufficient.
-Command line arguments tend to override profile settings.
-Given the profile setting for \pgm{repl} above,
-if you invoked \pgm{repl} with
-\example repl\ -editor\ vi\endexample
-\pgm{repl} would use the \pgm{vi} editor instead
-of \pgm{emacs}.
-
-\item{\underbar{signature}:}
-When \MH/ posts mail for you,
-it looks for this profile entry for your ``real world'' name.
-For example,
-\example signature:\ Marshall\ Rose\endexample
-The contents of the \eg{signature:} entry in the profile should be a simple
-phrase, with no embedded periods (e.g. ``Marshall T.~Rose'').
-\medskip}
-\noindent
-Note that your profile resembles the header portion of a message.
-Be sure that it is properly formatted by placing a colon after each entry
-name,
-and keep each entry on a single line.
-
-\f\section{Conventions}
-Now let's summarize the conventions that \MH/ programs use:
-\smallskip
-{\advance\leftskip by\parindent
-\item{1.} Any \MH/ command that deals with messages can be given a
-\arg{+folder} argument to say which folder to use.
-However, only one \arg{+folder} argument may be given per command
-in most cases.
-
-\item{2.} If an \MH/ command accepts a \arg{msgs} argument,
-then any number of messages can be given to the command.
-The \MH/ command will expand all the ranges and process each message,
-starting with the lowest numbered one and working its way to the message with
-the highest number.
-
-\item{3.} If an \MH/ command accepts a \arg{msg} argument,
-then at most one message can be given.
-
-\item{4.} Switches (options) to \MH/ commands start with a dash.
-Unlike the standard \unix/ convention,
-each switch consists of more than one character,
-for example \switch{header}.
-To minimize typing,
-only a unique abbreviation of the switch need be typed;
-thus for \switch{header}, \switch{hea} is probably sufficient,
-depending on the other switches accepted by the command.
-
-\item{5.} All \MH/ commands have a \switch{help} switch,
-which {\it must} be spelled out fully.
-When an \MH/ command encounters the \switch{help} switch,
-it prints out the syntax of the command,
-the switches that it accepts,
-and version information.
-In the list of switches,
-parentheses indicate required characters.
-For example,
-all \switch{help} switches will appear as \switch{(help)},
-indicating that no abbreviation is accepted.
-
-\item{6.} Many \MH/ switches have both on and off forms,
-such as \switch{format} and \switch{noformat}.
-In these cases,
-the last occurrence of the switch on the command line determines the setting
-of the option.
-
-\item{7.} All \MH/ commands that read your \MH/ profile operate the
-same way:
-\underbar{first},
-the profile is consulted for an entry matching the name with which
-the command was invoked;
-\underbar{second},
-if such an entry was found,
-then the command immediately uses the arguments listed;
-\underbar{third},
-any arguments on the command line are then interpreted.
-Since most switches have both on and off forms,
-it's easy to customize the default options for each \MH/ command in the
-\profile/,
-and to override those defaults on the command line.
-\smallskip}
-
-\f\section{Online Documentation}
-Each \MH/ program has its own \unix/ manual entry.
-For example, to get information about \pgm{comp},
-type
-\example man\ comp\endexample
-The manual entry for \man mh(1) lists all \MH/ commands,
-while the manual entry for \man mh-chart(1) lists the syntax and switches for
-all \MH/ commands.
-
-In addition,
-here are a few other manual entries might be found useful:
-\smallskip
-{\advance\leftskip by\parindent
-\item{\man mh-alias(5)} to find out how aliases in \MH/ work;
-\item{\man mh-mail(5)} to find out how \MH/ stores and interprets messages
-(this manual entry explains all of the standard header components);
-\item{\man mh-profile(5)} to find out about the \MH/ user-environment.
-\smallskip}
-
-The manual pages for \MH/ are in the standard \unix/ format,
-but contain additional sections unique to \MH/.
-Here's a summary of the sections one might find in an \MH/ manual entry:
-\smallskip
-{\advance\leftskip by\parindent
-\item{\sc Name} command name and one-line description.
-
-\item{\sc Synopsis} syntax of the command.\hbreak
-All commands accept a \switch{help} switch.
-
-\item{\sc Description} semantics of the command.
-
-\item{\sc Files} files used by the command\hbreak
-Almost always this includes \file{.mh\_profile}.
-
-\item{\sc Profile} entries in the \profile/ used by the command;
-\vskip -\parskip
-\item{\sc Components} these do not include the profile entry for the
-command itself.
-
-\item{\sc See Also} other \unix/ manual entries (usually \MH/ programs) that
-are related to this command.
-
-\item{\sc Defaults} default arguments for the command\hbreak
-If the command takes a \arg{+folder} argument,
-this defaults to the current folder.
-If the command takes a \arg{msg} argument,
-this defaults to the current message.
-If the command takes a \arg{msgs} argument,
-this defaults to the current message or all messages,
-depending on which one makes more sense.
-
-\item{\sc Context} changes to your \MH/ context made by the command.
-
-\item{\sc Hints} Helpful hints discussing the easy way to do things.
-
-\item{\sc History} A historical perspective on why \MH/ works the way it does.
-
-\item{\sc Bugs} Too embarrassing to mention.\hbreak
-Just kidding.
-\medskip}
-\noindent
-Obviously, not all \MH/ manual entries may have all of these sections.
-
-\f\section{Reporting Problems}
-If problems are encountered with an \MH/ program,
-the problems should be reported to the local maintainers of \MH/.
-When doing this,
-the name of the program should be reported,
-along with the version information for the program.
-To find out what version of an \MH/ program is being run,
-invoke the program with the \switch{help} switch.
-In addition to listing the syntax of the command,
-the program will list information pertaining to its version.
-This information includes the version of \MH/,
-the host it was generated on,
-the date the program was loaded,
-and the configuration options in effect when \MH/ was generated.
-For example,
-\example
-    version: MH 6.1 \#1[UCI] (gremlin) of Wed Nov  6 01:13:53 PST 1985\\
-    options: [BSD42] [MHE] [NETWORK] [SENDMTS] [MMDFII] [SMTP] [POP]\endexample
-The \eg{6.1~\#1[UCI]} indicates that the program is from the UCI \mh6
-version of \MH/.
-The program was generated on the host \eg{gremlin} on
-\eg{Wed Nov  6 01:13:53 PST 1985}.
-It's usually a good idea to send the output of the \switch{help} switch along
-with your report.
-
-If there is no local \MH/ maintainer,
-try the address {\tx Bug-MH}.
-If that fails, use the Internet mailbox {\tx Bug-MH@UCI.ARPA}.
-
-\f\section{More on MH}
-There are myriad aspects of \MH/ that this tutorial hasn't touched upon.
-Here are a few to whet your appetite:
-\smallskip
-{\advance\leftskip by\parindent
-\item{1.} user-defined sequences\hbreak
-Define {\it meaningful} message names and shorten type-in considerably
-(see \man pick(1) for details).
-
-\item{2.} draft folders\hbreak
-Maintain a folder of drafts so that more than one draft can be edited at a
-time,
-and allow a draft to be edited over several \unix/ sessions independently of
-other drafts
-(see the {\bf Advanced Features} section of the \MH/ user's manual for
-details).
-
-\item{3.} draft pushing\hbreak
-Post a draft in the background
-and immediately free your terminal for other activities
-(see the {\bf Advanced Features} section of the \MH/ user's manual for
-details).
-
-\item{4.} aliases\hbreak
-Maintain one or more alias files containing the addresses of the people
-frequently (or infrequently) sent to.
-This lets you shorten type-in of addressees
-and saves you from looking up
-their addresses all the time.
-(see \man mh-alias(5) for details).
-\smallskip}
diff --git a/docs/historical/tutorial/tutorial.tex b/docs/historical/tutorial/tutorial.tex
deleted file mode 100644 (file)
index 2e99104..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-% run this through PhD-TeX
-
-\input dcustom
-\articlestyle
-\draftfalse
-\input version
-
-\input sfwmac
-
-\header
-    The Rand MH Message Handling System:\\\\
-       Tutorial\title
-    Marshall T.~Rose$^\dagger$\\
-    Jerry N.~Sweet$^\ddagger$\author
-    \versiondate/\info
-\footnote{}{\hskip -\parindent Computer Mail:
-$^\dagger$ {\tx MRose@NRTC.NORTHROP.COM},
-$^\ddagger$ {\tx JSweet@ICS.UCI.EDU}.}
-
-\centerline{\sc Abstract}
-{\rightskip=0pt\narrower\narrower
-\noindent
-This document introduces the UCI version of the Rand \MH/ system to novice
-users.
-In particular, this tutorial discusses
-how to read, send, reply to, and review mail;
-aspects of the \MH/ user profile affecting these activities;
-and other reference works on \MH/.
-
-Although this document is based on the standard \MH/ user
-manual\cite{MRose85a},
-this document is meant to supplement, not supersede,
-that lengthier work.
-
-Comments concerning this documentation should be addressed to the Internet
-mailbox {\tx Bug-MH@ICS.UCI.EDU}.
-\par}
-
-\input text
-\input refs
-\printcontents
-\unskip\footnote{}{\hskip -\parskip This document (version \versiontag/)
-was \TeX set \today\ with DISS.STY v\version.}
-\showsummary
-
-\bye
diff --git a/docs/historical/tutorial/version b/docs/historical/tutorial/version
deleted file mode 100644 (file)
index 45a4fb7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-8
diff --git a/docs/historical/tutorial/version.sh b/docs/historical/tutorial/version.sh
deleted file mode 100644 (file)
index 9cad3a1..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-if [ ! -r version ]; then echo 0 > version; fi
-touch version
-echo '\catcode`\#=12' > version.tex
-awk '  { version = $1 + 1; }\
-END    { printf "\\def\\versiontag/{#2.%d}%%\n", version >> "version.tex"; \
-         printf "%d\n", version > "version"; }' < version
-echo '\def\versiondate/{'`date`'}%' >> version.tex
-echo '\catcode`\#=6' >> version.tex
-echo '\tell{Version \versiontag/ of \versiondate/}' >> version.tex
diff --git a/docs/historical/tutorial/version.tex b/docs/historical/tutorial/version.tex
deleted file mode 100644 (file)
index 48c2f0c..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-\catcode`\#=12
-\def\versiontag/{#2.8}%
-\def\versiondate/{Wed May 21 21:04:08 PDT 1986}%
-\catcode`\#=6
-\tell{Version \versiontag/ of \versiondate/}