diff -u --new-file --recursive elm2.4.orig/Makefile elm2.4/Makefile
--- elm2.4.orig/Makefile	Wed Dec 31 19:00:00 1969
+++ elm2.4/Makefile	Fri Jan 13 20:03:59 1995
@@ -0,0 +1,108 @@
+#
+# : Makefile.SH,v 5.3 1993/04/21 01:53:10 syd Exp $
+#
+#  Makefile for the entire ELM mail system
+#
+#         (C) Copyright 1986,1987, by Dave Taylor
+#         (C) Copyright 1988-1992, USENET Community Trust
+#
+#  $Log: Makefile.SH,v $
+# Revision 5.3  1993/04/21  01:53:10  syd
+# take out parallelism, effects standard make
+#
+# Revision 5.2  1993/04/21  01:26:18  syd
+# Support parallel makes in subdirectories with e.g. "make J=2".
+# From: decwrl!uunet.UU.NET!fin!chip (Chip Salzenberg)
+#
+# Revision 5.1  1992/10/03  22:12:17  syd
+# Initial checkin as of 2.4 Release at PL0
+#
+# 
+#
+
+#	Variables established by Configure
+CAT		=	/bin/cat
+GREP		=	/usr/bin/grep
+ECHO		=	/bin/echo
+MAKE		=	/usr/bin/pmake
+PR		=	/usr/bin/pr
+SHAR		=	/usr/bin/shar -s 60000
+SLEEP		=	/usr/bin/sleep
+TAR		=	/bin/tar
+TAPE		=	unknown-remote-tape-unit
+
+#	Other variables
+SHELL			=	/bin/sh
+SOURCE_FILES		=	`$(GREP) -v 'doc/' MANIFEST`
+DISTRIBUTED_FILES	=	`$(CAT) MANIFEST`
+
+# Targets
+#	Give default target first and alone
+default_target:	all
+
+#	Targets that are simply executed in each subordinate makefile as is
+all install uninstall lint clean:
+		cd lib; $(MAKE) $(MJ) -$(MAKEFLAGS) $@
+		cd src; $(MAKE) $(MJ) -$(MAKEFLAGS) $@
+		cd utils; $(MAKE) $(MJ) -$(MAKEFLAGS) $@
+		cd filter; $(MAKE) $(MJ) -$(MAKEFLAGS) $@
+		cd doc; $(MAKE) $(MJ) -$(MAKEFLAGS) $@
+
+#	Targets that apply to all elm at once
+listing:
+		@$(ECHO) "Making source listing in file LISTING."
+		@$(PR) -n -f $(SOURCE_FILES) > LISTING
+
+#	This is the only target that gets installed even if not out-of-date
+#	with respect the files from which it is installed.
+rmt-install:	rmt-defined
+		@($(ECHO) "Warning: This assumes you have already installed";\
+		  $(ECHO) "ELM on the remote machine <$(REMOTE)>. If this is";\
+		  $(ECHO) "not the case, interrupt this process quickly!";\
+		  $(SLEEP) 10;)
+		cd lib; $(MAKE) $(MJ) -$(MAKEFLAGS) REMOTE=$(REMOTE) $@
+		cd src; $(MAKE) $(MJ) -$(MAKEFLAGS) REMOTE=$(REMOTE) $@
+		cd filter; $(MAKE) $(MJ) -$(MAKEFLAGS) REMOTE=$(REMOTE) $@
+		cd utils; $(MAKE) $(MJ) -$(MAKEFLAGS) REMOTE=$(REMOTE) $@
+		cd doc; $(MAKE) $(MJ) -$(MAKEFLAGS) REMOTE=$(REMOTE) $@
+
+rmt-defined:
+	@(if [ "$(REMOTE)" = "" ];\
+	  then\
+	    $(ECHO) "You need to define 'REMOTE' as the remote file system";\
+	    $(ECHO) "for this particular command. The easiest way to do this";\
+	    $(ECHO) "to type:";\
+	    $(ECHO) "        make REMOTE=<remote file system> rmt-install";\
+	    exit 1;\
+	fi);
+
+shar:
+		$(SHAR) $(DISTRIBUTED_FILES)
+
+tar:
+		$(TAR) cvf $(TAPE) $(DISTRIBUTED_FILES)
+
+#	Targets that are really in subordinate make files
+documentation:
+	cd doc; $(MAKE) $(MJ) -$(MAKEFLAGS) $@
+
+elm:
+	cd lib; $(MAKE) $(MJ) -$(MAKEFLAGS) all
+	cd src; $(MAKE) $(MJ) -$(MAKEFLAGS) all
+
+#	The dummy dependency here prevents make from thinking the target is the
+#	filter directory that sits in the current directory, rather than
+#	an abstract target.
+filter: _filter
+
+_filter:
+	cd filter; $(MAKE) $(MJ) -$(MAKEFLAGS) all
+
+#	The dummy dependency here prevents make from thinking the target is the
+#	utils directory that sits in the current directory, rather than
+#	an abstract target.
+utils: _utils
+
+_utils:
+	cd utils; $(MAKE) $(MJ) -$(MAKEFLAGS) all
+
diff -u --new-file --recursive elm2.4.orig/config.h elm2.4/config.h
--- elm2.4.orig/config.h	Wed Dec 31 19:00:00 1969
+++ elm2.4/config.h	Fri Jan 13 20:03:59 1995
@@ -0,0 +1,590 @@
+/* config.h
+ * This file was produced by running the config.h.SH script, which
+ * gets its values from config.sh, which is generally produced by
+ * running Configure.
+ *
+ * Feel free to modify any of this as the need arises.  Note, however,
+ * that running config.h.SH again will wipe out any changes you've made.
+ * For a more permanent change edit config.sh and rerun config.h.SH.
+ */
+
+
+/* BIN:
+ *	This symbol holds the name of the directory in which the user wants
+ *	to put publicly executable images for the package in question.  It
+ *	is most often a local directory such as /usr/local/bin.
+ */
+#define BIN "/usr/bin"             /**/
+
+/* CPPSTDIN:
+ *	This symbol contains the first part of the string which will invoke
+ *	the C preprocessor on the standard input and produce to standard
+ *	output.	 Typical value of "cc -E" or "/lib/cpp".
+ */
+/* CPPMINUS:
+ *	This symbol contains the second part of the string which will invoke
+ *	the C preprocessor on the standard input and produce to standard
+ *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
+ *	to specify standard input, otherwise the value is "".
+ */
+#define CPPSTDIN "/lib/cpp"
+#define CPPMINUS ""
+
+/* GETOPT:
+ *	This symbol, if defined, indicates that the getopt() routine exists.
+ */
+#define	GETOPT		/**/
+
+/* MEMCPY:
+ *	This symbol, if defined, indicates that the memcpy routine is available
+ *	to copy blocks of memory.  Otherwise you should probably use bcopy().
+ *	If neither is defined, roll your own.
+ */
+#define	MEMCPY		/**/
+
+/* MKDIR:
+ *	This symbol, if defined, indicates that the mkdir routine is available
+ *	to create directories.  Otherwise you should fork off a new process to
+ *	exec /bin/mkdir.
+ */
+#define	MKDIR		/**/
+
+/* RENAME:
+ *	This symbol, if defined, indicates that the rename routine is available
+ *	to rename files.  Otherwise you should do the unlink(), link(), unlink()
+ *	trick.
+ */
+#define	RENAME		/**/
+
+/* SYMLINK:
+ *	This symbol, if defined, indicates that the symlink routine is available
+ *	to create symbolic links.
+ */
+#define	SYMLINK		/**/
+
+/* WHOAMI:
+ *	This symbol, if defined, indicates that the program may include
+ *	whoami.h.
+ */
+/*#undef	WHOAMI		/**/
+
+/* PREFSHELL:
+ *	This symbol contains the full name of the preferred user shell on this
+ *	system.  Usual values are /bin/csh, /bin/ksh, /bin/sh.
+ */
+#define PREFSHELL "/bin/bash"		/**/
+
+/* EUNICE:
+ *	This symbol, if defined, indicates that the program is being compiled
+ *	under the EUNICE package under VMS.  The program will need to handle
+ *	things like files that don't go away the first time you unlink them,
+ *	due to version numbering.  It will also need to compensate for lack
+ *	of a respectable link() command.
+ */
+/* VMS:
+ *	This symbol, if defined, indicates that the program is running under
+ *	VMS.  It is currently only set in conjunction with the EUNICE symbol.
+ */
+/*#undef	EUNICE		/**/
+/*#undef	VMS		/**/
+
+/* CONFIGURE_DATE
+ *	This symbol contains the last date that configure was run for elm -v output.
+ */
+#define		CONFIGURE_DATE	"Fri Jan 13 19:55:47 EST 1995"
+
+/* ASCII_CTYPE:
+ *	This symbol, if defined, indicates that the ctype functions and
+ *	macros are ASCII specific and not 8-bit clean.
+ */
+/*#undef	ASCII_CTYPE	/**/
+
+/* BROKE_CTYPE:
+ *	This symbol, if defined, indicates that toupper and tolower
+ *	routines/macros are not safe to use.
+ */
+/*#undef	BROKE_CTYPE	/**/
+
+/* ENABLE_CALENDAR:
+ *	This symbol, if defined, indicates that the calendar feature
+ *	should be supported.
+ */
+/*#undef	ENABLE_CALENDAR	/**/
+#define dflt_calendar_file	""	
+
+/* CHOWN_NEG1:
+ */
+#define	CHOWN_NEG1	/**/
+
+/* DONT_ESCAPE_MESSAGES:
+ *	This symbol, if defined, indicates that a binary capable MTA is in use
+ *	that honors the content-length header and no message constructs need
+ *	to be escaped.
+ */
+/*#undef	DONT_ESCAPE_MESSAGES /**/
+
+/* CRYPT:
+ *	This symbol, if defined, indicates that the crypt routine is available
+ *	to encrypt passwords and the like.
+ */
+#define	CRYPT		/**/
+
+/* HAS_CUSERID:
+ *	This symbol, if defined, means not to include our own cuserid().
+ */
+#define HAS_CUSERID		/**/
+
+/* DISP_HOST:
+ *	This symbol, if defined, indicates that elm should display the
+ *	host name on the index screen.
+ */
+/*#undef	DISP_HOST /**/
+
+/* GETDOMAINNAME
+ *	This symbol, if defined, indicates that the getdomainname system call
+ *	is available to obtain the domain name.  Note that the /domain
+ *	file overrides the value of getdomainname().  If getdomainname() exists,
+ *	MYDOMAIN will be ignored.
+ */
+/* USEGETDOMAINNAME
+ *	This symbol, if defined, indicates that the getdomainname system call
+ *	should be used to obtain the domain name.  Note that the /domain
+ *	file overrides the value of getdomainname().  If this variable is set
+ *	MYDOMAIN (and therefore DEFAULT_DOMAIN) will be ignored.
+ */
+/*#undef	GETDOMAINNAME		/**/
+
+/*#undef	USEGETDOMAINNAME		/**/
+
+/* ERRLST:
+ *	This symbol, if defined, indicates that the sys_errlist and sys_nerr
+ *	symbols exist.
+ */
+/*#undef	ERRLST	/**/
+
+/* USE_FLOCK_LOCKING
+ *	This symbol, if defined, indicates that the flock mailbox locking should be used.
+ */
+/* USE_DOTLOCK_LOCKING
+ *	This symbol, if defined, indicates that the .lock mailbox locking should be used.
+ */
+/* USE_FCNTL_LOCKING
+ *	This symbol, if defined, indicates that SYSV style fcntl file locking should be used.
+ */
+/* LOCK_DIR
+ *	This symbol is the name of the lock directory for access (not mailbox) locks.
+ *	It will be /usr/spool/locks or /usr/spool/uucp
+ */
+/*#undef	USE_FLOCK_LOCKING		/**/
+
+#define	USE_DOTLOCK_LOCKING		/**/
+
+/*#undef	USE_FCNTL_LOCKING	/**/
+
+#define		LOCK_DIR	"/usr/spool/locks"	/**/
+
+/* FTRUNCATE:
+ *	This symbol, if defined, indicates that the ftruncate() routine exists.
+ */
+#define	FTRUNCATE		/**/
+
+/* GETHOSTNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	gethostname() routine to derive the host name.  See also DOUNAME.
+ */
+/* DOUNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	uname() routine to derive the host name.  See also GETHOSTNAME.
+ */
+/* HOSTCOMPILED:
+ *	This symbol, if defined, indicated that the host name is compiled
+ *	in from the string hostname
+ */
+/*#undef	GETHOSTNAME	/**/
+#define	DOUNAME		/**/
+/*#undef	HOSTCOMPILED	/**/
+
+/* HAVETERMLIB:
+ *	This symbol, when defined, indicates that termlib-style routines
+ *	are available.  There is nothing to include.
+ */
+#define	HAVETERMLIB	/**/
+
+/* index:
+ *	This preprocessor symbol is defined, along with rindex, if the system
+ *	uses the strchr and strrchr routines instead.
+ */
+/* rindex:
+ *	This preprocessor symbol is defined, along with index, if the system
+ *	uses the strchr and strrchr routines instead.
+ */
+/*#undef	index strchr	/* cultural */
+/*#undef	rindex strrchr	/*  differences? */
+
+/* INTERNET:
+ *	This symbol, if defined, indicates that there is a mailer available
+ *	which supports internet-style addresses (user@site.domain).
+ */
+#define	INTERNET	/**/
+
+/* ISPELL:
+ *	This symbol, if defined, indicates that the GNU ispell
+ *	spelling checker that is available to Elm.
+ */
+/* ISPELL_PATH:
+ *	This symbol contains the path to the GNU ispell
+ *	spelling checker that is available to Elm.
+ */
+/* ISPELL_OPTIONS:
+ *	This symbol contains the options to the GNU ispell
+ *	spelling checker that is available to Elm.
+ */
+#define	ISPELL	/**/
+#define		ISPELL_PATH	"/usr/bin/ispell" /**/
+#define		ISPELL_OPTIONS	"-x" /**/
+
+/* I_LOCALE:
+ *	This symbol, if defined, indicates that the file locale.h
+ *	should be included
+ */
+/* MSGCAT:
+ *	This symbol, if defined, indicates that the MSGCAT NLS libraries
+ *	are available.
+ */
+/* USENLS:
+ *	This symbol, if defined, indicates that the Elm NLS libraries
+ *	are being used instead of the system NLS libraries.
+ */
+#define	I_LOCALE	/**/
+#define	I_NL_TYPES	/**/
+/*#undef	MSGCAT		/**/
+#define	USENLS		/**/
+
+/* MALLOCVOID:
+ *	This symbol, if defined, indicates that the malloc_t type should
+ *	be void * instead of char *
+ */
+#define	MALLOCVOID	/**/
+
+/* ALLOW_MAILBOX_EDITING:
+ *	This symbol, if defined, indicates that the E)dit mailbox
+ *	function is to be allowed.
+ */
+/*#undef	ALLOW_MAILBOX_EDITING	/**/
+
+/* MIME:
+ *	This symbol, if defined, indicates that the MIME mail
+ *	extension utilities are available
+ */
+#define	MIME	/**/
+
+/* MMDF:
+ *	This symbol, if defined, indicates that mailboxes are in
+ *	the MMDF format.
+ */
+/*#undef	MMDF	/**/
+
+/* AUTO_BACKGROUND:
+ *	This symbol, if defined, indicates that newmail should go to
+ *	the background automatically.
+ */
+#define AUTO_BACKGROUND /**/
+
+/* DONT_ADD_FROM:
+ *	This symbol, if defined, indicates that elm should not add
+ *	the From: header
+ */
+/* USE_DOMAIN:
+ *	This symbol, if defined, indicates that elm should add
+ *	the domain name to our address
+ */
+#define	DONT_ADD_FROM /**/
+/*#undef	USE_DOMAIN /**/
+
+/* NO_XHEADER:
+ *	This symbol, if defined, will not automatically add "X-Mailer:"
+ *	headers.
+ */
+/*#undef	NO_XHEADER	/**/
+
+/* PIDCHECK:
+ *	This symbol, if defined, means that the kill(pid, 0) will
+ *	check for an active pid.
+ */
+#define PIDCHECK		/**/
+
+/* PTEM:
+ *	This symbol, if defined, indicates that the sys/ptem.h include file is
+ *	needed for window sizing.
+ */
+/*#undef	PTEM		/**/
+
+/* PUTENV:
+ *	This symbol, if defined, indicates that putenv() exists.
+ */
+#define	PUTENV	/**/
+
+/* REMOVE_AT_LAST:
+ *	This symbol, if defined, tells the C code to remove the lock
+ *	file on lock failure.
+ */
+/* MAX_ATTEMPTS:
+ *	This symbol defines to the C code the number of times to try
+ *	locking the mail file.
+ */
+/*#undef REMOVE_AT_LAST	/**/
+#define MAX_ATTEMPTS	6
+
+/* SAVE_GROUP_MAILBOX_ID:
+ *	This symbol, if defined, indicates that Elm needs to restore the
+ *	group id of the file, as it is running setgid.
+ */
+#define SAVE_GROUP_MAILBOX_ID	/**/
+
+/* SIGVEC:
+ *	This symbol, if defined, indicates that BSD reliable signals routine
+ *	sigvec is available.
+ */
+/* SIGVECTOR:
+ *	This symbol, if defined, indicates that the sigvec() routine is called
+ *	sigvector() instead, and that sigspace() is provided instead of
+ *	sigstack().  This is probably only true for HP-UX.
+ */
+/* SIGSET:
+ *	This symbol, if defined, indicates that BSD reliable signal routine
+ *	sigset is available.
+ */
+/* POSIX_SIGNALS:
+ *	This symbol, if defined, indicated that POSIX sigaction
+ *	routine is available.
+ */
+/* HASSIGHOLD:
+ *	This symbol, if defined, indicates that sighold routine is
+ *	available.
+ */
+/* HASSIGBLOCK
+ *	This symbol, if defined, indicates that the sigblock routine is
+ *	available.
+ */
+/* HASSIGPROCMASK:
+ *	This symbol, if defined, indicates that POSIX sigprocmask
+ *	routine is available.
+ */
+/*#undef	SIGVEC		/**/
+
+/*#undef	SIGVECTOR	/**/
+
+/*#undef	SIGSET	/**/
+
+#define	POSIX_SIGNALS	/**/
+
+/*#undef	HASSIGHOLD	/**/
+
+#define	HASSIGBLOCK	/**/
+
+/*#undef	HASSIGPROCMASK	/**/
+
+/* STRSPN:
+ *	This symbol, if defined, indicates that the strspn() routine exists.
+ */
+/* STRCSPN:
+ *	This symbol, if defined, indicates that the strcspn() routine exists.
+ */
+/* STRPBRK:
+ *	This symbol, if defined, indicates that the strpbrk() routine exists.
+ */
+#define	STRSPN		/**/
+
+#define	STRCSPN		/**/
+
+#define	STRPBRK		/**/
+
+/* STRERROR:
+ *	This symbol, if defined, indicates that strerror() exists.
+ */
+#define	STRERROR	/**/
+
+/* STRFTIME:
+ *	This symbol, if defined, indicates that strftime() exists.
+ */
+#define	STRFTIME	/**/
+
+/* STRINGS:
+ *	This symbol, if defined, indicates that the file strings.h
+ *	should be included not string.h
+ */
+/* PWDINSYS:
+ *	This symbol, if defined, indicates that the file pwd.h
+ *	is in the sys sub directory
+ */
+/*#undef	STRINGS		/**/
+/*#undef	PWDINSYS	/**/
+
+/* STRSTR:
+ *	This symbol, if defined, indicates that strstr() exists.
+ */
+#define	STRSTR	/**/
+
+/* STRTOK:
+ *	This symbol, if defined, indicates that strtok() exists.
+ */
+#define	STRTOK	/**/
+
+/* ALLOW_SUBSHELL:
+ *	This symbol, if defined, indicates that the '!' subshell
+ *	function is to be allowed at various places.
+ */
+#define	ALLOW_SUBSHELL	/**/
+
+/* TEMPNAM:
+ *	This symbol, if defined, indicates that the tempnam() routine exists.
+ */
+#define	TEMPNAM		/**/
+
+/* TERMIOS:
+ *	This symbol, if defined, indicates that the program should include
+ *	termios.h rather than sgtty.h or termio.h.  There are also differences
+ *	in the ioctl() calls that depend on the value of this symbol.
+ */
+/* TERMIO:
+ *	This symbol, if defined, indicates that the program should include
+ *	termio.h rather than sgtty.h.  There are also differences in the
+ *	ioctl() calls that depend on the value of this symbol.
+ */
+#define	TERMIOS		/**/
+
+/*#undef	TERMIO		/**/
+
+/* USE_EMBEDDED_ADDRESSES:
+ *	This symbol, if defined, indicates that replyto: and from:
+ *	headers can be trusted.
+ */
+#define USE_EMBEDDED_ADDRESSES	 /**/
+
+/* UTIMBUF:
+ *	This symbol is defined if this system defines struct utimbuf.
+ */
+#define UTIMBUF		/**/
+
+/* VFORK:
+ *	This symbol, if defined, indicates that vfork() exists.
+ */
+#define	VFORK	/**/
+
+/* DEFEDITOR:
+ *	This symbol contains the name of the default editor.
+ */
+/* EDITOROPTS:
+ *	This symbol contains the command line options for the default editor.
+ */
+#define DEFEDITOR "/usr/bin/vi"		/**/
+
+#define EDITOROPTS ""		/**/
+
+/* HOSTNAME:
+ *	This symbol contains name of the host the program is going to run on.
+ *	The domain is not kept with hostname, but must be gotten from MYDOMAIN.
+ *	The dot comes with MYDOMAIN, and need not be supplied by the program.
+ *	If gethostname() or uname() exist, HOSTNAME may be ignored.
+ */
+/* MYDOMAIN:
+ *	This symbol contains the domain of the host the program is going to
+ *	run on.  The domain must be appended to HOSTNAME to form a complete
+ *	host name.  The dot comes with MYDOMAIN, and need not be supplied by
+ *	the program.  If the host name is derived from PHOSTNAME, the domain
+ *	may or may not already be there, and the program should check.
+ */
+#define HOSTNAME "fuzzy"		/**/
+#define MYDOMAIN ".UUCP"		/**/
+
+/* I_MEMORY:
+ *	This symbol, if defined, indicates that the file memory.h
+ *	should be included instead of declaring the memory routines.
+ */
+#define	I_MEMORY	/**/
+
+/* I_STDARG:
+ *	This symbol, if defined, indicates that the file stdarg.h
+ *	should be included instead of varargs
+ */
+/*#undef	I_STDARG	/**/
+
+/* I_STDLIB:
+ *	This symbol, if defined, indicates that the file stdlib.h
+ *	should be included instead of declaring the stdlib routines.
+ */
+#define	I_STDLIB	/**/
+
+/* I_TIME:
+ *	This symbol is defined if the program should include <time.h>.
+ */
+/* I_SYSTIME:
+ *	This symbol is defined if the program should include <sys/time.h>.
+ */
+/* I_SYSTIMEKERNEL:
+ *	This symbol is defined if the program should include <sys/time.h>
+ *	with KERNEL defined.
+ */
+#define		I_TIME	 	/**/
+#define	I_SYSTIME 	/**/
+/*#undef	SYSTIMEKERNEL 	/**/
+
+/* I_UNISTD:
+ *	This symbol, if defined, indicates that the file unistd.h
+ *	should be included instead of declaring the unistd routines.
+ */
+#define	I_UNISTD	/**/
+
+/* I_UTIME:
+ *	This symbol, if defined, indicates that the file utime.h
+ *	should be included instead of declaring our own utimbuf.
+ */
+/* I_USYSTIME:
+ *	This symbol, if defined, indicates that the file sys/utime.h
+ *	should be included instead of declaring our own utimbuf.
+ */
+#define	I_UTIME	/**/
+/*#undef	I_SYSUTIME	/**/
+
+/* PASSNAMES:
+ *	This symbol, if defined, indicates that full names are stored in
+ *	the /etc/passwd file.
+ */
+/* BERKNAMES:
+ *	This symbol, if defined, indicates that full names are stored in
+ *	the /etc/passwd file in Berkeley format (name first thing, everything
+ *	up to first comma, with & replaced by capitalized login ID, yuck).
+ */
+/* USGNAMES:
+ *	This symbol, if defined, indicates that full names are stored in
+ *	the /etc/passwd file in USG format (everything after - and before ( is
+ *	the name).
+ */
+#define	PASSNAMES /*  (undef to take name from ~/.fullname) */
+#define	BERKNAMES /* (that is, ":name,stuff:") */
+/*#undef	USGNAMES  /* (that is, ":stuff-name(stuff):") */
+
+/* SIG_TYPE:
+ *	This symbol contains the type name of the signal handler functions.
+ */
+#define	SIGHAND_TYPE	void
+
+/* TZNAME_USE_xxxxxx:
+ *	Specify how to get timezone name.  Possible values are:
+ *		 TZNAME_USE_TM_NAME	use (struct tm *)->tm_name
+ *		 TZNAME_USE_TM_ZONE	use (struct tm *)->tm_zone
+ *		 TZNAME_USE_TZNAME	use "tzname[]" external
+ *		 TZNAME_USE_TIMEZONE	use timezone() function
+ */
+#define TZNAME_USE_TZNAME
+
+/* XENIX:
+ *	This symbol, if defined, indicates this is a Xenix system,
+ *	for knocking  out the far keyword in selected places.
+ */
+/* BSD:
+ *	This symbol, if defined, indicates this is a BSD type system,
+ */
+/*#undef	XENIX	/**/
+/*#undef	BSD	/**/
+
diff -u --new-file --recursive elm2.4.orig/config.sh elm2.4/config.sh
--- elm2.4.orig/config.sh	Wed Dec 31 19:00:00 1969
+++ elm2.4/config.sh	Fri Jan 13 20:03:57 1995
@@ -0,0 +1,283 @@
+#!/bin/sh
+# config.sh
+# This file was produced by running the Configure script.
+
+Log='$Log'
+Header='$Header'
+bin='/usr/bin'
+contains='grep'
+cppstdin='/lib/cpp'
+cppminus=''
+d_getopt='define'
+d_memcpy='define'
+d_mkdir='define'
+d_rename='define'
+d_symlink='define'
+d_whoami='undef'
+n='-n'
+c=''
+orderlib='false'
+ranlib=':'
+package='elm2'
+pager='builtin+'
+prefshell='/bin/bash'
+startsh='#!/bin/sh'
+d_eunice='undef'
+define='define'
+eunicefix=':'
+loclist='
+cat
+chgrp
+chmod
+cp
+echo
+expr
+grep
+ln
+ls
+make
+mv
+rm
+sed
+sleep
+touch
+tr
+'
+expr='/usr/bin/expr'
+sed='/usr/bin/sed'
+echo='/bin/echo'
+cat='/bin/cat'
+rm='/bin/rm'
+mv='/bin/mv'
+cp='/bin/cp'
+tail=''
+tr='/usr/bin/tr'
+mkdir=''
+sort=''
+uniq=''
+grep='/usr/bin/grep'
+trylist='
+Mcc
+compress
+cpp
+date
+emacs
+execmail
+ispell
+line
+lint
+lp
+lpr
+mailx
+mips
+more
+nroff
+pack
+pg
+pmake
+pr
+rmail
+sendmail
+shar
+smail
+submit
+tar
+tbl
+test
+troff
+uname
+uuname
+vi
+'
+test='test'
+inews=''
+ispell='/usr/bin/ispell'
+egrep=''
+more='/bin/more'
+pg='pg'
+Mcc='Mcc'
+vi='/usr/bin/vi'
+mailx='/bin/mailx'
+mail=''
+cpp='/lib/cpp'
+perl=''
+emacs='emacs'
+ls='/bin/ls'
+rmail='/usr/bin/rmail'
+sendmail='/usr/sbin/sendmail'
+shar='/usr/bin/shar'
+smail='smail'
+submit=''
+tbl='/usr/bin/tbl'
+troff='/usr/bin/troff'
+nroff='/usr/bin/nroff'
+uname='/bin/uname'
+uuname='uuname'
+line='line'
+chgrp='/bin/chgrp'
+chmod='/bin/chmod'
+lint='lint'
+sleep='/usr/bin/sleep'
+pr='/usr/bin/pr'
+tar='/bin/tar'
+ln='/bin/ln'
+lpr='/usr/bin/lpr'
+lp='lp'
+touch='/bin/touch'
+make='/usr/bin/pmake'
+date='/bin/date'
+csh=''
+pmake='/usr/bin/pmake'
+mips='false'
+col=''
+pack='pack'
+compress='/bin/compress'
+execmail=''
+libswanted='intl nls'
+c_date='Fri Jan 13 19:55:47 EST 1995'
+d_ascii='undef'
+d_broke_ctype='undef'
+d_calendar='undef'
+calendar=''
+d_chown_neg1='define'
+d_content='undef'
+d_crypt='define'
+cryptlib=''
+d_cuserid='define'
+d_disphost='undef'
+d_domname='undef'
+d_usegetdom='undef'
+d_errlst='undef'
+d_flock='undef'
+d_dotlock='define'
+d_fcntlock='undef'
+lock_dir='/usr/spool/locks'
+has_flock='undef'
+has_fcntl='undef'
+d_ftruncate='define'
+d_gethname='undef'
+d_douname='define'
+d_host_comp='undef'
+ign_hname='n'
+d_havetlib='define'
+termlib='-ltermcap'
+d_index='undef'
+d_internet='define'
+d_ispell='define'
+ispell_path='/usr/bin/ispell'
+ispell_options='-x'
+d_locale='define'
+d_nl_types='define'
+d_msgcat='undef'
+d_usenls='define'
+d_mallocvoid='define'
+d_mboxedit='undef'
+d_mime='define'
+defencoding='7bit'
+defcharset='US-ASCII'
+defdispcharset='US-ASCII'
+d_mmdf='undef'
+d_newauto='define'
+d_noaddfrom='define'
+d_usedomain='undef'
+d_noxheader='undef'
+d_pidcheck='define'
+d_ptem='undef'
+d_putenv='define'
+d_remlock='undef'
+maxattempts='6'
+d_setgid='define'
+d_savegrpmboxid='define'
+mailermode='2755'
+d_sigvec='undef'
+d_sigvectr='undef'
+d_sigset='undef'
+d_sighold='undef'
+d_sigprocmask='undef'
+d_sigblock='define'
+d_sigaction='define'
+d_strcspn='define'
+d_strspn='define'
+d_strpbrk='define'
+d_strerror='define'
+d_strftime='define'
+d_strings='undef'
+d_pwdinsys='undef'
+strings='/usr/include/string.h'
+includepath=''
+d_strstr='define'
+d_strtok='define'
+d_subshell='define'
+d_tempnam='define'
+tempnamo=''
+tempnamc=''
+d_termio='undef'
+d_termios='define'
+d_useembed='define'
+d_utimbuf='define'
+d_vfork='define'
+defbatsub='no subject (file transmission)'
+defeditor='/usr/bin/vi'
+editoropts=''
+hostname='fuzzy'
+phostname='hostname'
+mydomain='.UUCP'
+autohostname='define'
+i_memory='define'
+i_stdarg='undef'
+i_stdlib='define'
+i_time='define'
+i_systime='define'
+d_systimekernel='undef'
+i_unistd='define'
+i_utime='define'
+i_sysutime='undef'
+lib='/var/lib/elm'
+libc='/usr/lib/libc.a'
+linepr='/usr/bin/lpr'
+maildir='/var/spool/mail'
+mailer='/usr/sbin/sendmail'
+mailgrp='mail'
+mansrc='/usr/man/man1'
+catmansrc='/usr/man/preformat/cat1'
+manext='.1'
+manext_choice='.1'
+catmanext='.1'
+catmanext_choice='.1'
+packed='y'
+manroff='/usr/bin/nroff'
+manroffopts='-Tascii -mandoc'
+suffix='.Z'
+packer='/bin/compress'
+models='none'
+split=''
+small=''
+medium=''
+large=''
+huge=''
+optimize='-O2'
+ccflags='-fpcc-struct-return -traditional'
+cppflags=' -D__GNUC__'
+ldflags='-s'
+cc='gcc'
+libs=''
+nametype='bsd'
+d_passnames='define'
+d_berknames='define'
+d_usgnames='undef'
+passcat='cat /etc/passwd'
+rmttape='unknown-remote-tape-unit'
+roff='/usr/bin/troff'
+roffopts='-Tascii -mandoc'
+sigtype='void'
+spitshell='cat'
+shsharp='true'
+sharpbang='#!'
+tmpdir='/tmp'
+tzname_handling='TZNAME'
+use_pmake='y'
+xencf=''
+xenlf=''
+d_xenix='undef'
+d_bsd='undef'
+CONFIG=true
diff -u --new-file --recursive elm2.4.orig/doc/Makefile elm2.4/doc/Makefile
--- elm2.4.orig/doc/Makefile	Wed Dec 31 19:00:00 1969
+++ elm2.4/doc/Makefile	Fri Jan 13 20:04:00 1995
@@ -0,0 +1,510 @@
+#
+# : Makefile.SH,v 5.12 1994/03/10 17:20:23 syd Exp $
+#
+#  Makefile for the documentation of the ELM mail system
+#
+#         (C) Copyright 1988-1992, USENET Community Trust
+#
+#  $Log: Makefile.SH,v $
+# Revision 5.12  1994/03/10  17:20:23  syd
+# Remove autoreply
+# From: Syd
+#
+# Revision 5.11  1993/04/12  02:12:07  syd
+# Added elmalias.1 man page.  Updated Users.guide to mention elmalias.
+# From: chip@chinacat.unicom.com (Chip Rosenthal)
+#
+# Revision 5.10  1993/01/20  03:11:51  syd
+# During 'make uninstall', an error occurs with the make for doc/,
+# due to a wrongly-extended "if" statement in the Makefile.
+# From: Allan Kugel <hico2!hico3!allan@tsdiag.ocpt.ccur.com>
+#
+# Revision 5.9  1992/12/13  18:00:05  syd
+# Add one more missing rm of a previously packed man page
+# From: Bo Asbjorn Muldbak <bam@jutland.ColumbiaSC.NCR.COM>
+#
+# Revision 5.8  1992/12/12  01:28:50  syd
+# Remove the old packed manual page before trying to pack the new one.
+# From: Tom Moore <tmoore@fievel.DaytonOH.NCR.COM>
+#
+# Revision 5.7  1992/12/07  05:05:27  syd
+# fix ; placement
+# From: Syd
+#
+# Revision 5.6  1992/12/07  03:28:35  syd
+# add else clause with true to TEST lines as some Makefiles exit if
+# the if construct doesnt execute a clause as the if returns an error
+# status.
+# From: Syd via requests from several people
+#
+# Revision 5.5  1992/12/07  02:17:14  syd
+# Add missing -n flag to doc makefile.
+# From: gwh@dogmatix.inmos.co.uk
+#
+# Revision 5.4  1992/11/22  00:47:02  syd
+# Change the way Configure and doc/Makefile.SH deal with installing
+# man pages.
+# From: Tom Moore <tmoore@wnas.DaytonOH.NCR.COM>
+#
+# Revision 5.3  1992/11/07  16:13:00  syd
+# Limit test arguments to -f instead of -x as several shells and
+# their resulting test commands dont have -x
+# From: Syd via request from Tim Pierce
+#
+# Revision 5.2  1992/10/30  21:06:09  syd
+# add missing MAKE variable definition
+# From: syd via note from Keith Petersen w8sdz@tacom-emh1.army.mil
+#
+# Revision 5.1  1992/10/03  20:51:50  syd
+# Initial checkin as of 2.4 Release at PL0
+#
+# 
+#
+# Variables
+#	Variables established by Configure
+CHMOD		=	/bin/chmod
+CP		=	/bin/cp
+DEST		=	/usr/bin
+ECHO		=	/bin/echo
+FORMATTER	=	/usr/bin/troff
+FORMATTER_OPTS	=	-Tascii -mandoc
+LIB		=	/var/lib/elm
+LN		=	/bin/ln
+MAKE		=	/usr/bin/pmake
+MAN		=	/usr/man/man1
+MANEXT		=	.1
+CATMAN		=	/usr/man/preformat/cat1
+CATMANEXT	=	.1
+RM		= 	/bin/rm -f
+TBL       	=	/usr/bin/tbl
+MANROFF		=	/usr/bin/nroff
+MANROFF_OPTS	=	-Tascii -mandoc
+MV		=	/bin/mv
+TEST		=	test
+SUFFIX		=	.Z
+PACKED		=	y
+PACKER		=	/bin/compress
+
+#	Other variables
+SHELL		=	/bin/sh
+
+# List of installed man pages (except for wnemail.1 - handled differently)
+MAN_LIST	=	$(MAN)/answer$(MANEXT)		\
+			$(MAN)/checkalias$(MANEXT)	\
+			$(MAN)/elm$(MANEXT)		\
+			$(MAN)/elmalias$(MANEXT)	\
+			$(MAN)/fastmail$(MANEXT)	\
+			$(MAN)/filter$(MANEXT)		\
+			$(MAN)/frm$(MANEXT)		\
+			$(MAN)/listalias$(MANEXT)	\
+			$(MAN)/messages$(MANEXT)	\
+			$(MAN)/newalias$(MANEXT)	\
+			$(MAN)/newmail$(MANEXT)	\
+			$(MAN)/printmail$(MANEXT)	\
+			$(MAN)/readmsg$(MANEXT)
+
+# List of installed catman pages (except for wnemail.1 - handled differently)
+CATMAN_LIST	=	$(CATMAN)/answer$(CATMANEXT)$(SUFFIX)	\
+			$(CATMAN)/checkalias$(CATMANEXT)$(SUFFIX)\
+			$(CATMAN)/elm$(CATMANEXT)$(SUFFIX)	\
+			$(CATMAN)/elmalias$(CATMANEXT)$(SUFFIX)\
+			$(CATMAN)/fastmail$(CATMANEXT)$(SUFFIX)	\
+			$(CATMAN)/filter$(CATMANEXT)$(SUFFIX)	\
+			$(CATMAN)/frm$(CATMANEXT)$(SUFFIX)	\
+			$(CATMAN)/listalias$(CATMANEXT)$(SUFFIX)	\
+			$(CATMAN)/messages$(CATMANEXT)$(SUFFIX)	\
+			$(CATMAN)/newalias$(CATMANEXT)$(SUFFIX)	\
+			$(CATMAN)/newmail$(CATMANEXT)$(SUFFIX)	\
+			$(CATMAN)/printmail$(CATMANEXT)$(SUFFIX)	\
+			$(CATMAN)/readmsg$(CATMANEXT)$(SUFFIX)
+
+# List of formatted pages for catman
+FORMATTED_PAGES_LIST =	catman/answer$(CATMANEXT)$(SUFFIX)	\
+			catman/checkalias$(CATMANEXT)$(SUFFIX)\
+			catman/elm$(CATMANEXT)$(SUFFIX)	\
+			catman/elmalias$(CATMANEXT)$(SUFFIX)\
+			catman/fastmail$(CATMANEXT)$(SUFFIX)	\
+			catman/filter$(CATMANEXT)$(SUFFIX)	\
+			catman/frm$(CATMANEXT)$(SUFFIX)	\
+			catman/listalias$(CATMANEXT)$(SUFFIX)	\
+			catman/messages$(CATMANEXT)$(SUFFIX)	\
+			catman/newalias$(CATMANEXT)$(SUFFIX)	\
+			catman/newmail$(CATMANEXT)$(SUFFIX)	\
+			catman/printmail$(CATMANEXT)$(SUFFIX)	\
+			catman/readmsg$(CATMANEXT)$(SUFFIX)
+
+# List of remotely installed man pages (except for wnemail.1 - handled
+# differently)
+REMOTE_MAN_LIST	=	$(REMOTE)$(MAN)/answer$(MANEXT)	\
+			$(REMOTE)$(MAN)/checkalias$(MANEXT)	\
+			$(REMOTE)$(MAN)/elm$(MANEXT)		\
+			$(REMOTE)$(MAN)/elmalias$(MANEXT)	\
+			$(REMOTE)$(MAN)/fastmail$(MANEXT)	\
+			$(REMOTE)$(MAN)/filter$(MANEXT)	\
+			$(REMOTE)$(MAN)/frm$(MANEXT)		\
+			$(REMOTE)$(MAN)/listalias$(MANEXT)	\
+			$(REMOTE)$(MAN)/messages$(MANEXT)	\
+			$(REMOTE)$(MAN)/newalias$(MANEXT)	\
+			$(REMOTE)$(MAN)/newmail$(MANEXT)	\
+			$(REMOTE)$(MAN)/printmail$(MANEXT)	\
+			$(REMOTE)$(MAN)/readmsg$(MANEXT)
+
+# List of files installed in LIB directory
+LIB_LIST	=	$(LIB)/elm-help.0	\
+			$(LIB)/elm-help.1	\
+			$(LIB)/elm-help.2	\
+			$(LIB)/elm-help.3	\
+			$(LIB)/elmrc-info
+
+# List of files installed in remote LIB directory
+REMOTE_LIB_LIST	=	$(REMOTE)$(LIB)/elm-help.0	\
+			$(REMOTE)$(LIB)/elm-help.1	\
+			$(REMOTE)$(LIB)/elm-help.2	\
+			$(REMOTE)$(LIB)/elm-help.3	\
+			$(REMOTE)$(LIB)/elmrc-info
+
+# List of formatted guides
+FORMATTED_LIST	=	Alias.fmtd	\
+			Config.fmtd 	\
+			Cover.fmtd	\
+			Filter.fmtd	\
+			Form.fmtd	\
+			Ref.fmtd	\
+			Users.fmtd
+
+# Targets
+all: 
+	@if $(TEST) '$(CATMAN)' != none; then $(MAKE) formatted_pages ;  else true ; fi
+
+#	The following are no-ops
+lint:
+clean:	
+
+formatted_pages: catman $(FORMATTED_PAGES_LIST)
+
+catman:
+	mkdir catman
+
+install: $(LIB_LIST)
+	@if $(TEST) '$(MAN)' != none; then $(MAKE) install_man ; else true ;  fi
+	@if $(TEST) '$(CATMAN)' != none; then $(MAKE) install_catman ; else true ;  fi
+
+install_man: $(MAN_LIST) $(MAN)/wnewmail$(MANEXT)
+
+install_catman: $(CATMAN_LIST) $(CATMAN)/wnewmail$(CATMANEXT)$(SUFFIX)
+
+uninstall:
+	$(RM) $(LIB_LIST) 
+	@if $(TEST) '$(MAN)' != none; then  \
+		$(RM) $(MAN_LIST) $(MAN)/wnewmail$(MANEXT) ; \
+	else \
+		true ; \
+	fi
+	@if $(TEST) '$(CATMAN)' != none; then \
+		$(RM) $(CATMAN_LIST) $(CATMAN)/wnewmail$(CATMANEXT)$(SUFFIX) ; \
+	else \
+		true ; \
+	fi
+
+#	Dependencies and rules for installing man pages and lib files
+#	taken from a remote system
+#	This is the only target that gets installed even if not out-of-date
+#	with respect the files from which it is installed.
+rmt-install:	rmt-defined
+		$(RM) $(MAN)/newmail$(MANEXT) $(MAN)/wnewmail$(MANEXT)
+		$(CP) $(REMOTE_MAN_LIST) $(MAN)
+		$(CHMOD) u=rw,go=r $(MAN_LIST)
+		$(LN) $(MAN)/newmail$(MANEXT) $(MAN)/wnewmail$(MANEXT)
+		$(CP) $(REMOTE_LIB_LIST) $(LIB)
+		$(CHMOD) u=rw,go=r $(LIB_LIST)
+
+rmt-defined:
+	@(if [ "$(REMOTE)" = "" ];\
+	  then\
+	    $(ECHO) "You need to define 'REMOTE' as the remote file system";\
+	    $(ECHO) "for this particular command. The easiest way to do this";\
+	    $(ECHO) "to type:";\
+	    $(ECHO) "        make REMOTE=<remote file system> rmt-install";\
+	    exit 1;\
+	  fi);
+
+#	Dependencies and rules for installing man pages and lib files
+$(MAN)/answer$(MANEXT):	answer.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/checkalias$(MANEXT):	chkalias.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/elm$(MANEXT):		elm.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/elmalias$(MANEXT):	elmalias.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/fastmail$(MANEXT):	fastmail.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/filter$(MANEXT):	filter.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/frm$(MANEXT):		frm.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/listalias$(MANEXT):	listalias.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/messages$(MANEXT):	messages.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/newalias$(MANEXT):	newalias.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/newmail$(MANEXT):	newmail.1
+				$(RM) $@
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/printmail$(MANEXT):	printmail.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/readmsg$(MANEXT):	readmsg.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(MAN)/wnewmail$(MANEXT):	$(MAN)/newmail$(MANEXT)
+				$(RM) $@
+				$(LN) $? $@
+
+$(LIB)/elm-help.0:		elm-help.0
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(LIB)/elm-help.1:		elm-help.1
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(LIB)/elm-help.2:		elm-help.2
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(LIB)/elm-help.3:		elm-help.3
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(LIB)/elmrc-info:		elmrc-info
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+#	Dependencies and rules for installing catman
+$(CATMAN)/answer$(CATMANEXT)$(SUFFIX):	catman/answer$(CATMANEXT)$(SUFFIX)
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/checkalias$(CATMANEXT)$(SUFFIX): catman/checkalias$(CATMANEXT)$(SUFFIX)
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/elm$(CATMANEXT)$(SUFFIX): catman/elm$(CATMANEXT)$(SUFFIX)
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/elmalias$(CATMANEXT)$(SUFFIX): catman/elmalias$(CATMANEXT)$(SUFFIX)
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/fastmail$(CATMANEXT)$(SUFFIX): catman/fastmail$(CATMANEXT)$(SUFFIX)
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/filter$(CATMANEXT)$(SUFFIX): catman/filter$(CATMANEXT)$(SUFFIX)
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/frm$(CATMANEXT)$(SUFFIX): catman/frm$(CATMANEXT)$(SUFFIX)
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/listalias$(CATMANEXT)$(SUFFIX): catman/listalias$(CATMANEXT)$(SUFFIX)
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/messages$(CATMANEXT)$(SUFFIX): catman/messages$(CATMANEXT)$(SUFFIX)
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/newalias$(CATMANEXT)$(SUFFIX): catman/newalias$(CATMANEXT)$(SUFFIX)
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/newmail$(CATMANEXT)$(SUFFIX): catman/newmail$(CATMANEXT)$(SUFFIX)
+				$(RM) $@
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/printmail$(CATMANEXT)$(SUFFIX): catman/printmail$(CATMANEXT)$(SUFFIX)
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/readmsg$(CATMANEXT)$(SUFFIX): catman/readmsg$(CATMANEXT)$(SUFFIX)
+				$(CP) $? $@
+				$(CHMOD) u=rw,go=r $@
+
+$(CATMAN)/wnewmail$(CATMANEXT)$(SUFFIX): $(CATMAN)/newmail$(CATMANEXT)$(SUFFIX)
+				$(RM) $@
+				$(LN) $? $@
+
+
+#	Dependencies and rules for making catman pages
+catman/answer$(CATMANEXT)$(SUFFIX):		answer.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/answer$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/answer$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+catman/checkalias$(CATMANEXT)$(SUFFIX):		chkalias.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/checkalias$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/checkalias$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+catman/elm$(CATMANEXT)$(SUFFIX):		elm.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/elm$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/elm$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+catman/elmalias$(CATMANEXT)$(SUFFIX):		elmalias.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/elmalias$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/elmalias$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+catman/fastmail$(CATMANEXT)$(SUFFIX):		fastmail.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/fastmail$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/fastmail$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+catman/filter$(CATMANEXT)$(SUFFIX):		filter.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/filter$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/filter$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+catman/frm$(CATMANEXT)$(SUFFIX):		frm.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/frm$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/frm$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+catman/listalias$(CATMANEXT)$(SUFFIX):		listalias.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/listalias$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/listalias$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+catman/messages$(CATMANEXT)$(SUFFIX):		messages.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/messages$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/messages$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+catman/newalias$(CATMANEXT)$(SUFFIX):		newalias.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/newalias$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/newalias$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+catman/newmail$(CATMANEXT)$(SUFFIX):		newmail.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/newmail$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/newmail$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+catman/printmail$(CATMANEXT)$(SUFFIX):		printmail.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/printmail$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/printmail$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+catman/readmsg$(CATMANEXT)$(SUFFIX):		readmsg.1
+	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/readmsg$(CATMANEXT)
+	@if $(TEST) "$(PACKED)" = y ; then \
+		$(RM) $@ ; \
+		$(PACKER) catman/readmsg$(CATMANEXT) ; \
+	else \
+		true ; \
+	fi
+
+
+#	Dependencies and rules for formatting guides
+documentation:	$(FORMATTED_LIST)
+
+Alias.fmtd:	Alias.guide
+		$(TBL) $? | $(FORMATTER) $(FORMATTER_OPTS) tmac.n - > $@
+
+Config.fmtd:	Config.guid
+		$(TBL) $? | $(FORMATTER) $(FORMATTER_OPTS) tmac.n - > $@
+
+Cover.fmtd:	Elm.cover
+		$(FORMATTER) $(FORMATTER_OPTS) tmac.n $? > $@
+
+Filter.fmtd:	Filter.guid
+		$(TBL) $? | $(FORMATTER) $(FORMATTER_OPTS) tmac.n - > $@
+
+Form.fmtd:	Form.guide
+		$(FORMATTER) $(FORMATTER_OPTS) tmac.n $? > $@
+
+Ref.fmtd:	Ref.guide
+		$(FORMATTER) $(FORMATTER_OPTS) tmac.n $? > $@
+
+Users.fmtd:	Users.guide
+		$(TBL) $? | $(FORMATTER) $(FORMATTER_OPTS) tmac.n - > $@
+
diff -u --new-file --recursive elm2.4.orig/filter/Makefile elm2.4/filter/Makefile
--- elm2.4.orig/filter/Makefile	Wed Dec 31 19:00:00 1969
+++ elm2.4/filter/Makefile	Fri Jan 13 20:04:00 1995
@@ -0,0 +1,160 @@
+#
+# @(#): Makefile.SH,v 5.5 1993/06/06 17:35:04 syd Exp $
+#  Makefile for the Elm system filter program
+#
+#         (C) Copyright 1986,1987, by Dave Taylor
+#         (C) Copyright 1988-1992, USENET Community Trust
+#
+# Bug reports, patches, comments, suggestions should be sent to:
+#
+#	Syd Weinstein - elm@DSI.COM
+#			dsinc!elm
+#
+#  $Log: Makefile.SH,v $
+# Revision 5.5  1993/06/06  17:35:04  syd
+# Remove useless buffer.c
+#
+# Revision 5.4  1993/02/03  16:22:06  syd
+# add libutil.a as strtokq moved to lib
+#
+# Revision 5.3  1993/01/27  19:40:01  syd
+# I implemented a change to filter's default verbose message format
+# including %x %X style date and time along with username
+# From: mark@drd.com (Mark Lawrence)
+#
+# Revision 5.2  1992/11/15  01:40:43  syd
+# Add regexp processing to filter.
+# Add execc operator
+# From: Jan Djarv <Jan.Djarv@sa.erisoft.se>
+#
+# Revision 5.1  1992/10/03  22:18:09  syd
+# Initial checkin as of 2.4 Release at PL0
+#
+#
+# Variables
+#	Variables established by Configure
+CC		=	gcc
+CCFLAGS		=	-fpcc-struct-return -traditional 
+CHGRP		=	/bin/chgrp
+CHMOD		=	/bin/chmod
+CP		=	/bin/cp
+DEST		=	/usr/bin
+ECHO		=	/bin/echo
+LFLAGS		=	-s 
+LIB		=	/var/lib/elm
+LIB2		= 	
+LIBS		=	-ltermcap 
+LINT		=	lint
+MAILGRP		=	mail
+MAILERMODE	=	2755
+MAKE		=	/usr/bin/pmake
+MV		=	/bin/mv
+OPTIMIZE	=	-O2
+RM		= 	/bin/rm -f
+TOUCH		=	/bin/touch
+
+#	Variables you may want to manually edit
+#		If you want debug logging then you'll
+#		want to uncomment the following.
+#DEBUG		=	-DDEBUG
+
+#	Other variables
+BIN		=	../bin
+INCLDIR		=	../hdrs
+CFLAGS		=	$(CCFLAGS) $(OPTIMIZE) -I$(INCLDIR) $(DEBUG) $(DACSNET) 
+LINTFLAGS	=	-I$(INCLDIR)
+SHELL		=	/bin/sh
+
+# Definitions of variables
+FILTER_SRC	=	actions.c	\
+			filter.c	\
+			lock.c		\
+			parse.c		\
+			regexp.c	\
+			rules.c		\
+			summarize.c	\
+			utils.c		\
+			audit.c
+
+FILTER_OBJ	=	actions.o	\
+			filter.o	\
+			lock.o		\
+			parse.o		\
+			regexp.o	\
+			rules.o		\
+			summarize.o	\
+			utils.o		\
+			audit.o		\
+			../lib/libutil.a
+
+# Standard targets
+all:		$(BIN)/filter
+		
+install:	$(DEST)/filter
+
+uninstall:	
+		$(RM) $(DEST)/filter
+
+#	This is the only target that gets installed even if not out-of-date
+#	with respect the files from which it is installed.
+rmt-install:	rmt-defined
+		-$(MV) $(DEST)/filter $(DEST)/filter.old
+		-$(RM) $(DEST)/filter.old
+		$(CP) $(REMOTE)$(DEST)/filter $(DEST)/filter
+		$(CHGRP) $(MAILGRP) $(DEST)/filter
+		$(CHMOD) $(MAILERMODE) $(DEST)/filter
+
+rmt-defined:
+	@(if [ "$(REMOTE)" = "" ];\
+	  then\
+	    $(ECHO) "You need to define 'REMOTE' as the remote file system";\
+	    $(ECHO) "for this particular command. The easiest way to do this";\
+	    $(ECHO) "to type:";\
+	    $(ECHO) "        make REMOTE=<remote file system> rmt-install";\
+	    exit 1;\
+	  fi);
+
+lint:		
+		$(LINT) $(LINTFLAGS) $(FILTER_SRC) > LINT.OUT
+
+clean:		
+		$(RM) $(FILTER_OBJ) $(BIN)/filter
+
+# Dependencies and rules
+#	Dependencies of header files upon other header files they include
+.PRECIOUS:		$(INCLDIR)/defs.h $(INCLDIR)/elm.h $(INCLDIR)/headers.h
+
+$(INCLDIR)/defs.h:	$(INCLDIR)/../config.h $(INCLDIR)/sysdefs.h
+			$(CHMOD) u+w $@
+			$(TOUCH) $@
+
+$(INCLDIR)/elm.h:	$(INCLDIR)/curses.h $(INCLDIR)/defs.h
+			$(CHMOD) u+w $@
+			$(TOUCH) $@
+
+$(INCLDIR)/headers.h:	$(INCLDIR)/curses.h $(INCLDIR)/defs.h
+			$(CHMOD) u+w $@
+			$(TOUCH) $@
+
+#	Dependencies and rules for C object files
+actions.o:		$(INCLDIR)/defs.h $(INCLDIR)/filter.h $(INCLDIR)/s_filter.h
+filter.o:		$(INCLDIR)/defs.h $(INCLDIR)/filter.h $(INCLDIR)/s_filter.h
+lock.o:			$(INCLDIR)/defs.h $(INCLDIR)/filter.h $(INCLDIR)/s_filter.h
+parse.o:		$(INCLDIR)/defs.h $(INCLDIR)/filter.h $(INCLDIR)/s_filter.h
+regexp.o:		$(INCLDIR)/defs.h $(INCLDIR)/regexp.h
+rules.o:		$(INCLDIR)/defs.h $(INCLDIR)/filter.h $(INCLDIR)/s_filter.h
+summarize.o:		$(INCLDIR)/defs.h $(INCLDIR)/filter.h $(INCLDIR)/s_filter.h
+utils.o:		$(INCLDIR)/defs.h $(INCLDIR)/filter.h $(INCLDIR)/s_filter.h
+audit.o:		$(INCLDIR)/defs.h $(INCLDIR)/filter.h $(INCLDIR)/s_filter.h
+
+#	Dependencies and rules for compiling programs
+$(BIN)/filter:	$& $(FILTER_OBJ)
+		$(CC) $(LFLAGS) -o $@ $(FILTER_OBJ) ../lib/libutil.a $(LIB2)
+
+#	Dependencies and rules for installing programs from bin directory
+$(DEST)/filter:		$(BIN)/filter
+			-$(MV) $(DEST)/filter $(DEST)/filter.old
+			-$(RM) $(DEST)/filter.old
+			$(CP) $? $@
+			$(CHGRP) $(MAILGRP) $@
+			$(CHMOD) $(MAILERMODE) $@
diff -u --new-file --recursive elm2.4.orig/hdrs/sysdefs.h elm2.4/hdrs/sysdefs.h
--- elm2.4.orig/hdrs/sysdefs.h	Wed Dec 31 19:00:00 1969
+++ elm2.4/hdrs/sysdefs.h	Fri Jan 13 20:04:00 1995
@@ -0,0 +1,145 @@
+/* : sysdefs.SH,v 5.4 1992/12/24 19:24:10 syd Exp $ */
+/*******************************************************************************
+ *  The Elm Mail System  -  : 5.4 $   : Exp $
+ *
+ * 			Copyright (c) 1988-1992 USENET Community Trust
+ * 			Copyright (c) 1986,1987 Dave Taylor
+ *******************************************************************************
+ * Bug reports, patches, comments, suggestions should be sent to:
+ *
+ *	Syd Weinstein, Elm Coordinator
+ *	elm@DSI.COM			dsinc!elm
+ *
+ *******************************************************************************
+ * $Log: sysdefs.SH,v $
+ * Revision 5.4  1992/12/24  19:24:10  syd
+ * EDITOROPTS and DEFEDITOR appear to be unused but here is
+ * a patch to make use of .
+ * From: "Robert L. Howard" <robert.howard@matd.gatech.edu>
+ *
+ * Revision 5.3  1992/11/22  01:14:20  syd
+ * Allow SCO MMDF to use the mmdf library for mailer via execmail.
+ * From: Larry Philps <larryp@sco.com>
+ *
+ * Revision 5.2  1992/10/24  13:44:41  syd
+ * There is now an additional elmrc option "displaycharset", which
+ * sets the charset supported on your terminal. This is to prevent
+ * elm from calling out to metamail too often.
+ * Plus a slight documentation update for MIME composition (added examples)
+ * From: Klaus Steinberger <Klaus.Steinberger@Physik.Uni-Muenchen.DE>
+ *
+ * Revision 5.1  1992/10/03  22:34:39  syd
+ * Initial checkin as of 2.4 Release at PL0
+ *
+ *
+ ******************************************************************************/
+
+/**  System level, configurable, defines for the ELM mail system.  **/
+
+
+#define MAX_IN_WEEDLIST 150	/* max headers to weed out               */
+
+#define MAX_HOPS	35	/* max hops in return addr to E)veryone  */
+
+#define DEFAULT_BATCH_SUBJECT  "no subject (file transmission)"
+
+#define DEFAULT_DOMAIN  ".UUCP"  /* if mydomain file is missing */
+
+/** If you want to implement 'site hiding' in the mail, then you'll need to
+    uncomment the following lines and set them to reasonable values.  See 
+    the configuration guide for more details....(actually these are undoc-
+    umented because they're fairly dangerous to use.  Just ignore 'em and
+    perhaps one day you'll find out what they do, ok?)
+**/
+
+/****************************************************************************
+
+#define   SITE_HIDING
+#define   HIDDEN_SITE_NAME	"fake-machine-name"
+#define   HIDDEN_SITE_USERS	"/usr/mail/lists/hidden_site_users"
+
+****************************************************************************/
+
+#define system_text_file        "/var/lib/elm/aliases.text"
+#define system_data_file        "/var/lib/elm/aliases"
+#define system_rc_file		"/var/lib/elm/elm.rc"
+
+#define ALIAS_TEXT		".elm/aliases.text"
+#define ALIAS_DATA		".elm/aliases"
+
+#define hostdomfile             "/var/lib/elm/domain"
+
+/** where to put the output of the elm -d command... (in home dir) **/
+#define DEBUGFILE	"ELM:debug.info"
+#define OLDEBUG		"ELM:debug.last"
+
+#define	default_temp   	"/tmp/"
+#define temp_file	"snd."
+#define temp_form_file	"form."
+#define temp_mbox	"mbox."
+#define temp_print      "print."
+#define temp_edit	"elm-edit"
+#define temp_uuname	"uuname."
+#define temp_state	"est."
+
+#define emacs_editor	"emacs"
+#define vi_editor	"/usr/bin/vi"
+
+#define default_editor	"/usr/bin/vi "
+#define mailhome	"/var/spool/mail/"
+
+#define default_shell	"/bin/bash"
+#define default_pager	"builtin+"
+#define default_printout	"/bin/cat %s | /usr/bin/lpr"
+
+#define default_charset	"US-ASCII"
+#define default_display_charset	"US-ASCII"
+#define default_encoding	"7bit"
+#define execmail	""
+#define emflags		""
+#define emflagsv	"-d"		/* Verbose voyuer mode */
+#define emflagmt	"-m"		/* metoo copy to sender */
+
+#define sendmail	"/usr/sbin/sendmail"
+#define smflags		"-oi -oem"	/* ignore dots and mail back errors */
+#define smflagsv	"-oi -oem -v"	/* Verbose voyuer mode */
+#define smflagmt	" -om"		/* metoo copy to sender */
+#define submitmail	""
+#define submitflags	"-mlrnvxto,cc*"
+#define submitflags_s	"-mlrnv"
+#define mailer		"/usr/sbin/sendmail"
+
+#define mailx		"/bin/mailx"
+
+#define helphome	"/var/lib/elm"
+#define helpfile	"elm-help"
+
+#define ELMRC_INFO	"/var/lib/elm/elmrc-info"
+
+#define elmrcfile	".elm/elmrc"
+#define old_elmrcfile	".elm/elmrc.old"
+#define mailheaders	".elm/elmheaders"
+#define dead_letter	"Canceled.mail"
+
+#define unedited_mail	"emergency.mbox"
+
+#define newalias	"newalias 1>&2 > /dev/null"
+#define readmsg		"readmsg"
+
+#define remove_cmd	"/bin/rm -f"	/* how to remove a file */
+#define cat		"/bin/cat"		/* how to display files */
+#define sed_cmd		"/usr/bin/sed"		/* how to access sed */
+#define move_cmd	"/bin/mv"		/* how to access sed */
+#define uuname		"uuname"	/* how to get a uuname  */
+
+#define MSG_SEPARATOR	"\001\001\001\001\n"	/* mmdf message seperator */
+
+#ifdef CRAY
+/* avoid conflict with typedef'd word */
+#define word wrd   
+#endif /* CRAY */
+
+#ifndef STRSTR
+char *strstr();
+#endif
+
diff -u --new-file --recursive elm2.4.orig/lib/Makefile elm2.4/lib/Makefile
--- elm2.4.orig/lib/Makefile	Wed Dec 31 19:00:00 1969
+++ elm2.4/lib/Makefile	Fri Jan 13 20:04:01 1995
@@ -0,0 +1,327 @@
+# : Makefile.SH,v 5.15 1993/08/03 19:28:39 syd Exp $
+#
+#  Makefile for the ELM mail program.
+#
+#	Copyright (c) 1986,1987 Dave Taylor
+#	Copyright (c) 1988-1992 USENET Community Trust
+#
+# Bug reports, patches, comments, suggestions should be sent to:
+#
+#	Syd Weinstein - elm@DSI.COM
+#			dsinc!elm
+#
+# $Log: Makefile.SH,v $
+# Revision 5.15  1993/08/03  19:28:39  syd
+# Elm tries to replace the system toupper() and tolower() on current
+# BSD systems, which is unnecessary.  Even worse, the replacements
+# collide during linking with routines in isctype.o.  This patch adds
+# a Configure test to determine whether replacements are really needed
+# (BROKE_CTYPE definition).  The <ctype.h> header file is now included
+# globally through hdrs/defs.h and the BROKE_CTYPE patchup is handled
+# there.  Inclusion of <ctype.h> was removed from *all* the individual
+# files, and the toupper() and tolower() routines in lib/opt_utils.c
+# were dropped.
+# From: chip@chinacat.unicom.com (Chip Rosenthal)
+#
+# Revision 5.14  1993/08/03  19:17:33  syd
+# Implement new timezone handling.  New file lib/get_tz.c with new timezone
+# routines.  Added new TZMINS_USE_xxxxxx and TZNAME_USE_xxxxxx configuration
+# definitions.  Obsoleted TZNAME, ALTCHECK, and TZ_MINUTESWEST configuration
+# definitions.  Updated Configure.  Modified lib/getarpdate.c and
+# lib/strftime.c to use new timezone routines.
+#
+# From: chip@chinacat.unicom.com (Chip Rosenthal)
+#
+# Revision 5.13  1993/08/02  18:14:35  syd
+# add missing references for mcprt.c/mcprtlib.c to defs.h
+# From: Syd
+#
+# Revision 5.12  1993/06/10  03:02:46  syd
+# break_down_tolist() tried to blindly split address lists at "," which
+# caused bogus results with addreses that had a comma inside a comment
+# or quoted text, such as "user@domain (Last, First)".  This patch steps
+# through the address in quanta of RFC-822 tokens when searching for a
+# delimiting comma.  It also adds "rfc822_toklen()" to the library to
+# get that length.
+# From: chip@chinacat.unicom.com (Chip Rosenthal)
+#
+# Revision 5.11  1993/04/12  01:51:42  syd
+# Added safe_malloc(), safe_realloc(), and safe_strdup().  They
+# will be used in the new elmalias utility.
+# From: chip@chinacat.unicom.com (Chip Rosenthal)
+#
+# Revision 5.10  1993/02/03  16:21:03  syd
+# add strtokq
+# From: Syd
+#
+# Revision 5.9  1993/01/27  18:52:03  syd
+# add strftime as optional component
+#
+# Revision 5.8  1993/01/19  05:07:05  syd
+# Trim erroreous extra log entry
+# From: Syd
+#
+# Revision 5.7  1993/01/19  04:47:12  syd
+# Significant changes to provide consistent Date and From_ header
+# cracking.  Overhauled date utilities and moved into library.  Moved
+# real_from() into library.  Modified frm, newmail, and readmsg utilities
+# to use library version of real_from().  Moved get_word() from Elm
+# source into library.  Added new library routines atonum() and strfcpy().
+# Fixed trailing backslash bug in len_next().
+# From: chip@chinacat.unicom.com (Chip Rosenthal)
+#
+# Revision 5.6  1992/12/24  19:33:59  syd
+# tune dependency list further
+# From: Syd
+#
+# Revision 5.5  1992/12/24  19:30:46  syd
+# Make all object depend on config.h, so a reconfig for a new
+# arch in shared sources (or copied sources) forces a recompile
+# of all modules.
+# From: Syd
+#
+# Revision 5.4  1992/12/20  05:15:58  syd
+# Add a c)hange alias, -u and -t options to listalias to list only user
+# and only system aliases respectively.
+# From: "Robert L. Howard" <robert.howard@matd.gatech.edu>
+#
+# Revision 5.3  1992/11/07  20:07:23  syd
+# Add header_cmp routine
+# From: Syd
+#
+# Revision 5.2  1992/10/27  01:43:40  syd
+# Move posix_signal to lib directory
+# From: tom@osf.org
+#
+# Revision 5.1  1992/10/03  22:41:36  syd
+# Initial checkin as of 2.4 Release at PL0
+#
+#
+#
+# Variables
+#	Variables established by Configure
+AR		=	ar
+CC		=	gcc
+CCFLAGS		=	-fpcc-struct-return -traditional 
+CHMOD		=	/bin/chmod
+LINT		=	lint
+OPTIMIZE	=	-O2
+RANLIB		=	:
+RM		= 	/bin/rm -f
+TOUCH		=	/bin/touch
+TAGS		=	ctags
+
+MCSRC		=	mcprt.c mcprtlib.c msgcat.c
+MCOBJ		=	mcprt.o mcprtlib.o msgcat.o
+
+STRSRC		=	
+STROBJ		=	
+
+FTIMESRC	=	
+FTIMEOBJ	=	
+
+
+#	Variables you may want to manually edit
+#		If you want debug logging then you'll
+#		want to uncomment the following.
+#DEBUG		=	-DDEBUG
+
+#		If you're on an ACSnet system (Australia) then
+#		you'll want to uncomment the following.
+# DACSNET	=	-DACSNET
+
+#	Other general variables
+CFLAGS		=	$(CCFLAGS) $(OPTIMIZE) -I$(INCLDIR) $(DEBUG) $(DACSNET) 
+INCLDIR		=	../hdrs
+LINTFLAGS	=	-I$(INCLDIR)
+SHELL		=	/bin/sh
+
+# 	Lists
+LIB_SRC		=	add_site.c	\
+			addrmchusr.c	\
+			atonum.c	\
+			mk_aliases.c	\
+			aliasdb.c	\
+			mk_lockname.c	\
+			can_access.c	\
+			can_open.c	\
+			chloc.c		\
+			date_util.c	\
+			errno.c		\
+			expand.c	\
+			figadrssee.c	\
+			gcos_name.c	\
+			getaddrfrm.c	\
+			getarpdate.c	\
+			getfullnam.c	\
+			getword.c	\
+			get_tz.c	\
+			header_cmp.c	\
+			in_list.c	\
+			in_string.c	\
+			istrcmp.c	\
+			ldstate.c	\
+			len_next.c	\
+			mail_gets.c	\
+			$(MCSRC)	\
+			move_left.c	\
+			ndbz.c		\
+			okay_addr.c	\
+			opt_utils.c	\
+			parsarpdat.c	\
+			parsarpwho.c	\
+			posixsig.c	\
+			putenv.c	\
+			realfrom.c	\
+			qstrings.c	\
+			remfirstwd.c	\
+			reverse.c	\
+			rfc822tlen.c	\
+			safemalloc.c	\
+			shiftlower.c	\
+			strfcpy.c	\
+			strincmp.c	\
+			striparens.c	\
+			$(STRSRC)	\
+			$(FTIMESRC)	\
+			strtokq.c	\
+			tail_of.c	\
+			validname.c
+
+LIB_OBJ		=	add_site.o	\
+			addrmchusr.o	\
+			atonum.o	\
+			mk_aliases.o	\
+			aliasdb.o	\
+			mk_lockname.o	\
+			can_access.o	\
+			can_open.o	\
+			chloc.o		\
+			date_util.o	\
+			errno.o		\
+			expand.o	\
+			figadrssee.o	\
+			gcos_name.o	\
+			get_tz.o	\
+			getaddrfrm.o	\
+			getarpdate.o	\
+			getfullnam.o	\
+			getword.o	\
+			header_cmp.o	\
+			in_list.o	\
+			in_string.o	\
+			istrcmp.o	\
+			ldstate.o	\
+			len_next.o	\
+			mail_gets.o	\
+			$(MCOBJ)	\
+			move_left.o	\
+			ndbz.o		\
+			okay_addr.o	\
+			opt_utils.o	\
+			parsarpdat.o	\
+			parsarpwho.o	\
+			posixsig.o	\
+			putenv.o	\
+			qstrings.o	\
+			realfrom.o	\
+			remfirstwd.o	\
+			reverse.o	\
+			rfc822tlen.o	\
+			safemalloc.o	\
+			shiftlower.o	\
+			strfcpy.o	\
+			strincmp.o	\
+			striparens.o	\
+			$(STROBJ)	\
+			$(FTIMEOBJ)	\
+			strtokq.o	\
+			tail_of.o	\
+			validname.o
+
+all:			libutil.a
+
+install:		libutil.a
+
+uninstall:		libutil.a
+
+libutil.a:		$(LIB_OBJ)
+			$(AR) r $@ $?
+			$(RANLIB) $@
+
+lint:		
+		$(LINT) $(LINTFLAGS) $(LIB_SRC) > LINT.OUT
+
+tags:
+		$(TAGS) $(LIB_SRC)
+
+clean:		
+		$(RM) $(LIB_OBJ) libutil.a
+
+# Dependencies and rules
+#	Dependencies of header files upon other header files they include
+.PRECIOUS:		$(INCLDIR)/defs.h $(INCLDIR)/elm.h $(INCLDIR)/headers.h
+
+$(INCLDIR)/defs.h:	$(INCLDIR)/../config.h $(INCLDIR)/sysdefs.h
+			$(CHMOD) u+w $@
+			$(TOUCH) $@
+
+$(INCLDIR)/elm.h:	$(INCLDIR)/curses.h $(INCLDIR)/defs.h
+			$(CHMOD) u+w $@
+			$(TOUCH) $@
+
+$(INCLDIR)/headers.h:	$(INCLDIR)/curses.h $(INCLDIR)/defs.h
+			$(CHMOD) u+w $@
+			$(TOUCH) $@
+
+#	Dependencies of C object files
+add_site.o:	$(INCLDIR)/headers.h
+addrmchusr.o:	$(INCLDIR)/headers.h
+atonum.o:	$(INCLDIR)/defs.h
+mk_aliases.o:	$(INCLDIR)/headers.h $(INCLDIR)/ndbz.h $(INCLDIR)/s_newalias.h
+aliasdb.o:	$(INCLDIR)/headers.h $(INCLDIR)/ndbz.h
+mk_lockname.o:	$(INCLDIR)/headers.h
+can_access.o:	$(INCLDIR)/headers.h
+can_open.o:	$(INCLDIR)/headers.h
+chloc.o:	$(INCLDIR)/headers.h
+date_util.o:	$(INCLDIR)/headers.h
+errno.o:	$(INCLDIR)/headers.h
+expand.o:	$(INCLDIR)/defs.h $(INCLDIR)/s_elmrc.h
+figadrssee.o:	$(INCLDIR)/headers.h
+gcos_name.o:	$(INCLDIR)/headers.h
+get_tz.o:	$(INCLDIR)/defs.h
+getaddrfrm.o:	$(INCLDIR)/headers.h
+getarpdate.o:	$(INCLDIR)/headers.h
+getfullnam.o:	$(INCLDIR)/headers.h
+getword.o:	$(INCLDIR)/defs.h
+header_cmp.o:	$(INCLDIR)/headers.h
+in_list.o:	$(INCLDIR)/headers.h
+in_string.o:	$(INCLDIR)/headers.h
+istrcmp.o:	$(INCLDIR)/headers.h
+ldstate.o:	$(INCLDIR)/defs.h
+len_next.o:	../config.h
+mail_gets.o:	../config.h
+mcprt.o:	$(INCLDIR)/mcprt.h $(INCLDIR)/mcprtlib.h $(INCLDIR)/defs.h
+mcprtlib.o:	$(INCLDIR)/mcprtlib.h $(INCLDIR)/nl_types.h $(INCLDIR)/defs.h
+move_left.o:	$(INCLDIR)/headers.h
+msgcat.o:	$(INCLDIR)/msgcat.h $(INCLDIR)/nl_types.h
+ndbz.o:		$(INCLDIR)/headers.h $(INCLDIR)/ndbz.h
+okay_addr.o:	$(INCLDIR)/headers.h
+opt_utils.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_error.h
+parsarpdat.o:	$(INCLDIR)/headers.h
+parsarpwho.o:	$(INCLDIR)/headers.h
+posixsig.o:	$(INCLDIR)/headers.h
+putenv.o:	$(INCLDIR)/headers.h
+realfrom.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+qstrings.o:	../config.h
+remfirstwd.o:	$(INCLDIR)/headers.h
+reverse.o:	$(INCLDIR)/headers.h
+safemalloc.o:	$(INCLDIR)/defs.h
+shiftlower.o:	$(INCLDIR)/headers.h
+strincmp.o:	$(INCLDIR)/headers.h
+striparens.o:	$(INCLDIR)/headers.h
+strstr.o:	$(INCLDIR)/headers.h
+strtokq.o:	$(INCLDIR)/headers.h
+tail_of.o:	$(INCLDIR)/headers.h
+validname.o:	$(INCLDIR)/defs.h
+
diff -u --new-file --recursive elm2.4.orig/src/Makefile elm2.4/src/Makefile
--- elm2.4.orig/src/Makefile	Wed Dec 31 19:00:00 1969
+++ elm2.4/src/Makefile	Fri Jan 13 20:04:02 1995
@@ -0,0 +1,309 @@
+# : Makefile.SH,v 5.1 1992/10/03 22:58:40 syd Exp $
+#
+#  Makefile for the ELM mail program.
+#
+#	Copyright (c) 1988-1992 USENET Community Trust
+#	Copyright (c) 1986,1987 Dave Taylor
+#
+# Bug reports, patches, comments, suggestions should be sent to:
+#
+#	Syd Weinstein - elm@DSI.COM
+#			dsinc!elm
+#
+# $Log: Makefile.SH,v $
+# Revision 5.1  1992/10/03  22:58:40  syd
+# Initial checkin as of 2.4 Release at PL0
+#
+# Revision 5.1  1992/10/03  22:58:40  syd
+# Initial checkin as of 2.4 Release at PL0
+#
+# 
+#
+# Variables
+#	Variables established by Configure
+CC		=	gcc
+CCFLAGS		=	-fpcc-struct-return -traditional 
+CHGRP		=	/bin/chgrp
+CHMOD		=	/bin/chmod
+CP		=	/bin/cp
+DEST		=	/usr/bin
+ECHO		=	/bin/echo
+LFLAGS		=	-s 
+LIB		=	/var/lib/elm
+LIB2		= 	
+LIBS		=	 -ltermcap 
+LINT		=	lint
+MAILGRP		=	mail
+MAILERMODE	=	2755
+MV		=	/bin/mv
+OPTIMIZE	=	-O2
+RM		= 	/bin/rm -f
+TOUCH		=	/bin/touch
+TAGS		=	ctags
+
+
+#	Variables you may want to manually edit
+#		If you want debug logging then you'll
+#		want to uncomment the following.
+#DEBUG		=	-DDEBUG
+
+#		If you're on an ACSnet system (Australia) then
+#		you'll want to uncomment the following.
+# DACSNET	=	-DACSNET
+
+#	Other general variables
+BIN		=	../bin
+CFLAGS		=	$(CCFLAGS) $(OPTIMIZE) -I$(INCLDIR) $(DEBUG) $(DACSNET) 
+INCLDIR		=	../hdrs
+LINTFLAGS	=	-I$(INCLDIR)
+SHELL		=	/bin/sh
+
+# 	Lists
+ELM_SRC		=	addr_util.c	\
+			alias.c		\
+			aliaslib.c	\
+			args.c		\
+			a_edit.c	\
+			a_screen.c	\
+			a_sort.c	\
+			a_quit.c	\
+			bouncebk.c	\
+			builtin.c	\
+			calendar.c	\
+			curses.c	\
+			date.c		\
+			delete.c	\
+			edit.c		\
+			editmsg.c	\
+			elm.c		\
+			encode.c	\
+			exitprog.c	\
+			expires.c	\
+			file.c		\
+			file_util.c	\
+			fileio.c	\
+			find_alias.c	\
+			forms.c		\
+			hdrconfg.c	\
+			help.c		\
+			in_utils.c	\
+			init.c		\
+			leavembox.c	\
+			lock.c		\
+			limit.c		\
+			mailmsg1.c	\
+			mailmsg2.c	\
+			mime.c		\
+			mkhdrs.c	\
+			newmbox.c	\
+			options.c	\
+			out_utils.c	\
+			pattern.c	\
+			pmalloc.c	\
+			quit.c		\
+			read_rc.c	\
+			remail.c	\
+			reply.c		\
+			returnadd.c	\
+			save_opts.c	\
+			savecopy.c	\
+			screen.c	\
+			showmsg.c	\
+			showmsg_c.c	\
+			signals.c	\
+			softkeys.c	\
+			sort.c		\
+			string2.c	\
+			strings.c	\
+			syscall.c	\
+			utils.c		\
+			wildcards.c	\
+			wordwrap.c
+
+ELM_OBJ		=	addr_util.o	\
+			alias.o		\
+			aliaslib.o	\
+			args.o		\
+			a_edit.o	\
+			a_screen.o	\
+			a_sort.o	\
+			a_quit.o	\
+			bouncebk.o	\
+			builtin.o	\
+			calendar.o	\
+			curses.o	\
+			date.o		\
+			delete.o	\
+			edit.o		\
+			editmsg.o	\
+			elm.o		\
+			encode.o	\
+			exitprog.o	\
+			expires.o	\
+			file.o		\
+			file_util.o	\
+			fileio.o	\
+			find_alias.o	\
+			forms.o		\
+			hdrconfg.o	\
+			help.o		\
+			in_utils.o	\
+			init.o		\
+			leavembox.o	\
+			lock.o		\
+			limit.o		\
+			mailmsg1.o	\
+			mailmsg2.o	\
+			mime.o		\
+			mkhdrs.o	\
+			newmbox.o	\
+			options.o	\
+			out_utils.o	\
+			pattern.o	\
+			pmalloc.o	\
+			quit.o		\
+			read_rc.o	\
+			remail.o	\
+			reply.o		\
+			returnadd.o	\
+			save_opts.o	\
+			savecopy.o	\
+			screen.o	\
+			showmsg.o	\
+			showmsg_c.o	\
+			signals.o	\
+			softkeys.o	\
+			sort.o		\
+			string2.o	\
+			strings.o	\
+			syscall.o	\
+			utils.o		\
+			wildcards.o	\
+			wordwrap.o
+
+# Standard targets
+all:		$(BIN)/elm
+
+install:	$(DEST)/elm
+
+uninstall:	
+		$(RM) $(DEST)/elm
+
+#	This is the only target that gets installed even if not out-of-date
+#	with respect the files from which it is installed.
+rmt-install:	rmt-defined
+		-$(MV) $(DEST)/elm $(DEST)/elm.old
+		-$(RM) $(DEST)/elm.old
+		$(CP) $(REMOTE)$(DEST)/elm $(DEST)/elm
+		$(CHGRP) $(MAILGRP) $(DEST)/elm
+		$(CHMOD) $(MAILERMODE) $(DEST)/elm
+
+rmt-defined:
+	@(if [ "$(REMOTE)" = "" ];\
+	  then\
+	    $(ECHO) "You need to define 'REMOTE' as the remote file system";\
+	    $(ECHO) "for this particular command. The easiest way to do this";\
+	    $(ECHO) "to type:";\
+	    $(ECHO) "        make REMOTE=<remote file system> rmt-install";\
+	    exit 1;\
+	fi);
+
+lint:		
+		$(LINT) $(LINTFLAGS) $(ELM_SRC) > LINT.OUT
+
+tags:
+		$(TAGS) $(ELM_SRC)
+
+clean:		
+		$(RM) $(ELM_OBJ) $(BIN)/elm
+
+# Dependencies and rules
+#	Dependencies of header files upon other header files they include
+.PRECIOUS:		$(INCLDIR)/defs.h $(INCLDIR)/elm.h $(INCLDIR)/headers.h
+
+$(INCLDIR)/defs.h:	$(INCLDIR)/../config.h $(INCLDIR)/sysdefs.h
+			$(CHMOD) u+w $@
+			$(TOUCH) $@
+
+$(INCLDIR)/elm.h:	$(INCLDIR)/curses.h $(INCLDIR)/defs.h
+			$(CHMOD) u+w $@
+			$(TOUCH) $@
+
+$(INCLDIR)/headers.h:	$(INCLDIR)/curses.h $(INCLDIR)/defs.h
+			$(CHMOD) u+w $@
+			$(TOUCH) $@
+
+#	Dependencies of C object files
+addr_util.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+alias.o:	$(INCLDIR)/headers.h $(INCLDIR)/ndbz.h $(INCLDIR)/s_aliases.h $(INCLDIR)/s_elm.h
+aliaslib.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+args.o:		$(INCLDIR)/headers.h $(INCLDIR)/patchlevel.h $(INCLDIR)/s_elm.h
+a_edit.o:	$(INCLDIR)/headers.h
+a_screen.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_aliases.h
+a_sort.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_aliases.h
+a_quit.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_aliases.h
+bouncebk.o:	$(INCLDIR)/headers.h
+builtin.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+calendar.o:	$(INCLDIR)/headers.h
+curses.o:	$(INCLDIR)/headers.h
+date.o:		$(INCLDIR)/headers.h
+delete.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+edit.o:		$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+editmsg.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+elm.o:		$(INCLDIR)/elm.h $(INCLDIR)/s_elm.h
+encode.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+exitprog.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+expires.o:	$(INCLDIR)/headers.h
+file.o:		$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+file_util.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+fileio.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+find_alias.o:	$(INCLDIR)/headers.h
+forms.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+hdrconfg.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+help.o:		$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+in_utils.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+init.o:		$(INCLDIR)/headers.h $(INCLDIR)/patchlevel.h $(INCLDIR)/s_elm.h
+leavembox.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+lock.o:		$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+limit.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h $(INCLDIR)/s_aliases.h
+mailmsg1.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+mailmsg2.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+mkhdrs.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+mime.o:		$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+newmbox.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+options.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h $(INCLDIR)/save_opts.h
+out_utils.o:	$(INCLDIR)/headers.h
+pattern.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+pmalloc.o:	$(INCLDIR)/defs.h $(INCLDIR)/s_elm.h
+quit.o:		$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+read_rc.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h $(INCLDIR)/save_opts.h
+remail.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+reply.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+returnadd.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+save_opts.o:	$(INCLDIR)/save_opts.h $(INCLDIR)/headers.h $(INCLDIR)/s_elmrc.h
+savecopy.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+screen.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+showmsg.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+showmsg_c.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+signals.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+softkeys.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+sort.o:		$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+string2.o:	$(INCLDIR)/headers.h
+strings.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+syscall.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+utils.o:	$(INCLDIR)/headers.h $(INCLDIR)/s_elm.h
+wildcards.o:	$(INCLDIR)/defs.h
+wordwrap.o:	$(INCLDIR)/headers.h
+
+#	Dependencies and rules for compiling C programs
+$(BIN)/elm:	$& $(ELM_OBJ) ../lib/libutil.a
+		$(CC) $(LFLAGS) -o $@ $(ELM_OBJ) ../lib/libutil.a $(LIBS) $(LIB2)
+
+#	Dependencies and rules for installing C programs
+$(DEST)/elm:	$(BIN)/elm
+		-$(MV) $@ $@.old
+		-$(RM) $@.old
+		$(CP) $(BIN)/elm $@
+		$(CHGRP) $(MAILGRP) $@
+		$(CHMOD) $(MAILERMODE) $@
+
diff -u --new-file --recursive elm2.4.orig/utils/Makefile elm2.4/utils/Makefile
--- elm2.4.orig/utils/Makefile	Wed Dec 31 19:00:00 1969
+++ elm2.4/utils/Makefile	Fri Jan 13 20:04:02 1995
@@ -0,0 +1,403 @@
+
+# @(#): Makefile.SH,v 5.6 1994/03/10 17:20:23 syd Exp $
+#
+#  Makefile for the Elm system utilities
+#
+#         (C) Copyright 1986,1987, by Dave Taylor
+#         (C) Copyright 1988-1992, USENET Community Trust
+#
+# Bug reports, patches, comments, suggestions should be sent to:
+#
+#	Syd Weinstein - elm@DSI.COM
+#			dsinc!elm
+#
+# $Log: Makefile.SH,v $
+# Revision 5.6  1994/03/10  17:20:23  syd
+# Remove autoreply
+# From: Syd
+#
+# Revision 5.5  1993/05/31  19:17:28  syd
+# In the Makefile listalias was given only a+x permission
+# though it should have been a+rx.
+# From: Jukka Ukkonen <ukkonen@csc.fi>
+#
+# Revision 5.4  1993/04/16  05:07:10  syd
+# add elmalias
+#
+# Revision 5.3  1993/04/12  02:14:15  syd
+# Fix comments
+#
+# Revision 5.2  1993/04/12  02:11:05  syd
+# Added new utilities "elmalias" and "prlong".  Modified "checkalias"
+# and "listalias" to use them.
+# From: chip@chinacat.unicom.com (Chip Rosenthal)
+#
+# Revision 5.1  1992/10/04  00:46:45  syd
+# Initial checkin as of 2.4 Release at PL0
+#
+# 
+#
+# Variables
+#	Variables established by Configure
+CC		=	gcc
+CCFLAGS		=	-fpcc-struct-return -traditional 
+CHMOD		=	/bin/chmod
+CP		=	/bin/cp
+DEST		=	/usr/bin
+ECHO		=	/bin/echo
+LFLAGS		=	-s 
+LIB		=	/var/lib/elm
+LIB2		= 	
+LIBS		=	-ltermcap 
+LINT		=	lint
+LN		=	/bin/ln
+MAKE		=	/usr/bin/pmake
+MV		=	/bin/mv
+OPTIMIZE	=	-O2
+RM		= 	/bin/rm -f
+TOUCH		=	/bin/touch
+#	Variables you may want to manually edit
+#		If you want debug logging then you'll
+#		want to uncomment the following.
+#DEBUG		=	-DDEBUG
+
+#	Other general variables
+BIN		=	../bin
+CFLAGS		=	$(CCFLAGS) $(OPTIMIZE) -I$(INCLDIR) $(DEBUG) $(DACSNET) 
+INCLDIR		=	../hdrs
+LINTFLAGS	=	-I$(INCLDIR)
+SHELL		=	/bin/sh
+
+#	Lists
+#		List of installed programs - excludes wnewmail and nfrm,
+#		which are handled separately
+INSTALL_LIST	=	$(DEST)/answer		\
+			$(DEST)/checkalias	\
+			$(DEST)/elmalias	\
+			$(DEST)/fastmail	\
+			$(DEST)/frm		\
+			$(DEST)/listalias	\
+			$(DEST)/messages	\
+			$(DEST)/newalias	\
+			$(DEST)/newmail		\
+			$(DEST)/printmail	\
+			$(DEST)/readmsg		\
+			$(LIB)/prlong
+
+#		List of remotely install programs
+REMOTE_LIST	=	$(REMOTE)$(DEST)/answer		\
+			$(REMOTE)$(DEST)/checkalias	\
+			$(REMOTE)$(DEST)/elmalias	\
+			$(REMOTE)$(DEST)/fastmail	\
+			$(REMOTE)$(DEST)/frm		\
+			$(REMOTE)$(DEST)/listalias	\
+			$(REMOTE)$(DEST)/messages	\
+			$(REMOTE)$(DEST)/newalias	\
+			$(REMOTE)$(DEST)/newmail	\
+			$(REMOTE)$(DEST)/printmail	\
+			$(REMOTE)$(DEST)/readmsg
+
+#		List of programs in bin directory
+BINARY_LIST	=	$(BIN)/answer		\
+			$(BIN)/checkalias	\
+			$(BIN)/elmalias		\
+			$(BIN)/fastmail		\
+			$(BIN)/frm		\
+			$(BIN)/listalias	\
+			$(BIN)/messages		\
+			$(BIN)/newalias		\
+			$(BIN)/newmail		\
+			$(BIN)/printmail	\
+			$(BIN)/readmsg		\
+			$(BIN)/prlong
+
+#		List of programs to $(LINT) - only C programs
+LINT_LIST	=	answer_lint	\
+			elmalias_lint	\
+			fastmail_lint	\
+			frm_lint	\
+			newalias_lint	\
+			newmail_lint	\
+			readmsg_lint	\
+			prlong_lint
+
+#	List of all object files in all util programs (used in parallel makes)
+UTIL_OBJ	=	answer.o		\
+			elmalias.o		\
+			fastmail.o		\
+			from.o			\
+			newalias.o		\
+			newmail.o		\
+			readmsg.o		\
+			prlong.o
+
+#	Lists of source and object files for each C program
+ANSWER_SRC	=	answer.c
+ANSWER_OBJ	=	answer.o
+ELMALIAS_SRC	=	elmalias.c
+ELMALIAS_OBJ	=	elmalias.o
+FASTMAIL_SRC	=	fastmail.c
+FASTMAIL_OBJ	=	fastmail.o
+FRM_SRC		=	from.c
+FRM_OBJ		=	from.o
+NEWALIAS_SRC	=	newalias.c
+NEWALIAS_OBJ	=	newalias.o
+NEWMAIL_SRC	=	newmail.c
+NEWMAIL_OBJ	=	newmail.o
+PRLONG_SRC	=	prlong.c
+PRLONG_OBJ	=	prlong.o
+READMSG_SRC	=	readmsg.c
+READMSG_OBJ	=	readmsg.o
+
+# Standard targets
+all:			objects $(BINARY_LIST)
+
+#	This unusual target enables highly efficial compilation of object files
+#	on systems that have the parallel make feature.
+objects:		$& $(UTIL_OBJ)
+
+install:		$(INSTALL_LIST) $(DEST)/wnewmail $(DEST)/nfrm
+
+uninstall:		
+			$(RM) $(INSTALL_LIST) $(DEST)/wnewmail $(DEST)/nfrm
+
+#	This is the only target that gets installed even if not out-of-date
+#	with respect the files from which it is installed.
+rmt-install:		rmt-defined
+			-$(MV) $(DEST)/answer $(DEST)/answer.old
+			-$(MV) $(DEST)/checkalias $(DEST)/checkalias.old
+			-$(MV) $(DEST)/elmalias $(DEST)/elmalias.old
+			-$(MV) $(DEST)/fastmail $(DEST)/fastmail.old
+			-$(MV) $(DEST)/frm $(DEST)/frm.old
+			-$(MV) $(DEST)/nfrm $(DEST)/nfrm.old
+			-$(MV) $(DEST)/listalias $(DEST)/listalias.old
+			-$(MV) $(DEST)/messages $(DEST)/messages.old
+			-$(MV) $(DEST)/newalias $(DEST)/newalias.old
+			-$(MV) $(DEST)/newmail $(DEST)/newmail.old
+			-$(MV) $(DEST)/printmail $(DEST)/printmail.old
+			-$(MV) $(DEST)/readmsg $(DEST)/readmsg.old
+			-$(MV) $(DEST)/wnewmail $(DEST)/wnewmail.old
+			-$(RM) $(DEST)/answer.old
+			-$(RM) $(DEST)/checkalias.old
+			-$(RM) $(DEST)/elmalias.old
+			-$(RM) $(DEST)/fastmail.old
+			-$(RM) $(DEST)/frm.old
+			-$(RM) $(DEST)/nfrm.old
+			-$(RM) $(DEST)/listalias.old
+			-$(RM) $(DEST)/messages.old
+			-$(RM) $(DEST)/newalias.old
+			-$(RM) $(DEST)/newmail.old
+			-$(RM) $(DEST)/printmail.old
+			-$(RM) $(DEST)/readmsg.old
+			-$(RM) $(DEST)/wnewmail.old
+			$(CP) $(REMOTE_LIST) $(DEST)
+			$(LN) $(DEST)/frm $(DEST)/nfrm
+			$(LN) $(DEST)/newmail $(DEST)/wnewmail
+			-$(MV) $(LIB)/prlong $(DEST)/prlong.old
+			-$(RM) $(LIB)/prlong.old
+			$(CP) prlong $(LIB)
+			$(CHMOD) a+rx $(INSTALL_LIST)
+
+rmt-defined:
+	@(if [ "$(REMOTE)" = "" ];\
+	  then\
+	    $(ECHO) "You need to define 'REMOTE' as the remote file system";\
+	    $(ECHO) "for this particular command. The easiest way to do this";\
+	    $(ECHO) "to type:";\
+	    $(ECHO) "        make REMOTE=<remote file system> rmt-install";\
+	    exit 1;\
+	  fi);
+
+#	This rule allows us to put lint output for each program on the
+#	same file, but make sure we start off fresh each time.
+lint:			
+			$(RM) LINT.OUT; $(MAKE) -$(MAKEFLAGS) $(LINT_LIST)
+
+clean:			
+			$(RM) $(UTIL_OBJ) $(BINARY_LIST)
+
+# Dependencies and rules
+#	Dependencies and rules for compiling and linting C programs
+.PRECIOUS:		$(INCLDIR)/defs.h $(INCLDIR)/elm.h \
+			$(INCLDIR)/headers.h ../lib/libutil.a
+
+checkalias:		checkalias.SH	; sh $?
+listalias:		listalias.SH	; sh $?
+messages:		messages.SH	; sh $?
+printmail:		printmail.SH	; sh $?
+
+$(BIN)/answer:		$(ANSWER_OBJ) ../lib/libutil.a
+			$(CC) $(LFLAGS) -o $@ $(ANSWER_OBJ) ../lib/libutil.a $(LIB2)
+
+answer_lint:		$(ANSWER_SRC)
+			$(LINT) $(LINTFLAGS) $(ANSWER_SRC) >> LINT.OUT
+
+$(BIN)/elmalias:	$(ELMALIAS_OBJ) ../lib/libutil.a
+			$(CC) $(LFLAGS) -o $@ $(ELMALIAS_OBJ) ../lib/libutil.a $(LIB2)
+
+elmalias_lint:		$(ELMALIAS_SRC)
+			$(LINT) $(LINTFLAGS) $(ELMALIAS_SRC) >> LINT.OUT
+
+$(BIN)/fastmail:	$(FASTMAIL_OBJ) ../lib/libutil.a
+			$(CC) $(LFLAGS) -o $@ $(FASTMAIL_OBJ) ../lib/libutil.a $(LIB2)
+
+fastmail_lint:		$(FASTMAIL_SRC)
+			$(LINT) $(LINTFLAGS) $(FASTMAIL_SRC) >> LINT.OUT
+
+$(BIN)/frm:		$(FRM_OBJ) ../lib/libutil.a
+			$(CC) $(LFLAGS) -o $@ $(FRM_OBJ) ../lib/libutil.a $(LIB2)
+
+frm_lint:		$(FRM_SRC)
+			$(LINT) $(LINTFLAGS) $(FRM_SRC) >> LINT.OUT
+
+$(BIN)/newalias:	$(NEWALIAS_OBJ) ../lib/libutil.a
+			$(CC) $(LFLAGS) -o $@ $(NEWALIAS_OBJ) ../lib/libutil.a $(LIB2)
+
+newalias_lint:		$(NEWALIAS_SRC)
+			$(LINT) $(LINTFLAGS) $(NEWALIAS_SRC) >> LINT.OUT
+
+$(BIN)/newmail:		$(NEWMAIL_OBJ) ../lib/libutil.a
+			$(CC) $(LFLAGS) -o $@ $(NEWMAIL_OBJ) ../lib/libutil.a $(LIB2)
+
+newmail_lint:		$(NEWMAIL_SRC)
+			$(LINT) $(LINTFLAGS) $(NEWMAIL_SRC) >> LINT.OUT
+
+$(BIN)/readmsg:		$(READMSG_OBJ) ../lib/libutil.a
+			$(CC) $(LFLAGS) -o $@ $(READMSG_OBJ) ../lib/libutil.a $(LIB2)
+
+readmsg_lint:		$(READMSG_SRC)
+			$(LINT) $(LINTFLAGS) $(READMSG_SRC) >> LINT.OUT
+
+$(BIN)/prlong:		$(PRLONG_OBJ) ../lib/libutil.a
+			$(CC) $(LFLAGS) -o $@ $(PRLONG_OBJ) ../lib/libutil.a $(LIB2)
+
+prlong_lint:		$(PRLONG_SRC)
+			$(LINT) $(LINTFLAGS) $(PRLONG_SRC) >> LINT.OUT
+
+
+#	Rules to make shell scripts in bin directory
+$(BIN)/checkalias:	checkalias
+			$(CP) $? $@
+			$(CHMOD) u+w,a+rx $@
+
+$(BIN)/listalias:	listalias
+			$(CP) $? $@
+			$(CHMOD) u+w,a+rx $@
+
+$(BIN)/messages:	messages
+			$(CP) $? $@
+			$(CHMOD) u+w,a+rx $@
+
+$(BIN)/printmail:	printmail
+			$(CP) $? $@
+			$(CHMOD) u+w,a+rx $@
+
+#	Dependencies of header files upon other header files they include
+$(INCLDIR)/defs.h:	$(INCLDIR)/../config.h $(INCLDIR)/sysdefs.h
+			$(CHMOD) u+w $@
+			$(TOUCH) $@
+
+$(INCLDIR)/elmutil.h:	$(INCLDIR)/curses.h $(INCLDIR)/defs.h
+			$(CHMOD) u+w $@
+			$(TOUCH) $@
+
+$(INCLDIR)/headers.h:	$(INCLDIR)/curses.h $(INCLDIR)/defs.h
+			$(CHMOD) u+w $@
+			$(TOUCH) $@
+
+#	Dependencies of C object files
+answer.o:	$(INCLDIR)/ndbz.h $(INCLDIR)/elmutil.h $(INCLDIR)/s_answer.h
+elmalias.o:	$(INCLDIR)/elmutil.h $(INCLDIR)/s_elmalias.h
+fastmail.o:	$(INCLDIR)/patchlevel.h $(INCLDIR)/elmutil.h $(INCLDIR)/s_fastmail.h
+from.o:		$(INCLDIR)/elmutil.h $(INCLDIR)/s_from.h
+newalias.o:	$(INCLDIR)/elmutil.h $(INCLDIR)/sysdefs.h $(INCLDIR)/s_newalias.h
+newmail.o:	$(INCLDIR)/elmutil.h $(INCLDIR)/s_newmail.h
+readmsg.o:	$(INCLDIR)/elmutil.h $(INCLDIR)/s_readmsg.h
+prlong.o:	$(INCLDIR)/defs.h
+
+#	Dependencies and rules for installing programs from bin directory
+$(DEST)/answer:		$(BIN)/answer
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(CP) $? $@
+			$(CHMOD) a+x $@
+
+$(DEST)/checkalias:	$(BIN)/checkalias
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(CP) $? $@
+			$(CHMOD) a+rx $@
+
+$(DEST)/elmalias:	$(BIN)/elmalias
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(CP) $? $@
+			$(CHMOD) a+x $@
+
+$(DEST)/fastmail:	$(BIN)/fastmail
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(CP) $? $@
+			$(CHMOD) a+x $@
+
+$(DEST)/frm:		$(BIN)/frm
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(CP) $? $@
+			$(CHMOD) a+x $@
+
+$(DEST)/nfrm:		$(DEST)/frm
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(RM) $@
+			$(LN) $? $@
+
+$(DEST)/listalias:	$(BIN)/listalias
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(CP) $? $@
+			$(CHMOD) a+rx $@
+
+$(DEST)/messages:	$(BIN)/messages
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(CP) $? $@
+			$(CHMOD) a+rx $@
+
+$(DEST)/newalias:	$(BIN)/newalias
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(CP) $? $@
+			$(CHMOD) a+x $@
+
+$(DEST)/newmail:	$(BIN)/newmail
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(RM) $@
+			$(CP) $? $@
+			$(CHMOD) a+x $@
+
+$(DEST)/printmail:	$(BIN)/printmail
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(CP) $? $@
+			$(CHMOD) a+rx $@
+
+$(DEST)/readmsg:	$(BIN)/readmsg
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(CP) $? $@
+			$(CHMOD) a+x $@
+
+$(DEST)/wnewmail:	$(DEST)/newmail
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(RM) $@
+			$(LN) $? $@
+
+$(LIB)/prlong:		$(BIN)/prlong
+			-$(MV) $@ $@.old
+			-$(RM) $@.old
+			$(CP) $? $@
+			$(CHMOD) a+x $@
+
diff -u --new-file --recursive elm2.4.orig/utils/checkalias elm2.4/utils/checkalias
--- elm2.4.orig/utils/checkalias	Wed Dec 31 19:00:00 1969
+++ elm2.4/utils/checkalias	Fri Jan 13 20:04:02 1995
@@ -0,0 +1,16 @@
+#!/bin/sh
+# checkalias: part of the Elm mail system
+# @(#): checkalias.SH,v 5.2 1993/04/12 02:11:05 syd Exp $
+#		Copyright (c) 1988-1992 USENET Community Trust
+# 		Copyright (c) 1986,1987 Dave Taylor
+ 
+
+if [ $# -eq 0 ] ; then
+	echo "usage: $0 alias ..." 1>&2
+	exit 1
+fi
+
+elmalias -en $@ | \
+	/var/lib/elm/prlong -w 78 -1 "Expands to: " -l "	" -f ", "
+exit $?
+
diff -u --new-file --recursive elm2.4.orig/utils/listalias elm2.4/utils/listalias
--- elm2.4.orig/utils/listalias	Wed Dec 31 19:00:00 1969
+++ elm2.4/utils/listalias	Fri Jan 13 20:04:03 1995
@@ -0,0 +1,46 @@
+#!/bin/sh
+# listalias: part of the Elm mail system
+# @(#)$Id: listalias.SH,v 5.1 1993/04/12 02:10:26 syd Exp $
+#		Copyright (c) 1988-1992 USENET Community Trust
+# 		Copyright (c) 1986,1987 Dave Taylor
+
+USAGE="usage: $0 [-u | -s] [optional-regular-expression]"
+
+opts=
+
+while : ; do
+	case "$1" in
+	-u|-s)	opts="$opts $1" ; shift ;;
+	--)	shift ; break ;;
+	-*)	echo "$USAGE" 1>&2 ; exit 1 ;;
+	*)	break ;;
+	esac
+done
+
+listit="elmalias -v $opts"
+grepit=
+sortit="| sort"
+
+case "$#" in
+
+0)	;;
+
+1)	# BSD uses "-y" for case insensitive, SysV uses "-i".
+	grepit="| grep \"$1\""
+	for flag in -i -y ; do
+		x=`echo HELLO | grep $flag hello 2>/dev/null`
+		if test $? -eq 0 -a "X$x" = "XHELLO" ; then
+			grepit="| grep $flag \"$1\""
+			break
+		fi
+	done
+	;;
+
+*)	echo "$USAGE" 1>&2
+	exit 1
+	;;
+
+esac
+
+eval "$listit $grepit $sortit"
+exit $?
diff -u --new-file --recursive elm2.4.orig/utils/messages elm2.4/utils/messages
--- elm2.4.orig/utils/messages	Wed Dec 31 19:00:00 1969
+++ elm2.4/utils/messages	Fri Jan 13 20:04:03 1995
@@ -0,0 +1,41 @@
+#!/bin/sh
+# messages: part of the Elm mail system
+# @(#)$Id: messages.SH,v 5.2 1992/10/17 22:38:58 syd Exp $
+#		Copyright (c) 1988-1992 USENET Community Trust
+# 		Copyright (c) 1986,1987 Dave Taylor
+ 
+if [ "$2" != "" ]; then
+  echo Usage: messages \{folder-name\} 1>&2
+  exit 1
+fi
+ 
+if [ "$1" = "" ]; then
+  fname=${MAIL-/var/spool/mail/$LOGNAME}
+  optional="in your incoming mailbox"
+else
+  optional="in folder $1"
+  first=`expr "$1" : "\(.\).*"`
+  if [ "$first" = "=" ]; then
+    last=`expr "$1" : ".\(.*\)"`
+    fname="`grep maildir $HOME/.elm/elmrc | awk -F= '{print $2}'| tr -d ' '`/$last"
+  else
+    fname=$1
+  fi
+fi
+
+if [ -f "$fname" ]; then
+  mcount=`egrep -c "^From " $fname`
+else
+  echo "Folder $1 does not exist."
+  exit 0
+fi
+ 
+if [ "$mcount" -eq 1 ]; then
+  echo There is 1 message $optional.
+elif [ "$mcount" -eq 0 ]; then
+  echo There are no messages $optional.
+else
+  echo There are $mcount messages $optional.
+fi
+ 
+exit $mcount
diff -u --new-file --recursive elm2.4.orig/utils/printmail elm2.4/utils/printmail
--- elm2.4.orig/utils/printmail	Wed Dec 31 19:00:00 1969
+++ elm2.4/utils/printmail	Fri Jan 13 20:04:03 1995
@@ -0,0 +1,21 @@
+#!/bin/sh
+# printmail: part of the Elm mail system
+# @(#)$Id: printmail.SH,v 5.1 1992/10/04 00:46:45 syd Exp $
+#		Copyright (c) 1988-1992 USENET Community Trust
+# 		Copyright (c) 1986,1987 Dave Taylor
+ 
+if [ "$1" = "-p" ]; then
+  flags="-p";shift
+fi
+ 
+if [ "$1" != "" ]; then
+  if [ ! -r $1 ]; then
+    echo printmail: cannot open folder $1 1>&2
+    exit 1
+  else
+    flags="$flags -f $1"
+  fi
+fi
+ 
+# and now invoke readmsg
+exec readmsg $flags \*
