From: syd@dsinc.DSI.COM (Syd Weinstein)
Newsgroups: comp.mail.elm,comp.sources.bugs
Subject: elm 2.4 Patch #14
Followup-To: poster
Date: 14 Dec 1992 20:48:25 -0500
Organization: Datacomp Systems, Inc., Huntingdon Valley, PA 19006
NNTP-Posting-Host: dsinc.dsi.com
Summary: This is an official patch for elm 2.4 system.  Please apply it.
Priority: LOW


part 1 of a 4 part patch set.


Attempt to fix where Elm was issuing the final error message on the
cursor screen instead of the regular screen on terminals where the
ti/te code swaps the screen.
From: Syd

Internal fix to use correct errno on some error messages.
From: Syd

Add decode option to copy_message
From: bjoerns@stud.cs.uit.no (Bjoern Stabell)

Fix Configure for ls that return 0 status even if file
is not found, re packing man pages.
From: aj@redwood.cray.com (Chris Jackman)

Fix Configure not getting mailgrp correct on symlinks.
From: aj@redwood.cray.com (Chris Jackman)

Add missing -n flag to doc makefile.
From: gwh@dogmatix.inmos.co.uk

Always init fcntlerr and flockerr in src/lock.c to avoid compiler
warnings.
From: Syd via prompt from wdh@grouper.mkt.csd.harris.com (W. David Higgins)

Traditional C used 'unsigned preserving' rules when an integral data
value is widened to integer and ANSI C changed the rules to 'value
preserving'. This is one of the few things that the ANSI X3J11 comitte
did that might break existing programs.  Casting to (int)
From: Bo.Asbjorn.Muldbak <bam@jutland.ColumbiaSC.NCR.COM>

When ELM is reporting "appending to <foldername>" I never get to see
but a flash of light, before the message line has been replaced by a
dummy "Messages saved" string.  And if you happen to have mistyped the
foldername or the leading '=', you never see the foldername.

This fix will change file.c to show either

	Message <what> to <foldername>

or
	<#> messages <what> to <foldername>
From: Bo.Asbjorn.Muldbak <bam@jutland.ColumbiaSC.NCR.COM>

This implements the use of SIGUSR1 and SIGUSR2 as discussed on the
mailing list recently, and adds them to the documentation.
From: scs@lokkur.dexter.mi.us (Steve Simmons)

Attempt to patch posix_signal for SunOS problem.
From: A lot of the Elm group

Change cancelled mail message to indicate full path name as
AFS users don't have home and elm's home the same.
From: Syd

Fix doc/Makefile.SH to have an else clause on all if's so that
if's that return an error code on a not taken if and a null else
clause don't exit the makefile
From: Syd via requests from many

General changes for apollo portability
From: gordonb@mcil.comm.mot.com (Gordon Berkley)

Fix typos in edit.c
From: Bo.Asbjorn.Muldbak <bam@jutland.ColumbiaSC.NCR.COM>

If sigset() and sigrelse() are available, release signal before
using longjmp() to leave signal handler.
From: chip@tct.com (Chip Salzenberg)

Anytime elm wants to re-run newalias, selected is set to 0.
(removing any limit in effect)
From: "Robert L. Howard" <robert.howard@matd.gatech.edu>

Allow for use from restricted shell by putting SHELL=/bin/sh in the
environment of spawned mail transport program.
From: chip@tct.com (Chip Salzenberg)

fix Obvious typos.
From: dwolfe@pffft.sps.mot.com (Dave Wolfe)

List_folder knew only about '=' but nothing about the rest
of [+=%] as one would have expected.
From: Jukka Antero Ukkonen <ukkonen@venus.csc.fi>

Fix where the user creates a first new alias, then deletes it, the
alias stays on screen, but the file really will be empty if it was the
last alias, so the retry to delete gives 'cannot open ...file' messages
From: "Robert L. Howard" <robert.howard@matd.gatech.edu>

Make Elm complain about spaces that are not after commas in
alias and address lists
From: "Robert L. Howard" <robert.howard@matd.gatech.edu>

Make verb and pronoun agree.
From: dwolfe@pffft.sps.mot.com (Dave Wolfe)

in do_get_alias().  abuf[] was under dimensioned.
From: "Robert L. Howard" <robert.howard@matd.gatech.edu>

Remove the old packed manual page before trying to pack the new one.
From: Tom Moore <tmoore@fievel.DaytonOH.NCR.COM>

Fix double inclusion of sys/types.h
From: Tom Moore <tmoore@wnas.DaytonOH.NCR.COM>

Fix building editor wrap problem
From: Syd via prompting from vogt@isa.de (Gerald Vogt)


Fix:	From rn, say "| patch -p -N -d DIR", where DIR is your elm source
	directory.  Outside of rn, say "cd DIR; patch -p -N <thisarticle".
	If you don't have the patch program, apply the following by hand,
	or get patch (version 2.0, latest patchlevel).

	After patching:
		do nothing, apply patch 15 next

	If patch indicates that patchlevel is the wrong version, you may need
	to apply one or more previous patches, or the patch may already
	have been applied.  See the patchlevel.h file to find out what has or
	has not been applied.  In any event, don't continue with the patch.

	If you are missing previous patches they can be obtained from our:
	archive server.

	Syd Weinstein
	elm@DSI.COM

	The patches are available from the dsinc archive server
	Send the following message to archive-server@DSI.COM for
	a list of available patches:

	Subject: patch list
	send index elm

Index: hdrs/patchlevel.h
Prereq: "13"
*** ../elm2.4/hdrs/patchlevel.h	Wed Nov 25 14:10:35 1992
--- hdrs/patchlevel.h	Wed Nov 25 19:50:23 1992
***************
*** 1 ****
! #define PATCHLEVEL "13"
--- 1 ----
! #define PATCHLEVEL "14"

Index: Configure
Prereq: 5.17
*** ../elm2.4/Configure	Wed Nov 25 14:10:31 1992
--- Configure	Fri Dec 11 20:51:13 1992
***************
*** 8,14 ****
  # and edit it to reflect your system.  Some packages may include samples
  # of config.h for certain machines, so you might look for one of those.)
  #
! # $Header: /home/syd/elm.rel/RCS/Configure,v 5.17 1992/11/24 02:25:41 syd Exp $
  #
  # Yes, you may rip this off to use in other distribution packages.
  # (Note: this Configure script was generated automatically.  Rather than
--- 8,14 ----
  # and edit it to reflect your system.  Some packages may include samples
  # of config.h for certain machines, so you might look for one of those.)
  #
! # $Header: /home/syd/elm.rel/RCS/Configure,v 5.20 1992/12/12 01:50:57 syd Exp $
  #
  # Yes, you may rip this off to use in other distribution packages.
  # (Note: this Configure script was generated automatically.  Rather than
***************
*** 50,59 ****
  d_rename=''
  d_symlink=''
  d_whoami=''
- defeditor=''
- hostname=''
- phostname=''
- mydomain=''
  n=''
  c=''
  orderlib=''
--- 50,55 ----
***************
*** 212,217 ****
--- 208,219 ----
  d_utimbuf=''
  d_vfork=''
  defbatsub=''
+ defeditor=''
+ editoropts=''
+ hostname=''
+ phostname=''
+ mydomain=''
+ autohostname=''
  i_memory=''
  i_stdlib=''
  i_time=''
***************
*** 228,234 ****
--- 230,238 ----
  mansrc=''
  catmansrc=''
  manext=''
+ manext_choice=''
  catmanext=''
+ catmanext_choice=''
  packed=''
  manroff=''
  manroffopts=''
***************
*** 807,814 ****
  echo " "
  $echo $n "Hmm...  $c"
  if $test -f "$uname"; then
!     uname_os=`uname -s`
!     uname_rel=`uname -r`
      uname_rel=`expr "$uname_rel" : "\(...\).*"`
  else
      uname_os=unknown
--- 811,818 ----
  echo " "
  $echo $n "Hmm...  $c"
  if $test -f "$uname"; then
!     uname_os=`$uname -s`
!     uname_rel=`$uname -r`
      uname_rel=`expr "$uname_rel" : "\(...\).*"`
  else
      uname_os=unknown
***************
*** 899,917 ****
  esac
  $cat <<EOM
  
! The Elm manuals are set up for troff.  If you only have nroff, it can
! be used, but the manuals will not be as readable.  If you use an alternate
! processor for troff/nroff documents it can be specified here.  Elm expects
! the text processor to write to standard out.  You will be given a change
! to provide command line options to this command in the next question.
  
  EOM
  cont=true
  while $test "$cont" ; do
      echo " "
!     echo "Give the name of the program used to format documents on your"
!     $echo $n "system: [$dflt] $c"
!     rp="Preferred troff/nroff program: [$dflt]"
      . myread
      roff=$ans;
      if $test -f "$ans"; then
--- 903,922 ----
  esac
  $cat <<EOM
  
! The Elm documentation (Reference Guide, Configuration Guide, etc.) is set up
! for troff.  If you only have nroff, it can be used, but the documentation will
! not be as readable.  If you use an alternate processor for troff/nroff
! documents it can be specified here.  Elm expects the text processor to write
! to standard out.  You will be given a chance to provide command line options
! to this command in the next question.
  
  EOM
  cont=true
  while $test "$cont" ; do
      echo " "
!     echo "Give the name of the program used to format the Elm documentation on"
!     $echo $n "your system: [$dflt] $c"
!     rp="Preferred Elm documentation formatter program: [$dflt]"
      . myread
      roff=$ans;
      if $test -f "$ans"; then
***************
*** 943,949 ****
  $cat <<EOM
  
  If this text processor requires any options for proper formatting, specify
! then here.  To specify no options, enter the word "none".  Some versions
  of troff require the -t option to write to standard out.  This is the
  proper place to specify that option.
  
--- 948,954 ----
  $cat <<EOM
  
  If this text processor requires any options for proper formatting, specify
! them here.  To specify no options, enter the word "none".  Some versions
  of troff require the -t option to write to standard out.  This is the
  proper place to specify that option.
  
***************
*** 1009,1020 ****
  if $test "$mansrc" != none ; then
      case "$manext" in
      '')
! 	case "$mansrc" in
! 	*l) dflt=.l ;;
! 	*n) dflt=.n ;;
! 	*L) dflt=.L ;;
! 	*)  dflt=.1 ;;
! 	esac
  	;;
      .*)	dflt="$manext";;
      *)  dflt=".$manext";;
--- 1014,1029 ----
  if $test "$mansrc" != none ; then
      case "$manext" in
      '')
! 	if $test "$manext_choice" = none; then
! 	    dflt=none
! 	else
! 	    case "$mansrc" in
! 	    *l) dflt=.l ;;
! 	    *n) dflt=.n ;;
! 	    *L) dflt=.L ;;
! 	    *)  dflt=.1 ;;
! 	    esac
! 	fi
  	;;
      .*)	dflt="$manext";;
      *)  dflt=".$manext";;
***************
*** 1034,1046 ****
      $echo $n "$rp $c"
      . myread
      manext=$ans
      case "$manext" in
!     'none') manext=''
  	;;
      esac
      fi
  
! # Now the formated man pages ala System V
  case "$catmansrc" in
  '')
      dflt="/usr/man/catn /usr/man/catl /usr/catman/man.L /usr/catman/local/man1"
--- 1043,1057 ----
      $echo $n "$rp $c"
      . myread
      manext=$ans
+     manext_choice=$ans
      case "$manext" in
!     'none')
! 	manext=''
  	;;
      esac
      fi
  
! # Now the formatted man pages ala System V
  case "$catmansrc" in
  '')
      dflt="/usr/man/catn /usr/man/catl /usr/catman/man.L /usr/catman/local/man1"
***************
*** 1092,1107 ****
      *)  dflt="$manroff";;
      esac
      $cat <<EOM
! Manual pages are generally formatted with nroff.  If you use an alternate
! text processor for manual pages it can be specified here.  Elm expects
! the text processor to write to standard out.
  
  EOM
      cont=true
      while $test "$cont" ; do
  	echo " "
! 	echo "Give the name of the program used to format manual pages on your"
! 	$echo $n "system: [$dflt] $c"
  	rp="Preferred manual page formatter: [$dflt]"
  	. myread
  	manroff=$ans;
--- 1103,1122 ----
      *)  dflt="$manroff";;
      esac
      $cat <<EOM
! 
! Online manual pages are generally formatted with nroff.  If you use an 
! alternate text processor for on-line manual pages it can be specified here. 
! Elm expects the text processor to write to standard out.
  
+ Note: This does not effect the formatter previously chosen for the Elm
+       Elm documentation (Reference Guide, Configuration Guide, etc.).
+ 
  EOM
      cont=true
      while $test "$cont" ; do
  	echo " "
! 	echo "Give the name of the program used to format on-line manual pages"
! 	$echo $n "on your system: [$dflt] $c"
  	rp="Preferred manual page formatter: [$dflt]"
  	. myread
  	manroff=$ans;
***************
*** 1150,1164 ****
      # determine the extension for catman pages
      case "$catmanext" in
      '')
! 	if $test -n "$manext" ; then
! 	    dflt=$manext
  	else
! 	    case "$catmansrc" in
! 	    *l) dflt=.l ;;
! 	    *n) dflt=.n ;;
! 	    *L) dflt=.L ;;
! 	    *g1) dflt='' ;;
! 	    *)  dflt=.1 ;;
  	    esac
  	fi
  	;;
--- 1165,1187 ----
      # determine the extension for catman pages
      case "$catmanext" in
      '')
! 	if $test "$catmanext_choice" = none; then
! 	    dflt=none
  	else
! 	    case "$manext" in
! 	    .*) dflt=$manext ;;
! 	    *)
! 		if $test "$manext_choice" = none; then
! 		    dflt=none
! 		else
! 	            case "$catmansrc" in
! 	            *l) dflt=.l ;;
! 	            *n) dflt=.n ;;
! 	            *L) dflt=.L ;;
! 	            *g1) dflt=none ;;
! 	            *)  dflt=.1 ;;
! 	            esac
! 		fi
  	    esac
  	fi
  	;;
***************
*** 1180,1187 ****
      $echo $n "$rp $c"
      . myread
      catmanext=$ans
      case "$catmanext" in
!     'none') catmanext=''
  	;;
      esac
  
--- 1203,1212 ----
      $echo $n "$rp $c"
      . myread
      catmanext=$ans
+     catmanext_choice=$ans
      case "$catmanext" in
!     'none')
! 	catmanext=''
  	;;
      esac
  
***************
*** 1200,1206 ****
  	    case "$suffix" in
  	    .Z) dflt=n;;
  	    .z) dflt=y;;
! 	    *)  if $ls "$catmansrc"/*.z > /dev/null 2>&1 ; then
  		    dflt=y
  		else
  		    dflt=n
--- 1225,1231 ----
  	    case "$suffix" in
  	    .Z) dflt=n;;
  	    .z) dflt=y;;
! 	    *)  if [ "$catmansrc/*.z" != "`$echo $catmansrc/*.z`" ]; then
  		    dflt=y
  		else
  		    dflt=n
***************
*** 1221,1227 ****
  	    case "$suffix" in
  	    .z) dflt=n;;
  	    .Z) dflt=y;;
! 	    *)  if $ls "$catmansrc"/*.Z > /dev/null 2>&1 ; then
  		    dflt=y
  		else
  		    dflt=n
--- 1246,1252 ----
  	    case "$suffix" in
  	    .z) dflt=n;;
  	    .Z) dflt=y;;
! 	    *)  if [ "$catmansrc/*.Z" != "`$echo $catmansrc/*.Z`" ]; then
  		    dflt=y
  		else
  		    dflt=n
***************
*** 1259,1265 ****
  if xenix; then
      d_xenix="$define"
  :	now are we a 286
!     case "`uname -p`" in
  	i80286) 
  		xencf="-LARGE -Ml2et32"
  		xenlf="-Ml2t32 -F 5600 -SEG 512"
--- 1284,1290 ----
  if xenix; then
      d_xenix="$define"
  :	now are we a 286
!     case "`$uname -p`" in
  	i80286) 
  		xencf="-LARGE -Ml2et32"
  		xenlf="-Ml2t32 -F 5600 -SEG 512"
***************
*** 1776,1782 ****
  esac
  libs="$ans"
  
! : check for "existance of altzone"
  echo " "
  case "$d_altcheck" in
  "$define")	;;
--- 1801,1807 ----
  esac
  libs="$ans"
  
! : check for "existence of altzone"
  echo " "
  case "$d_altcheck" in
  "$define")	;;
***************
*** 1868,1874 ****
  : get list of predefined functions in a handy place
  echo " "
  case "$libc" in
! '') libc=unknown;;
  esac
  case "$mips" in
  '') mips=false;;
--- 1893,1907 ----
  : get list of predefined functions in a handy place
  echo " "
  case "$libc" in
! '') if test -d /usr/apollo; then
! 	libc=/lib/libc
!     else
! 	libc=unknown
!     fi
!     ;;
! '/lib/libc /lib/clib')
!     libc=/lib/libc
!     ;;
  esac
  case "$mips" in
  '') mips=false;;
***************
*** 2159,2164 ****
--- 2192,2200 ----
  elif $contains F_SETLK /usr/include/sys/fcntlcom.h >/dev/null 2>&1; then
      echo 'F_SETLK found, fcntl locking available'
      has_fcntl="$define"
+ elif $contains F_SETLK /usr/include/sys/file.h >/dev/null 2>&1; then
+     echo 'F_SETLK found, fcntl locking available'
+     has_fcntl="$define"
  else
      echo 'F_SETLK not found, fcntl locking not available'
      has_fcntl="$undef"
***************
*** 2262,2341 ****
  echo " "
  
  : now get the host name
! echo " "
! echo "Figuring out host name..."
! echo 'Maybe "hostname" will work...'
! if ans=`sh -c hostname 2>&1` ; then
!     hostname=$ans
!     phostname=hostname
! else
!     if xenix; then
! 	echo 'Oh, dear.  Maybe "/etc/systemid" is the key...'
! 	if ans=`cat /etc/systemid 2>&1` ; then
! 	    hostname=$ans
! 	    phostname='cat /etc/systemid'
! 	    echo "Whadyaknow.  Xenix always was a bit strange..."
! 	else
! 	    echo 'No, maybe "uuname -l" will work...'
! 	    if ans=`sh -c 'uuname -l' 2>&1` ; then
  		hostname=$ans
! 		phostname='uuname -l'
  	    else
! 		echo 'Strange.  Maybe "uname -n" will work...'
! 		if ans=`sh -c 'uname -n' 2>&1` ; then
  		    hostname=$ans
! 		    phostname='uname -n'
  		else
! 		    echo 'Oh well, maybe I can mine it out of whoami.h...'
! 		    if ans=`sh -c $contains' sysname /usr/include/whoami.h' 2>&1` ; then
! 			hostname=`echo "$ans" | $sed 's/^.*"\(.*\)"/\1/'`
! 			phostname="sed -n -e '"'/sysname/s/^.*\"\\(.*\\)\"/\1/{'"' -e p -e q -e '}' </usr/include/whoami.h"
  		    else
! 			case "$hostname" in
! 			'') echo "Does this machine have an identity crisis or something?"
! 			    phostname=''
! 			    ;;
! 			*)  echo "Well, you said $hostname before...";;
! 			esac
  		    fi
  		fi
  	    fi
- 	fi
-     else
- 	if $test -r /etc/systemid ; then
- 	    echo "What is a non-Xenix system doing with /etc/systemid?"
- 	fi
- 	echo 'No, maybe "uuname -l" will work...'
- 	if $test -n "$uuname" && ans=`sh -c "$uuname -l" 2>&1` ; then
- 	    hostname=$ans
- 	    phostname="$uuname -l"
  	else
! 	    echo 'Strange.  Maybe "uname -n" will work...'
! 	    if $test -n "$uname" && ans=`sh -c "$uname -n" 2>&1` ; then
  		hostname=$ans
! 		phostname="$uname -n"
  	    else
! 		if ans=`cat /etc/systemid 2>&1` ; then
  		    hostname=$ans
! 		    phostname='cat /etc/systemid'
! 		    echo "Well, I'll use the systemid file anyway..."
  		else
! 		    echo 'Oh well, maybe I can mine it out of whoami.h...'
! 		    if ans=`sh -c $contains' sysname /usr/include/whoami.h' 2>&1` ; then
! 			hostname=`echo "$ans" | $sed 's/^.*"\(.*\)"/\1/'`
! 			phostname="sed -n -e '"'/sysname/s/^.*\"\\(.*\\)\"/\1/{'"' -e p -e q -e '}' </usr/include/whoami.h"
  		    else
! 			case "$hostname" in
! 			'') echo "Does this machine have an identity crisis or something?"
! 			    phostname=''
! 			    ;;
! 			*)  echo "Well, you said $hostname before...";;
! 			esac
  		    fi
  		fi
  	    fi
  	fi
      fi
  fi
  : you do not want to know about this
  set $hostname
--- 2298,2382 ----
  echo " "
  
  : now get the host name
! if $test "$autohostname" != "$undef" -o "$hostname" = "" ; then
!     autohostname="$define"
!     echo " "
!     echo "Figuring out host name..."
!     echo 'Maybe "hostname" will work...'
!     if ans=`sh -c hostname 2>&1` ; then
! 	hostname=$ans
! 	phostname=hostname
!     else
! 	if xenix; then
! 	    echo 'Oh, dear.  Maybe "/etc/systemid" is the key...'
! 	    if ans=`cat /etc/systemid 2>&1` ; then
  		hostname=$ans
! 		phostname='cat /etc/systemid'
! 		echo "Whadyaknow.  Xenix always was a bit strange..."
  	    else
! 		echo 'No, maybe "uuname -l" will work...'
! 		if ans=`sh -c '$uuname -l' 2>&1` ; then
  		    hostname=$ans
! 		    phostname='$uuname -l'
  		else
! 		    echo 'Strange.  Maybe "uname -n" will work...'
! 		    if ans=`sh -c '$uname -n' 2>&1` ; then
! 			hostname=$ans
! 			phostname='$uname -n'
  		    else
! 			echo 'Oh well, maybe I can mine it out of whoami.h...'
! 			if ans=`sh -c $contains' sysname /usr/include/whoami.h' 2>&1` ; then
! 			    hostname=`echo "$ans" | $sed 's/^.*"\(.*\)"/\1/'`
! 			    phostname="sed -n -e '"'/sysname/s/^.*\"\\(.*\\)\"/\1/{'"' -e p -e q -e '}' </usr/include/whoami.h"
! 			else
! 			    case "$hostname" in
! 			    '') echo "Does this machine have an identity crisis or something?"
! 				phostname=''
! 				;;
! 			    *)  echo "Well, you said $hostname before...";;
! 			    esac
! 			fi
  		    fi
  		fi
  	    fi
  	else
! 	    if $test -r /etc/systemid ; then
! 		echo "What is a non-Xenix system doing with /etc/systemid?"
! 	    fi
! 	    echo 'No, maybe "uuname -l" will work...'
! 	    if $test -n "$uuname" && ans=`sh -c "$uuname -l" 2>&1` ; then
  		hostname=$ans
! 		phostname="$uuname -l"
  	    else
! 		echo 'Strange.  Maybe "uname -n" will work...'
! 		if $test -n "$uname" && ans=`sh -c "$uname -n" 2>&1` ; then
  		    hostname=$ans
! 		    phostname="$uname -n"
  		else
! 		    if ans=`cat /etc/systemid 2>&1` ; then
! 			hostname=$ans
! 			phostname='cat /etc/systemid'
! 			echo "Well, I'll use the systemid file anyway..."
  		    else
! 			echo 'Oh well, maybe I can mine it out of whoami.h...'
! 			if ans=`sh -c $contains' sysname /usr/include/whoami.h' 2>&1` ; then
! 			    hostname=`echo "$ans" | $sed 's/^.*"\(.*\)"/\1/'`
! 			    phostname="sed -n -e '"'/sysname/s/^.*\"\\(.*\\)\"/\1/{'"' -e p -e q -e '}' </usr/include/whoami.h"
! 			else
! 			    case "$hostname" in
! 			    '') echo "Does this machine have an identity crisis or something?"
! 				phostname=''
! 				;;
! 			    *)  echo "Well, you said $hostname before...";;
! 			    esac
! 			fi
  		    fi
  		fi
  	    fi
  	fi
      fi
+ else
+     echo "Last time you said the hostname was $hostname"
  fi
  : you do not want to know about this
  set $hostname
***************
*** 2369,2374 ****
--- 2410,2416 ----
      $echo $n "$rp $c"
      . myread
      hostname="$ans"
+     autohostname="$undef"
  done
  
  echo " "
***************
*** 2789,2801 ****
   
  Some systems run MMDF as their Mail Transport Agent.  MMDF uses a
  different way of delimiting messages in the mailbox files.  Other
! systems don't run MMDF but use the MMDF seperator in their mailbox
! files.  The MMDF seperator is usually this is a series of four Control
  A's.  $package needs to know if this system uses the MMDF style message
! seperator in its mailbox files.
  
  EOM
! rp="Does this system use MMDF style message seperator? [$dflt]"
  $echo $n "$rp $c"
  . myread
  case "$ans" in
--- 2831,2843 ----
   
  Some systems run MMDF as their Mail Transport Agent.  MMDF uses a
  different way of delimiting messages in the mailbox files.  Other
! systems don't run MMDF but use the MMDF separator in their mailbox
! files.  The MMDF separator is usually this is a series of four Control
  A's.  $package needs to know if this system uses the MMDF style message
! separator in its mailbox files.
  
  EOM
! rp="Does this system use MMDF style message separator? [$dflt]"
  $echo $n "$rp $c"
  . myread
  case "$ans" in
***************
*** 2877,2887 ****
   
  Some newer mailers can deliver mail to addresses of the INTERNET
  persuasion, such as user@host.domain.  Other older mailers require the
! complete uucp ! path to the destination to be specified in the
! address.  Does your mailer understand
  EOM
- $echo $n "INTERNET addresses? [$dflt] $c"
  rp="Does your mailer understand INTERNET addresses? [$dflt]"
  . myread
  case "$ans" in
  y*) d_internet="$define";;
--- 2919,2928 ----
   
  Some newer mailers can deliver mail to addresses of the INTERNET
  persuasion, such as user@host.domain.  Other older mailers require the
! complete uucp ! path to the destination to be specified in the address.
  EOM
  rp="Does your mailer understand INTERNET addresses? [$dflt]"
+ $echo $n "$rp $c"
  . myread
  case "$ans" in
  y*) d_internet="$define";;
***************
*** 3004,3010 ****
  
  The system has the message catalog routines in its library.  These routines
  are new, and on some systems do not function properly. Also, $package expects
! that these routines are X/Open complient.
  
  EOM
  
--- 3045,3051 ----
  
  The system has the message catalog routines in its library.  These routines
  are new, and on some systems do not function properly. Also, $package expects
! that these routines are X/Open compliant.
  
  EOM
  
***************
*** 3081,3087 ****
  doesn't necessarily need graphics capabilities on your display, but its
  useful.
  
! If you have intalled Nathaniel Borenstein's metamail package for
  displaying MIME messages, elm can make use of it.  If you didn't
  have metamail installed you might want to obtain a copy of it.  The
  most recent version is on thumper.bellcore.com [128.96.41.1], or ask
--- 3122,3128 ----
  doesn't necessarily need graphics capabilities on your display, but its
  useful.
  
! If you have installed Nathaniel Borenstein's metamail package for
  displaying MIME messages, elm can make use of it.  If you didn't
  have metamail installed you might want to obtain a copy of it.  The
  most recent version is on thumper.bellcore.com [128.96.41.1], or ask
***************
*** 3607,3613 ****
  done
  
  : determine the group of the mail directory- what group elm should use
! mailgrp=`$ls -lgd $maildir`
  mailgrp=`$expr "$mailgrp" : "[ld][rwxstS-]*[ 0123456789]*\(.*\)"`
  : now mailgrp is either    user group size mon day time/year name
  : or                       group size mon day time/year name
--- 3648,3654 ----
  done
  
  : determine the group of the mail directory- what group elm should use
! mailgrp=`$ls -lgd $maildir/.`
  mailgrp=`$expr "$mailgrp" : "[ld][rwxstS-]*[ 0123456789]*\(.*\)"`
  : now mailgrp is either    user group size mon day time/year name
  : or                       group size mon day time/year name
***************
*** 3645,3650 ****
--- 3686,3694 ----
      mailermode=2755
      cat <<EOM
  
+ Since Elm is being installed as a setgid program, it must be installed
+ by root, or a user able to set the setgid bit.
+ 
  To provide better security, Elm can be configured to switch to the
  privileged group of $mailgrp only when necessary to access mail folders.
  
***************
*** 3925,3930 ****
--- 3969,3984 ----
      set _tzname d_tzname
      eval $inlibc
  fi
+ 
+ #	try alternate test for nm commands that have problems
+ #	with data items being parsed
+ 
+ if $test "$d_tzname" = "$undef"; then
+     if $contains tzname /usr/include/time.h >/dev/null 2>&1 ; then
+ 	echo 'tzname found in time.h'
+ 	d_tzname="$define"
+     fi
+ fi
  : check for valid reply/to fields
  case "$d_useembed" in
  "$define")	dflt=y;;
***************
*** 4038,4044 ****
  #include <sys/types.h>
  #include <sys/stat.h>
  #define far /* to keep XENIX from complaining */
! #include <sys/file.h>
  #ifdef I_TIME
  #  include <time.h>
  #endif
--- 4092,4100 ----
  #include <sys/types.h>
  #include <sys/stat.h>
  #define far /* to keep XENIX from complaining */
! #if (defined(BSD) || !defined(apollo))
! #  include <sys/file.h>
! #endif
  #ifdef I_TIME
  #  include <time.h>
  #endif
***************
*** 4172,4179 ****
  : determine default editor
  case "$defeditor" in
  '')
!     case "$_vi" in
!     */*) dflt="$_vi";;
      *) dflt=/usr/ucb/vi;;
      esac
      ;;
--- 4228,4235 ----
  : determine default editor
  case "$defeditor" in
  '')
!     case "$vi" in
!     */*) dflt="$vi";;
      *) dflt=/usr/ucb/vi;;
      esac
      ;;
***************
*** 4180,4185 ****
--- 4236,4251 ----
  *)  dflt="$defeditor"
      ;;
  esac
+ 
+ $cat <<EOM
+ 
+ Elm must be configured with a default editor.  On most systems this may
+ be 'vi'.  If you prefer to use some other, easier editor enter it here.
+ You will be given a change to provide command line options to this
+ command in the next question.
+ 
+ EOM
+ 
  cont=true
  while $test "$cont" ; do
      echo " "
***************
*** 4187,4210 ****
      $echo $n "$rp $c"
      . myread
      defeditor="$ans"
!     if $test -f $ans; then
  	cont=''
      else
! 	if $test "$fastread" = yes; then
! 	    dflt=y
  	else
! 	    dflt=n
! 	fi
! 	rp="File $ans doesn't exist.  Use that name anyway? [$dflt]"
! 	$echo $n "$rp $c"
! 	. myread
! 	dflt=''
! 	case "$ans" in
! 	y*) cont='';;
! 	esac
      fi
  done
  
  : determine where public libraries go
  case "$lib" in
  '')
--- 4253,4302 ----
      $echo $n "$rp $c"
      . myread
      defeditor="$ans"
!     if $test -f "$ans"; then
  	cont=''
      else
! 	lookup=`loc "$ans" "" . $pth`
! 	if $test -f "$lookup"; then
! 	    cont=''
! 	    defeditor=$lookup
  	else
! 	    if $test "$fastread" = yes; then
! 	        dflt=y
! 	    else
! 	        dflt=n
! 	    fi
! 	    echo "Editor $ans doesn't exist."
! 	    rp="Use that name anyway? [$dflt]"
! 	    $echo $n "$rp $c"
! 	    . myread
! 	    dflt=''
! 	    case "$ans" in
! 	    y*) cont='';;
! 	    esac
!         fi
      fi
  done
  
+ : determine the editor flags to use
+ $cat <<EOM
+ 
+ If this editor requires any options for proper use, specify them
+ here.  To specify no options, enter the word "none".  For example,
+ 'pico' users will want to use the -t option.  This is the proper
+ place to specify that option.
+ 
+ EOM
+ dflt="$editoropts"
+ rp="What options should Elm use with $defeditor: [$dflt]"
+ $echo $n "$rp $c"
+ . myread
+ editoropts=$ans
+ case "$editoropts" in
+ 'none') editoropts=''
+      ;;
+ esac
+ 
  : determine where public libraries go
  case "$lib" in
  '')
***************
*** 4609,4618 ****
  d_rename='$d_rename'
  d_symlink='$d_symlink'
  d_whoami='$d_whoami'
- defeditor='$defeditor'
- hostname='$hostname'
- phostname='$phostname'
- mydomain='$mydomain'
  n='$n'
  c='$c'
  orderlib='$orderlib'
--- 4701,4706 ----
***************
*** 4771,4776 ****
--- 4859,4870 ----
  d_utimbuf='$d_utimbuf'
  d_vfork='$d_vfork'
  defbatsub='$defbatsub'
+ defeditor='$defeditor'
+ editoropts='$editoropts'
+ hostname='$hostname'
+ phostname='$phostname'
+ mydomain='$mydomain'
+ autohostname='$autohostname'
  i_memory='$i_memory'
  i_stdlib='$i_stdlib'
  i_time='$i_time'
***************
*** 4787,4793 ****
--- 4881,4889 ----
  mansrc='$mansrc'
  catmansrc='$catmansrc'
  manext='$manext'
+ manext_choice='$manext_choice'
  catmanext='$catmanext'
+ catmanext_choice='$catmanext_choice'
  packed='$packed'
  manroff='$manroff'
  manroffopts='$manroffopts'

Index: Instruct
*** ../elm2.4/Instruct	Tue Nov 17 14:10:54 1992
--- Instruct	Sun Dec  6 22:44:43 1992
***************
*** 1,7 ****
  				Instructions
  				------------
  
! 		        Last Update: $Date: 1992/11/15 01:07:19 $
  
  
  	This file contains instructions on how to create and install
--- 1,7 ----
  				Instructions
  				------------
  
! 		        Last Update: $Date: 1992/12/07 03:44:37 $
  
  
  	This file contains instructions on how to create and install
***************
*** 57,65 ****
  
  	$ make install
  	
! Note: On some systems the mailer runs as setgid mail to have the ability
! to WRITE to the mail directory (for lock files).   If you have a different
! scheme at your site, feel free to set it up to use that instead.
  
  Finally, we're just about done!   The final checks can be made
  by the following commands:
--- 57,68 ----
  
  	$ make install
  	
! Note: On some systems the mailer runs as setgid mail to have the
! ability to WRITE to the mail directory (for lock files).  If this is
! true, you will have to be root to install Elm (or some other user that
! can have the makefile set the setgid bit on the required executables).
! If you have a different scheme at your site, feel free to set it up to
! use that instead.
  
  Finally, we're just about done!   The final checks can be made
  by the following commands:

Index: Patchlist
*** ../elm2.4/Patchlist	Wed Nov 25 14:10:35 1992
--- Patchlist	Fri Dec 11 20:52:38 1992
***************
*** 1,6 ****
  =========================================================
  Patch Set - Patches 12 and 13: Sat Nov 21 21:03:26 EST 1992
! Elm 2.4PL10 -> Elm 2.4PL11
  
  Handle the case where a system does
  >         #define jmp_buf sigjmp_buf
--- 1,122 ----
  =========================================================
+ Patch Set - Patches 13 through 17: Fri Dec 11 20:52:23 EST 1992
+ Elm 2.4PL13 -> Elm 2.4PL17
+ 
+ Attempt to fix where Elm was issuing the final error message on the
+ cursor screen instead of the regular screen on terminals where the
+ ti/te code swaps the screen.
+ From: Syd
+ 
+ Internal fix to use correct errno on some error messages.
+ From: Syd
+ 
+ Add decode option to copy_message
+ From: bjoerns@stud.cs.uit.no (Bjoern Stabell)
+ 
+ Fix Configure for ls that return 0 status even if file
+ is not found, re packing man pages.
+ From: aj@redwood.cray.com (Chris Jackman)
+ 
+ Fix Configure not getting mailgrp correct on symlinks.
+ From: aj@redwood.cray.com (Chris Jackman)
+ 
+ Add missing -n flag to doc makefile.
+ From: gwh@dogmatix.inmos.co.uk
+ 
+ Always init fcntlerr and flockerr in src/lock.c to avoid compiler
+ warnings.
+ From: Syd via prompt from wdh@grouper.mkt.csd.harris.com (W. David Higgins)
+ 
+ Traditional C used 'unsigned preserving' rules when an integral data
+ value is widened to integer and ANSI C changed the rules to 'value
+ preserving'. This is one of the few things that the ANSI X3J11 comitte
+ did that might break existing programs.  Casting to (int)
+ From: Bo.Asbjorn.Muldbak <bam@jutland.ColumbiaSC.NCR.COM>
+ 
+ When ELM is reporting "appending to <foldername>" I never get to see
+ but a flash of light, before the message line has been replaced by a
+ dummy "Messages saved" string.  And if you happen to have mistyped the
+ foldername or the leading '=', you never see the foldername.
+ 
+ This fix will change file.c to show either
+ 
+ 	Message <what> to <foldername>
+ 
+ or
+ 	<#> messages <what> to <foldername>
+ From: Bo.Asbjorn.Muldbak <bam@jutland.ColumbiaSC.NCR.COM>
+ 
+ This implements the use of SIGUSR1 and SIGUSR2 as discussed on the
+ mailing list recently, and adds them to the documentation.
+ From: scs@lokkur.dexter.mi.us (Steve Simmons)
+ 
+ Attempt to patch posix_signal for SunOS problem.
+ From: A lot of the Elm group
+ 
+ Change cancelled mail message to indicate full path name as
+ AFS users don't have home and elm's home the same.
+ From: Syd
+ 
+ Fix doc/Makefile.SH to have an else clause on all if's so that
+ if's that return an error code on a not taken if and a null else
+ clause don't exit the makefile
+ From: Syd via requests from many
+ 
+ General changes for apollo portability
+ From: gordonb@mcil.comm.mot.com (Gordon Berkley)
+ 
+ Fix typos in edit.c
+ From: Bo.Asbjorn.Muldbak <bam@jutland.ColumbiaSC.NCR.COM>
+ 
+ If sigset() and sigrelse() are available, release signal before
+ using longjmp() to leave signal handler.
+ From: chip@tct.com (Chip Salzenberg)
+ 
+ Anytime elm wants to re-run newalias, selected is set to 0.
+ (removing any limit in effect)
+ From: "Robert L. Howard" <robert.howard@matd.gatech.edu>
+ 
+ Allow for use from restricted shell by putting SHELL=/bin/sh in the
+ environment of spawned mail transport program.
+ From: chip@tct.com (Chip Salzenberg)
+ 
+ fix Obvious typos.
+ From: dwolfe@pffft.sps.mot.com (Dave Wolfe)
+ 
+ List_folder knew only about '=' but nothing about the rest
+ of [+=%] as one would have expected.
+ From: Jukka Antero Ukkonen <ukkonen@venus.csc.fi>
+ 
+ Fix where the user creates a first new alias, then deletes it, the
+ alias stays on screen, but the file really will be empty if it was the
+ last alias, so the retry to delete gives 'cannot open ...file' messages
+ From: "Robert L. Howard" <robert.howard@matd.gatech.edu>
+ 
+ Make Elm complain about spaces that are not after commas in
+ alias and address lists
+ From: "Robert L. Howard" <robert.howard@matd.gatech.edu>
+ 
+ Make verb and pronoun agree.
+ From: dwolfe@pffft.sps.mot.com (Dave Wolfe)
+ 
+ in do_get_alias().  abuf[] was under dimensioned.
+ From: "Robert L. Howard" <robert.howard@matd.gatech.edu>
+ 
+ Remove the old packed manual page before trying to pack the new one.
+ From: Tom Moore <tmoore@fievel.DaytonOH.NCR.COM>
+ 
+ Fix double inclusion of sys/types.h
+ From: Tom Moore <tmoore@wnas.DaytonOH.NCR.COM>
+ 
+ Fix building editor wrap problem
+ From: Syd via prompting from vogt@isa.de (Gerald Vogt)
+ 
+ 
+ 
+ 
+ =========================================================
  Patch Set - Patches 12 and 13: Sat Nov 21 21:03:26 EST 1992
! Elm 2.4PL11 -> Elm 2.4PL13
  
  Handle the case where a system does
  >         #define jmp_buf sigjmp_buf

Index: README
*** ../elm2.4/README	Tue Nov 17 14:10:55 1992
--- README	Sun Dec  6 22:37:08 1992
***************
*** 22,29 ****
  
  In addition, ftp.uu.net maintains a mirror of the Elm release files
  in /networking/mail/elm.  Patches are available in that directory
! shortly after release.
  
  Limitations/Problems you might encounter in compiling and installing Elm:
  	
  From comp.mail.elm, dws@ssec.wisc.edu (DaviD W. Sanderson) writes:
--- 22,36 ----
  
  In addition, ftp.uu.net maintains a mirror of the Elm release files
  in /networking/mail/elm.  Patches are available in that directory
! shortly after release.  Other sites also keep mirrors of the Elm
! distribution.  There are sites in Europe, Australia, Taiwan and the UK
! in addition to several in the US.  Send the message
  
+ 	send elm elm.ftp
+ 
+ to archive-server@dsi.com for a current list of ftp mirror sites.
+ 
+ 
  Limitations/Problems you might encounter in compiling and installing Elm:
  	
  From comp.mail.elm, dws@ssec.wisc.edu (DaviD W. Sanderson) writes:
***************
*** 118,123 ****
--- 125,141 ----
  > -- 
  > Bjorn Brox, CORENA A/S, P.O. Box 448, 3601 Kongsberg, NORWAY
  > E-mail : brox@dms.corena.no , Phone : +47 3 73 66 11 , Fax : +47 3 73 52 62 
+ 
+ From: gordonb@mcil.comm.mot.com (Gordon Berkley)
+ On HP/Apollo Domain OS:
+ 	Apollo TAR is screwey in creating directories.
+ 	Need to create directories before un-taring
+ 	DIRS="utils test src nls nls/C nls/C/C nls/C/C/C nls/gencat \
+ 		lib hdrs filter doc"
+ 	for dir in $DIRS
+ 	do
+ 		mkdir $dir
+ 	done
  
  
  	On some systems, especially those based on the AT&T Port to

Index: config.h.SH
*** ../elm2.4/config.h.SH	Tue Nov 17 14:10:54 1992
--- config.h.SH	Thu Dec 10 21:15:12 1992
***************
*** 82,108 ****
   */
  #$d_whoami	WHOAMI		/**/
  
- /* DEFEDITOR:
-  *	This symbol contains the name of the default editor.
-  */
- #define DEFEDITOR "$defeditor"		/**/
- 
- /* 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 "$hostname"		/**/
- #define MYDOMAIN "$mydomain"		/**/
- 
  /* PREFSHELL:
   *	This symbol contains the full name of the preferred user shell on this
   *	system.  Usual values are /bin/csh, /bin/ksh, /bin/sh.
--- 82,87 ----
***************
*** 516,521 ****
--- 495,526 ----
   *	This symbol, if defined, indicates that vfork() exists.
   */
  #$d_vfork	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 "$defeditor"		/**/
+ 
+ #define EDITOROPTS "$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 "$hostname"		/**/
+ #define MYDOMAIN "$mydomain"		/**/
  
  /* I_MEMORY:
   *	This symbol, if defined, indicates that the file memory.h

Index: doc/Config.guid
Prereq: 5.4
*** ../elm2.4/doc/Config.guid	Wed Nov 25 14:10:34 1992
--- doc/Config.guid	Thu Dec 10 21:02:42 1992
***************
*** 1,4 ****
! .\" @(#)$Id: Config.guid,v 5.4 1992/11/22 00:49:31 syd Exp $
  .\"
  .\"  A guide to the ELM alias system and so on.
  .\"  format with:
--- 1,4 ----
! .\" @(#)$Id: Config.guid,v 5.5 1992/11/27 02:51:18 syd Exp $
  .\"
  .\"  A guide to the ELM alias system and so on.
  .\"  format with:
***************
*** 11,18 ****
  .\"	Syd Weinstein		elm@DSI.COM (dsinc!elm)
  .\"
  .\"  $Log: Config.guid,v $
  .\" Revision 5.4  1992/11/22  00:49:31  syd
! .\" Add support for a "config.changes" file to override Configure decisions.
  .\" From: chip@chinacat.unicom.com (Chip Rosenthal)
  .\"
  .\" Revision 5.3  1992/10/24  13:51:44  syd
--- 11,22 ----
  .\"	Syd Weinstein		elm@DSI.COM (dsinc!elm)
  .\"
  .\"  $Log: Config.guid,v $
+ .\" Revision 5.5  1992/11/27  02:51:18  syd
+ .\" Make the docs catch up with the code, config.changes -> config.over
+ .\" From: Syd
+ .\"
  .\" Revision 5.4  1992/11/22  00:49:31  syd
! .\" Add support for a "config.over" file to override Configure decisions.
  .\" From: chip@chinacat.unicom.com (Chip Rosenthal)
  .\"
  .\" Revision 5.3  1992/10/24  13:51:44  syd
***************
*** 393,399 ****
  the same configuration changes.  Or more likely, you'll forget that
  the changes are required.
  .sp
! The solution to this problem is to create a \f2config.changes\f1 file
  in the \f3Elm\f1 base directory.  This file may contain any valid \f2sh\f1
  commands, and is loaded by \f2Configure\f1 immediately before the
  \f2config.sh\f1 file is created.
--- 397,403 ----
  the same configuration changes.  Or more likely, you'll forget that
  the changes are required.
  .sp
! The solution to this problem is to create a \f2config.over\f1 file
  in the \f3Elm\f1 base directory.  This file may contain any valid \f2sh\f1
  commands, and is loaded by \f2Configure\f1 immediately before the
  \f2config.sh\f1 file is created.
***************
*** 406,410 ****
  .pg
  \f3d_feature=undef\f1
  .sp
! All you need to do is create a \f2config.changes\f1 file and put that
  final line in it.
--- 410,414 ----
  .pg
  \f3d_feature=undef\f1
  .sp
! All you need to do is create a \f2config.over\f1 file and put that
  final line in it.

Index: doc/Makefile.SH
Prereq: 5.4
*** ../elm2.4/doc/Makefile.SH	Wed Nov 25 14:10:36 1992
--- doc/Makefile.SH	Sun Dec 13 13:00:06 1992
***************
*** 16,22 ****
  echo "Extracting doc/Makefile (with variable substitutions)"
  cat >Makefile <<!GROK!THIS!
  #
! # $Id: Makefile.SH,v 5.4 1992/11/22 00:47:02 syd Exp $
  #
  #  Makefile for the documentation of the ELM mail system
  #
--- 16,22 ----
  echo "Extracting doc/Makefile (with variable substitutions)"
  cat >Makefile <<!GROK!THIS!
  #
! # $Id: Makefile.SH,v 5.9 1992/12/13 18:00:05 syd Exp $
  #
  #  Makefile for the documentation of the ELM mail system
  #
***************
*** 23,28 ****
--- 23,50 ----
  #         (C) Copyright 1988-1992, USENET Community Trust
  #
  #  $Log: Makefile.SH,v $
+ # 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.
***************
*** 159,165 ****
  
  # Targets
  all: 
! 	@if $(TEST) '$(CATMAN)' != none; then $(MAKE) formatted_pages ;  fi
  
  #	The following are no-ops
  lint:
--- 181,187 ----
  
  # Targets
  all: 
! 	@if $(TEST) '$(CATMAN)' != none; then $(MAKE) formatted_pages ;  else true ; fi
  
  #	The following are no-ops
  lint:
***************
*** 171,178 ****
  	mkdir catman
  
  install: $(LIB_LIST)
! 	@if $(TEST) '$(MAN)' != none; then $(MAKE) install_man ;  fi
! 	@if $(TEST) '$(CATMAN)' != none; then $(MAKE) install_catman ;  fi
  
  install_man: $(MAN_LIST) $(MAN)/wnewmail$(MANEXT)
  
--- 193,200 ----
  	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)
  
***************
*** 181,189 ****
  uninstall:
  	$(RM) $(LIB_LIST) 
  	@if $(TEST) '$(MAN)' != none; then  \
! 		$(RM) $(MAN_LIST) $(MAN)/wnewmail$(MANEXT) ; fi
  	@if $(TEST) '$(CATMAN)' != none; then \
! 		$(RM) $(CATMAN_LIST) $(CATMAN)/wnewmail$(CATMANEXT)$(SUFFIX) ; fi
  
  #	Dependencies and rules for installing man pages and lib files
  #	taken from a remote system
--- 203,217 ----
  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
***************
*** 348,414 ****
  catman/answer$(CATMANEXT)$(SUFFIX):		answer.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/answer$(CATMANEXT)
  	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(PACKER) catman/answer$(CATMANEXT) ; fi
  
  catman/autoreply$(CATMANEXT)$(SUFFIX):		autoreply.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/autoreply$(CATMANEXT)
! 	@if $(TEST) -n "$(PACKED)" ; then \
! 		$(PACKER) catman/autoreply$(CATMANEXT) ; fi
  
  catman/checkalias$(CATMANEXT)$(SUFFIX):		chkalias.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/checkalias$(CATMANEXT)
  	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(PACKER) catman/checkalias$(CATMANEXT) ; fi
  
  catman/elm$(CATMANEXT)$(SUFFIX):		elm.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/elm$(CATMANEXT)
  	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(PACKER) catman/elm$(CATMANEXT) ; fi
  
  catman/fastmail$(CATMANEXT)$(SUFFIX):		fastmail.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/fastmail$(CATMANEXT)
  	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(PACKER) catman/fastmail$(CATMANEXT) ; fi
  
  catman/filter$(CATMANEXT)$(SUFFIX):		filter.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/filter$(CATMANEXT)
  	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(PACKER) catman/filter$(CATMANEXT) ; fi
  
  catman/frm$(CATMANEXT)$(SUFFIX):		frm.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/frm$(CATMANEXT)
  	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(PACKER) catman/frm$(CATMANEXT) ; fi
  
  catman/listalias$(CATMANEXT)$(SUFFIX):		listalias.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/listalias$(CATMANEXT)
  	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(PACKER) catman/listalias$(CATMANEXT) ; fi
  
  catman/messages$(CATMANEXT)$(SUFFIX):		messages.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/messages$(CATMANEXT)
  	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(PACKER) catman/messages$(CATMANEXT) ; fi
  
  catman/newalias$(CATMANEXT)$(SUFFIX):		newalias.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/newalias$(CATMANEXT)
  	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(PACKER) catman/newalias$(CATMANEXT) ; fi
  
  catman/newmail$(CATMANEXT)$(SUFFIX):		newmail.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/newmail$(CATMANEXT)
  	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(PACKER) catman/newmail$(CATMANEXT) ; fi
  
  catman/printmail$(CATMANEXT)$(SUFFIX):		printmail.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/printmail$(CATMANEXT)
  	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(PACKER) catman/printmail$(CATMANEXT) ; fi
  
  catman/readmsg$(CATMANEXT)$(SUFFIX):		readmsg.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/readmsg$(CATMANEXT)
  	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(PACKER) catman/readmsg$(CATMANEXT) ; fi
  
  
  #	Dependencies and rules for formatting guides
--- 376,494 ----
  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/autoreply$(CATMANEXT)$(SUFFIX):		autoreply.1
  	$(MANROFF) $(MANROFF_OPTS) -man $? > catman/autoreply$(CATMANEXT)
! 	@if $(TEST) "$(PACKED)" = y ; then \
! 		$(RM) $@ ; \
! 		$(PACKER) catman/autoreply$(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/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

Index: doc/Ref.guide
Prereq: 5.11
*** ../elm2.4/doc/Ref.guide	Tue Nov 10 15:20:22 1992
--- doc/Ref.guide	Fri Dec 11 20:27:42 1992
***************
*** 1,4 ****
! .\" @(#)$Id: Ref.guide,v 5.11 1992/11/07 19:37:21 syd Exp $
  .\"
  .\"  Reference guide to the Elm mail system.
  .\"  format with 
--- 1,4 ----
! .\" @(#)$Id: Ref.guide,v 5.13 1992/12/12 01:27:41 syd Exp $
  .\"
  .\"  Reference guide to the Elm mail system.
  .\"  format with 
***************
*** 12,17 ****
--- 12,26 ----
  .\"  (C) Copyright 1988-1992 Usenet Community Trust
  .\"
  .\"  $Log: Ref.guide,v $
+ .\" Revision 5.13  1992/12/12  01:27:41  syd
+ .\" Make verb and pronoun agree.
+ .\" From: dwolfe@pffft.sps.mot.com (Dave Wolfe)
+ .\"
+ .\" Revision 5.12  1992/12/07  02:41:21  syd
+ .\" This implements the use of SIGUSR1 and SIGUSR2 as discussed on the
+ .\" mailing list recently, and adds them to the documentation.
+ .\" From: scs@lokkur.dexter.mi.us (Steve Simmons)
+ .\"
  .\" Revision 5.11  1992/11/07  19:37:21  syd
  .\" Enhanced printing support.  Added "-I" to readmsg to
  .\" suppress spurious diagnostic messages.
***************
*** 388,394 ****
  This variable is only valid in the system wide \f2elm.rc\f1 file.
  It is only necessary if the value returned by the getdomainname and
  gethostname system calls are incorrect for your mail use or if those
! system call is unavailable on your system.  It is also required if either
  hostdomain or hostname are used within the system wide \f2elm.rc\f1 file.
  
  .lp hostname 1.0i
--- 397,403 ----
  This variable is only valid in the system wide \f2elm.rc\f1 file.
  It is only necessary if the value returned by the getdomainname and
  gethostname system calls are incorrect for your mail use or if those
! system calls are unavailable on your system.  It is also required if either
  hostdomain or hostname are used within the system wide \f2elm.rc\f1 file.
  
  .lp hostname 1.0i
***************
*** 2085,2090 ****
--- 2094,2157 ----
  Additionally, the movement keys (`j', `k', `+', `-', etc.) work in the
  same fashion as on the main menu.  (See the previous section on
  \f2Commands\f1 in this guide.)
+ .br
+ .ne 5
+ .sp
+ .hn 1 Elm and Signals
+ 
+ \f2Elm\f1 can handle several standard UNIX \f2signals\fR to do
+ some special processing.
+ \f2Signals\f1 are interrupt messages sent from one program to
+ another.  No detailed messages are sent, but a properly configured
+ program (such as \f2elm\f1) can watch for and handle these signals.
+ 
+ In particular, \f2elm\fR watches for the following \f2signals\f1
+ and takes these actions:
+ .ip \f2ALRM\f1
+ This is the alarm clock signal or time warning.
+ Elm uses this to wake itself up periodically and check for
+ new mail.
+ .ip \f2HUP\f1
+ This is the hangup notice.
+ It means that the terminal/modem/whatever which you have been using
+ with \f2elm\f1 has become detached from the system where \f2elm\f1
+ was running.
+ When \f2elm\f1 gets this signal, it aborts all the pending operations
+ and exits leaving your mailbox unchanged.
+ .ip \f2USR1\f1
+ This is the first user-definable signal.
+ When \f2elm\f1 gets this signal, it recieves any pending mail,
+ performs all the pending operations (deletes), and exits
+ leaving all unread mail marked as new.
+ This is the same as giving the \f2$\f1 and \f2X\fR commands.
+ .ip \f2USR2\f1
+ This is the second user-definable signal.
+ When \f2elm\f1 gets this signal, it recieves any pending mail,
+ performs all the pending operations (deletes), and exits
+ leaving all unread mail marked as old.
+ This is the same as giving the \f2$\f1 and \f2Q\fR commands.
+ 
+ You would only use these signals youself under the most unusual
+ circumstances.  For example, suppose you were using \f2elm\fR
+ to read mail on \f2host_1\fR.  You have many messages, most of
+ which have been read and filed (and therefore deleted), or simply
+ deleted.  You have not yet resynchronized your mailbox (\f2$\f1
+ command).  Now you go to lunch.
+ On your return, you're stopped at the door and told to take care
+ of an emergency.  You go to another part of the building, and want
+ to read your mail to see what the emergency is \- but you can't,
+ because \f2elm\f1 is still running at your desk.
+ 
+ What you really want is one of the scenarios given in the
+ description of \f2HUP\f1, \f2USR1\f1 or \f2USR2\f1.
+ Use your local \f2ps\f1 command to find out what the \f2process number\f1
+ of your \f2elm\f1 session is.  Then give the command
+ .pp
+ \f2kill -XXX process_number\fR
+ 
+ where \f2XXX\f1 is either \f2HUP\f1, \f2USR1\f1 or \f2USR2\f1 and
+ \f2process_number\f1 is the process number for your remote \f2elm\f1 session.
+ Your remote session will terminate with the actions noted above.
  .br
  .ne 5
  .sp

Index: doc/Users.guide
Prereq: 5.3
*** ../elm2.4/doc/Users.guide	Mon Oct 19 13:04:02 1992
--- doc/Users.guide	Thu Dec 10 21:02:45 1992
***************
*** 1,4 ****
! .\" @(#)$Id: Users.guide,v 5.3 1992/10/17 21:59:56 syd Exp $
  .\"
  .\"  Users guide to the ELM mail system.
  .\"  format with:
--- 1,4 ----
! .\" @(#)$Id: Users.guide,v 5.4 1992/12/11 02:01:13 syd Exp $
  .\"
  .\"  Users guide to the ELM mail system.
  .\"  format with:
***************
*** 12,17 ****
--- 12,21 ----
  .\"  (C) Copyright 1988-1992 Usenet Community Trust
  .\"
  .\"  $Log: Users.guide,v $
+ .\" Revision 5.4  1992/12/11  02:01:13  syd
+ .\" fix Obvious typos.
+ .\" From: dwolfe@pffft.sps.mot.com (Dave Wolfe)
+ .\"
  .\" Revision 5.3  1992/10/17  21:59:56  syd
  .\" Fix spelling of name
  .\" From: Larry Philps <larryp@sco.COM>
***************
*** 201,207 ****
  and finally, credits and references.
  
  \f2The Elm Reference Guide\f1 contains a
! much more indepth discussion of all the possible options
  available within the \f3Elm\f1 environment, including
  the \f2``.elm/elmrc''\f1 file,
  the available outbound mail processing features,
--- 205,211 ----
  and finally, credits and references.
  
  \f2The Elm Reference Guide\f1 contains a
! much more in-depth discussion of all the possible options
  available within the \f3Elm\f1 environment, including
  the \f2``.elm/elmrc''\f1 file,
  the available outbound mail processing features,
***************
*** 251,257 ****
  and read the reference guide.  The other manuals
  should be read as the need arises.
  
! In any case, the system should be useable without reading
  \f2any\f1 of the documentation!
  
  Any comments or problems with any of the documentation or the program
--- 255,261 ----
  and read the reference guide.  The other manuals
  should be read as the need arises.
  
! In any case, the system should be usable without reading
  \f2any\f1 of the documentation!
  
  Any comments or problems with any of the documentation or the program
***************
*** 478,484 ****
  .lp \h'18p'<control>-D 90p
  Delete all messages matching specified pattern.
  .lp \h'18p'e 90p
! Edit current folder, resyncing upon reentry.\s-2\u3\d\s0
  .fn
  3. Some sites might opt not to have the edit folder feature available.
  .ef
--- 482,488 ----
  .lp \h'18p'<control>-D 90p
  Delete all messages matching specified pattern.
  .lp \h'18p'e 90p
! Edit current folder, resyncing upon re-entry.\s-2\u3\d\s0
  .fn
  3. Some sites might opt not to have the edit folder feature available.
  .ef

Index: doc/answer.1
*** ../elm2.4/doc/answer.1	Mon Oct 19 13:04:02 1992
--- doc/answer.1	Thu Dec 10 21:02:45 1992
***************
*** 20,27 ****
  included in the standard .elm directory alias files.
  It can also use
  its own alias set (usually a subset of the
! system aliases, with more fields per user (ie unique first
! names, unique last names, first-initial lastname, and so on)).
  Note that if you want to use this capability, it
  means that you must create this alias set and then install it, using
  .I newalias,
--- 20,27 ----
  included in the standard .elm directory alias files.
  It can also use
  its own alias set (usually a subset of the
! system aliases, with more fields per user (i.e. unique first
! names, unique last names, first-initial last name, and so on)).
  Note that if you want to use this capability, it
  means that you must create this alias set and then install it, using
  .I newalias,
***************
*** 70,78 ****
  .SH FILES
  $HOME/.elm/aliases.text       individual alias source
  .br
! $HOME/.elm/aliases.hash       individual alias hash table
  .br
! $HOME/.elm/aliases.data       individual alias data table
  .br
  /tmp/snd.$$                   edit buffer for outgoing mail
  .SH BUG REPORTS TO
--- 70,80 ----
  .SH FILES
  $HOME/.elm/aliases.text       individual alias source
  .br
! $HOME/.elm/aliases.dir        individual alias dbz directory table
  .br
! $HOME/.elm/aliases.pag        individual alias dbz hash table
! .br
! $HOME/.elm/aliases            individual alias data table
  .br
  /tmp/snd.$$                   edit buffer for outgoing mail
  .SH BUG REPORTS TO

Index: doc/elm-help.1
*** ../elm2.4/doc/elm-help.1	Sat Oct  3 16:54:27 1992
--- doc/elm-help.1	Thu Dec 10 21:02:46 1992
***************
*** 38,43 ****
  
    u     User's expertise level. Change with <space>.
  
!   y     Your fullname to be used in outbound mail.
  
    X     Exit leaving folder untouched unconditionally
--- 38,43 ----
  
    u     User's expertise level. Change with <space>.
  
!   y     Your full name to be used in outbound mail.
  
    X     Exit leaving folder untouched unconditionally

Index: doc/elm.1
*** ../elm2.4/doc/elm.1	Mon Oct 19 13:04:03 1992
--- doc/elm.1	Thu Dec 10 21:02:47 1992
***************
*** 22,28 ****
  .PP
  .SH DESCRIPTION
  .I Elm\^
! is an interactive screen-oriented mailer program that supercedes 
  .I mail
  and 
  .I mailx.
--- 22,28 ----
  .PP
  .SH DESCRIPTION
  .I Elm\^
! is an interactive screen-oriented mailer program that supersedes 
  .I mail
  and 
  .I mailx.
***************
*** 126,131 ****
--- 126,138 ----
  .br
  /usr/local/lib/aliases.text       system alias source
  .br
+ /usr/local/lib/aliases.dir        system alias dbz directory table
+ .br
+ /usr/local/lib/aliases.pag        system alias dbz hash table
+ .br
+ /usr/local/lib/aliases            system alias data table
+ .br
+ .br
  /usr/local/lib/aliases.hash       system alias hash table
  .br
  /usr/local/lib/aliases.data       system alias data table
***************
*** 132,140 ****
  .br
  $HOME/.elm/aliases.text           user alias source
  .br
! $HOME/.elm/aliases.dir            user alias hash table
  .br
! $HOME/.elm/aliases.pag            user alias hash table
  .br
  $HOME/.elm/elmrc                  customized mailer parameters
  .br
--- 139,149 ----
  .br
  $HOME/.elm/aliases.text           user alias source
  .br
! $HOME/.elm/aliases.dir            user alias dbz directory table
! .br
! $HOME/.elm/aliases.pag            user alias dbz hash table
  .br
! $HOME/.elm/aliases                user alias data table
  .br
  $HOME/.elm/elmrc                  customized mailer parameters
  .br

Index: doc/fastmail.1
*** ../elm2.4/doc/fastmail.1	Mon Oct 19 13:04:04 1992
--- doc/fastmail.1	Thu Dec 10 21:02:48 1992
***************
*** 59,65 ****
     # Usage: batch-mail "from" "subject" filename
  
     sender_copy = $LOGIN
!    replto = "The-Mr-Big-list"
  
     fastmail -b $sender_copy -r $replyto -f "$1" -s "$2" $3 person1
     sleep 10
--- 59,65 ----
     # Usage: batch-mail "from" "subject" filename
  
     sender_copy = $LOGIN
!    replyto = "The-Mr-Big-list"
  
     fastmail -b $sender_copy -r $replyto -f "$1" -s "$2" $3 person1
     sleep 10

Index: doc/messages.1
*** ../elm2.4/doc/messages.1	Mon Oct 19 13:04:04 1992
--- doc/messages.1	Thu Dec 10 21:02:49 1992
***************
*** 8,14 ****
  folder-name
  .SH DESCRIPTION
  .I Messages
! counts the occurances of "^From\ " in either the current incoming 
  mailbox or the specified folder.
  .P
  This is, in fact, a simple little shell script!!
--- 8,14 ----
  folder-name
  .SH DESCRIPTION
  .I Messages
! counts the occurrences of "^From\ " in either the current incoming 
  mailbox or the specified folder.
  .P
  This is, in fact, a simple little shell script!!

Index: doc/newalias.1
*** ../elm2.4/doc/newalias.1	Mon Oct 19 13:04:05 1992
--- doc/newalias.1	Thu Dec 10 21:02:50 1992
***************
*** 11,18 ****
  .I -g
  (global) flag, the program updates the system alias files.
  Otherwise, the program looks for a file called \fI$HOME/.elm/aliases.text\fR
! and, upon finding it, creates files \fI$HOME/.elm/aliases.hash\fR and
! \fI$HOME/.elm/aliases.data\fR for the
  .I elm
  program.
  .PP
--- 11,19 ----
  .I -g
  (global) flag, the program updates the system alias files.
  Otherwise, the program looks for a file called \fI$HOME/.elm/aliases.text\fR
! and, upon finding it, creates files \fI$HOME/.elm/aliases.dir\fR,
! \fI$HOME/.elm/aliases.dir\fR and
! \fI$HOME/.elm/aliases\fR for the
  .I elm
  program.
  .PP
***************
*** 60,74 ****
  .SH FILES
  $HOME/.elm/aliases.text         alias source for user 
  .br
! $HOME/.elm/aliases.hash         alias hash table for user
  .br
! $HOME/.elm/aliases.data         alias data file for user
  .br
  /usr/local/lib/aliases.text     alias source for system
  .br
! /usr/local/lib/aliases.hash     alias hash table for system
  .br
! /usr/local/lib/aliases.data     alias data file for system
  .SH AUTHOR
  Elm Development Group
  .SH SEE ALSO
--- 61,79 ----
  .SH FILES
  $HOME/.elm/aliases.text         alias source for user 
  .br
! $HOME/.elm/aliases.dir          alias dbz directory for user
  .br
! $HOME/.elm/aliases.pag          alias dbz hash file for user
  .br
+ $HOME/.elm/aliases              alias data file for user
+ .br
  /usr/local/lib/aliases.text     alias source for system
  .br
! /usr/local/lib/aliases.dir      alias dbz directory for system
! .br
! /usr/local/lib/aliases.pag      alias data hash table for system
  .br
! /usr/local/lib/aliases          alias data file for system
  .SH AUTHOR
  Elm Development Group
  .SH SEE ALSO

Index: doc/newmail.1
*** ../elm2.4/doc/newmail.1	Mon Oct 19 13:04:05 1992
--- doc/newmail.1	Thu Dec 10 21:02:50 1992
***************
*** 111,117 ****
  	$ \fBnewmail\fR
  
  .fi
! will check your imcoming mailbox every 60 seconds.
  .nf
  
  	$ \fBnewmail  -i  15  joe  root\fR
--- 111,117 ----
  	$ \fBnewmail\fR
  
  .fi
! will check your incoming mailbox every 60 seconds.
  .nf
  
  	$ \fBnewmail  -i  15  joe  root\fR

Index: doc/printmail.1
*** ../elm2.4/doc/printmail.1	Mon Oct 19 13:04:05 1992
--- doc/printmail.1	Thu Dec 10 21:02:50 1992
***************
*** 11,17 ****
  default user mailbox with each message separated by a line of dashes.
  With the
  .B \-p
! option, the messages are separated by a formfeed instead.
  .sp
  In fact, this command is actually just a slightly differently
  formatted call to \fIreadmsg\fR:
--- 11,17 ----
  default user mailbox with each message separated by a line of dashes.
  With the
  .B \-p
! option, the messages are separated by a form feed instead.
  .sp
  In fact, this command is actually just a slightly differently
  formatted call to \fIreadmsg\fR:

Index: src/fileio.c
Prereq: 5.2
*** ../elm2.4/src/fileio.c	Tue Nov 10 15:20:26 1992
--- src/fileio.c	Thu Dec 10 20:45:34 1992
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: fileio.c,v 5.2 1992/11/07 20:05:52 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 5.2 $   $State: Exp $
   *
   *			Copyright (c) 1988-1992 USENET Community Trust
   *			Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: fileio.c,v 5.6 1992/12/11 01:45:04 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 5.6 $   $State: Exp $
   *
   *			Copyright (c) 1988-1992 USENET Community Trust
   *			Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,38 ----
   *
   *******************************************************************************
   * $Log: fileio.c,v $
+  * Revision 5.6  1992/12/11  01:45:04  syd
+  * remove sys/types.h include, it is now included by defs.h
+  * and this routine includes defs.h or indirectly includes defs.h
+  * From: Syd
+  *
+  * Revision 5.5  1992/12/07  04:23:23  syd
+  * fix typo
+  * From: Syd
+  *
+  * Revision 5.4  1992/11/26  01:46:26  syd
+  * add Decode option to copy_message, convert copy_message to
+  * use bit or for options.
+  * From: Syd and bjoerns@stud.cs.uit.no (Bjoern Stabell)
+  *
+  * Revision 5.3  1992/11/26  00:48:34  syd
+  * Make it do raw(off) before final error message to
+  * display error message on proper screen
+  * From: Syd
+  *
   * Revision 5.2  1992/11/07  20:05:52  syd
   * change to use header_cmp to allow for linear white space around the colon
   * From: Syd
***************
*** 30,36 ****
  
  #include "headers.h"
  #include "s_elm.h"
- #include <sys/types.h>
  #include <sys/stat.h>
  #include <ctype.h>
  #include <errno.h>
--- 49,54 ----
***************
*** 43,58 ****
  
  char *error_description(), *index();
  
  copy_message(prefix, 
  	     dest_file, 
! 	     remove_header, 
! 	     remote, 
! 	     update_status, 
! 	     mmdf_head,
! 	     remail)
  char *prefix;
  FILE *dest_file;
! int  remove_header, remote, update_status, mmdf_head, remail;
  {
  	/** Copy current message to destination file, with optional 'prefix' 
  	    as the prefix for each line.  If remove_header is true, it will 
--- 61,82 ----
  
  char *error_description(), *index();
  
+ static void copy_write_error_exit()
+ {
+ 	MoveCursor(LINES, 0);
+ 	Raw(OFF);
+ 	printf(catgets(elm_msg_cat, ElmSet, ElmWriteCopyMessageFailed,
+ 		"\nWrite in copy_message failed\n"));
+ 	dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
+ 	rm_temps_exit();
+ }
+ 
  copy_message(prefix, 
  	     dest_file, 
! 	     cm_options)
  char *prefix;
  FILE *dest_file;
! int cm_options;
  {
  	/** Copy current message to destination file, with optional 'prefix' 
  	    as the prefix for each line.  If remove_header is true, it will 
***************
*** 67,72 ****
--- 91,99 ----
  
  	    If "update_status" is true then it will write a new Status:
  	    line at the end of the headers.  It never copies an existing one.
+ 
+ 	    If "decode" is true, prompt for key if the message is encrypted,
+ 	    else just copy it as it is.
  	**/
  
      char buffer[SLEN];
***************
*** 73,78 ****
--- 100,110 ----
      register struct header_rec *current_header = headers[current-1];
      register int  lines, front_line, next_front,
  		  in_header = 1, first_line = TRUE, ignoring = FALSE;
+     int remove_header = cm_options & CM_REMOVE_HEADER;
+     int remote = cm_options & CM_REMOTE;
+     int update_status = cm_options & CM_UPDATE_STATUS;
+     int remail = cm_options & CM_REMAIL;
+     int decode = cm_options & CM_DECODE;
      int	end_header = 0;
      int sender_added = 0;
      int crypted = 0;
***************
*** 99,105 ****
      if (forwarding)
        remove_header = FALSE;
  
!     if (current_header->encrypted && !strcmp(prefixchars, prefix)) {
  	getkey(OFF);
      }
  
--- 131,137 ----
      if (forwarding)
        remove_header = FALSE;
  
!     if (current_header->encrypted && decode) {
  	getkey(OFF);
      }
  
***************
*** 127,133 ****
  	continue;
  
  #ifdef MMDF
!       if (mmdf_head && strcmp(buffer, MSG_SEPARATOR) == 0)
  	continue;
  #endif /* MMDF */
  
--- 159,165 ----
  	continue;
  
  #ifdef MMDF
!       if ((cm_options & CM_MMDF_HEAD) && strcmp(buffer, MSG_SEPARATOR) == 0)
  	continue;
  #endif /* MMDF */
  
***************
*** 139,148 ****
  	  end_header = -1;
  	  if (remail && !sender_added) {
  	    if (fprintf(dest_file, "%sSender: %s\n", prefix, username) == EOF) {
! 	      Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmWriteCopyMessageFailed,
! 		"\n\rWrite in copy_message failed\n\r"), 0);
! 	      dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 	      rm_temps_exit();
  	    }
  	  }
  	}
--- 171,177 ----
  	  end_header = -1;
  	  if (remail && !sender_added) {
  	    if (fprintf(dest_file, "%sSender: %s\n", prefix, username) == EOF) {
! 	      copy_write_error_exit();
  	    }
  	  }
  	}
***************
*** 156,174 ****
  	  end_header = 1;
  	  if (remail && !sender_added) {
  	    if (fprintf(dest_file, "%sSender: %s\n", prefix, username) == EOF) {
! 	      Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmWriteCopyMessageFailed,
! 		"\n\rWrite in copy_message failed\n\r"), 0);
! 	      dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 	      rm_temps_exit();
  	    }
  	  }
  	} else if (in_header && remote && header_cmp(buffer, "Sender", NULL)) {
  	  if (remail)
  	    if (fprintf(dest_file, "%sSender: %s\n", prefix, username) == EOF) {
! 	      Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmWriteCopyMessageFailed,
! 		"\n\rWrite in copy_message failed\n\r"), 0);
! 	      dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 	      rm_temps_exit();
  	    }
  	  sender_added = TRUE;
  	  continue;
--- 185,197 ----
  	  end_header = 1;
  	  if (remail && !sender_added) {
  	    if (fprintf(dest_file, "%sSender: %s\n", prefix, username) == EOF) {
! 	      copy_write_error_exit();
  	    }
  	  }
  	} else if (in_header && remote && header_cmp(buffer, "Sender", NULL)) {
  	  if (remail)
  	    if (fprintf(dest_file, "%sSender: %s\n", prefix, username) == EOF) {
! 	      copy_write_error_exit();
  	    }
  	  sender_added = TRUE;
  	  continue;
***************
*** 178,187 ****
  	      if (isoff(current_header->status, NEW)) {
  		if (ison(current_header->status, UNREAD)) {
  		  if (fprintf(dest_file, "%sStatus: O\n", prefix) == EOF) {
! 		    Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmWriteCopyMessageFailed,
! 		      "\n\rWrite in copy_message failed\n\r"), 0);
! 		    dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 		    rm_temps_exit();
  		  }
  		} else	/* read */
  #ifdef BSD
--- 201,207 ----
  	      if (isoff(current_header->status, NEW)) {
  		if (ison(current_header->status, UNREAD)) {
  		  if (fprintf(dest_file, "%sStatus: O\n", prefix) == EOF) {
! 		    copy_write_error_exit();
  		  }
  		} else	/* read */
  #ifdef BSD
***************
*** 189,198 ****
  #else
  		  if (fprintf(dest_file, "%sStatus: RO\n", prefix) == EOF) {
  #endif
! 		    Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmWriteCopyMessageFailed,
! 		      "\n\rWrite in copy_message failed\n\r"), 0);
! 		    dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 		    rm_temps_exit();
  		  }
  		update_status = FALSE; /* do it only once */
  	      }	/* else if NEW - indicate NEW with no Status: line. This is
--- 209,215 ----
  #else
  		  if (fprintf(dest_file, "%sStatus: RO\n", prefix) == EOF) {
  #endif
! 		    copy_write_error_exit();
  		  }
  		update_status = FALSE; /* do it only once */
  	      }	/* else if NEW - indicate NEW with no Status: line. This is
***************
*** 209,218 ****
  	      if (end_header > 0) {
  		/* add the missing newline for RFC 822 */
  		if (fprintf(dest_file, "\n") == EOF) {
! 		  Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmWriteCopyMessageFailed,
! 		    "\n\rWrite in copy_message failed\n\r"), 0);
! 		  dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 		  rm_temps_exit();
  		}
  	      }
  	  }
--- 226,232 ----
  	      if (end_header > 0) {
  		/* add the missing newline for RFC 822 */
  		if (fprintf(dest_file, "\n") == EOF) {
! 		  copy_write_error_exit();
  		}
  	      }
  	  }
***************
*** 233,258 ****
  #ifndef MMDF
  	  if (fprintf(dest_file, "%s%s remote from %s\n",
  		  prefix, buffer, hostname) == EOF) {
! 		Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmWriteCopyMessageFailed,
! 		  "\n\rWrite in copy_message failed\n\r"), 0);
! 		dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 		rm_temps_exit();
  	  }
  #else
  	  if (first_word(buffer, "From ")) {
  	    if (fprintf(dest_file, "%s%s remote from %s\n",
  		    prefix, buffer, hostname) == EOF) {
! 		Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmWriteCopyMessageFailed,
! 		  "\n\rWrite in copy_message failed\n\r"), 0);
! 		dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 		rm_temps_exit();
  	    }
  	  } else {
  	    if (fprintf(dest_file, "%s%s\n", prefix, buffer) == EOF) {
! 		Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmWriteCopyMessageFailed,
! 		  "\n\rWrite in copy_message failed\n\r"), 0);
! 		dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 		rm_temps_exit();
  	    }
  	  }
  #endif /* MMDF */
--- 247,263 ----
  #ifndef MMDF
  	  if (fprintf(dest_file, "%s%s remote from %s\n",
  		  prefix, buffer, hostname) == EOF) {
! 		copy_write_error_exit();
  	  }
  #else
  	  if (first_word(buffer, "From ")) {
  	    if (fprintf(dest_file, "%s%s remote from %s\n",
  		    prefix, buffer, hostname) == EOF) {
! 		copy_write_error_exit();
  	    }
  	  } else {
  	    if (fprintf(dest_file, "%s%s\n", prefix, buffer) == EOF) {
! 		copy_write_error_exit();
  	    }
  	  }
  #endif /* MMDF */
***************
*** 263,270 ****
  	if (!forwarding) {
  	  if(! header_cmp(buffer, "Status", NULL)) {
  	    if (fprintf(dest_file, "%s%s", prefix, buffer) == EOF) {
!               dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 	      rm_temps_exit();
  	      }
  	    continue;
  	  } else {
--- 268,274 ----
  	if (!forwarding) {
  	  if(! header_cmp(buffer, "Status", NULL)) {
  	    if (fprintf(dest_file, "%s%s", prefix, buffer) == EOF) {
! 	      copy_write_error_exit();
  	      }
  	    continue;
  	  } else {
***************
*** 282,294 ****
  	  else
  	    if (remail && header_cmp(buffer, "To", NULL)) {
  	      if (fprintf(dest_file, "%sOrig-%s", prefix, buffer) == EOF) {
!                 dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 	        rm_temps_exit();
  	      }
  	    } else {
  	      if (fprintf(dest_file, "%s%s", prefix, buffer) == EOF) {
!                 dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 	        rm_temps_exit();
  	      }
  	    }
  	}
--- 286,296 ----
  	  else
  	    if (remail && header_cmp(buffer, "To", NULL)) {
  	      if (fprintf(dest_file, "%sOrig-%s", prefix, buffer) == EOF) {
! 		copy_write_error_exit();
  	      }
  	    } else {
  	      if (fprintf(dest_file, "%s%s", prefix, buffer) == EOF) {
! 		copy_write_error_exit();
  	      }
  	    }
  	}
***************
*** 297,303 ****
          /* Process checks that occur after the header area */
  
  	/* perform encryption checks */
! 	if (buffer[0] == '[' && !strcmp(prefixchars, prefix)) {
  		if (!strncmp(buffer, START_ENCODE, strlen(START_ENCODE))) {
  			crypted = ON;
  		} else if (!strncmp(buffer, END_ENCODE, strlen(END_ENCODE))) {
--- 299,305 ----
          /* Process checks that occur after the header area */
  
  	/* perform encryption checks */
! 	if (buffer[0] == '[' && decode) {
  		if (!strncmp(buffer, START_ENCODE, strlen(START_ENCODE))) {
  			crypted = ON;
  		} else if (!strncmp(buffer, END_ENCODE, strlen(END_ENCODE))) {
***************
*** 330,339 ****
  	if (err != EOF)
  	  err = fwrite(buffer, 1, buf_len, dest_file);
  	if (err != buf_len) {
! 	  Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmWriteCopyMessageFailed,
! 	    "\n\rWrite in copy_message failed\n\r"), 0);
! 	  dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 	  rm_temps_exit();
  	}
        }
      }
--- 332,338 ----
  	if (err != EOF)
  	  err = fwrite(buffer, 1, buf_len, dest_file);
  	if (err != buf_len) {
! 	  copy_write_error_exit();
  	}
        }
      }
***************
*** 340,349 ****
  #ifndef MMDF
      if (buf_len + strlen(prefix) > 1)
  	if (fprintf(dest_file, "\n") == EOF) {	/* blank line to keep mailx happy *sigh* */
! 	  Write_to_screen(catgets(elm_msg_cat, ElmSet, ElmWriteCopyMessageFailed,
! 	    "\n\rWrite in copy_message failed\n\r"), 0);
! 	  dprint(1, (debugfile,"\n*** Fprint failed on copy_message;\n"));
! 	  rm_temps_exit();
  	}
  #endif /* MMDF */
  }
--- 339,345 ----
  #ifndef MMDF
      if (buf_len + strlen(prefix) > 1)
  	if (fprintf(dest_file, "\n") == EOF) {	/* blank line to keep mailx happy *sigh* */
! 	  copy_write_error_exit();
  	}
  #endif /* MMDF */
  }

Index: src/aliaslib.c
Prereq: 5.2
*** ../elm2.4/src/aliaslib.c	Mon Oct 12 23:25:53 1992
--- src/aliaslib.c	Fri Dec 11 20:28:25 1992
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: aliaslib.c,v 5.2 1992/10/11 01:21:17 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 5.2 $   $State: Exp $
   *
   * 			Copyright (c) 1988-1992 USENET Community Trust
   * 			Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: aliaslib.c,v 5.3 1992/12/12 01:28:24 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 5.3 $   $State: Exp $
   *
   * 			Copyright (c) 1988-1992 USENET Community Trust
   * 			Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log: aliaslib.c,v $
+  * Revision 5.3  1992/12/12  01:28:24  syd
+  * in do_get_alias().  abuf[] was under dimensioned.
+  * From: "Robert L. Howard" <robert.howard@matd.gatech.edu>
+  *
   * Revision 5.2  1992/10/11  01:21:17  syd
   * 1. If firstname && lastname is null then copy aliasname into the
   * personal name field (inside the ()'s) when creating an alias
***************
*** 91,97 ****
  int depth;	/* recursion depth - initially call at depth=0		*/
  {
  	struct alias_rec *match;
! 	char abuf[LONG_STRING];
  	int loc;
  
  	/* update the recursion depth counter */
--- 95,101 ----
  int depth;	/* recursion depth - initially call at depth=0		*/
  {
  	struct alias_rec *match;
! 	char abuf[VERY_LONG_STRING];
  	int loc;
  
  	/* update the recursion depth counter */

Index: lib/can_access.c
Prereq: 5.1
*** ../elm2.4/lib/can_access.c	Sat Oct  3 18:42:21 1992
--- lib/can_access.c	Fri Dec 11 20:29:27 1992
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: can_access.c,v 5.1 1992/10/03 22:41:36 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 5.1 $   $State: Exp $
   *
   *			Copyright (c) 1988-1992 USENET Community Trust
   *			Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: can_access.c,v 5.2 1992/12/12 01:29:26 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 5.2 $   $State: Exp $
   *
   *			Copyright (c) 1988-1992 USENET Community Trust
   *			Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log: can_access.c,v $
+  * Revision 5.2  1992/12/12  01:29:26  syd
+  * Fix double inclusion of sys/types.h
+  * From: Tom Moore <tmoore@wnas.DaytonOH.NCR.COM>
+  *
   * Revision 5.1  1992/10/03  22:41:36  syd
   * Initial checkin as of 2.4 Release at PL0
   *
***************
*** 25,31 ****
  **/
  
  #include "headers.h"
- #include <sys/types.h>
  #include <sys/stat.h>
  #include <ctype.h>
  #include <errno.h>
--- 29,34 ----

Index: lib/can_open.c
Prereq: 5.1
*** ../elm2.4/lib/can_open.c	Sat Oct  3 18:42:22 1992
--- lib/can_open.c	Fri Dec 11 20:29:27 1992
***************
*** 1,8 ****
  
! static char rcsid[] = "@(#)$Id: can_open.c,v 5.1 1992/10/03 22:41:36 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 5.1 $   $State: Exp $
   *
   *			Copyright (c) 1988-1992 USENET Community Trust
   *			Copyright (c) 1986,1987 Dave Taylor
--- 1,8 ----
  
! static char rcsid[] = "@(#)$Id: can_open.c,v 5.2 1992/12/12 01:29:26 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 5.2 $   $State: Exp $
   *
   *			Copyright (c) 1988-1992 USENET Community Trust
   *			Copyright (c) 1986,1987 Dave Taylor
***************
*** 14,19 ****
--- 14,23 ----
   *
   *******************************************************************************
   * $Log: can_open.c,v $
+  * Revision 5.2  1992/12/12  01:29:26  syd
+  * Fix double inclusion of sys/types.h
+  * From: Tom Moore <tmoore@wnas.DaytonOH.NCR.COM>
+  *
   * Revision 5.1  1992/10/03  22:41:36  syd
   * Initial checkin as of 2.4 Release at PL0
   *
***************
*** 25,31 ****
  **/
  
  #include "headers.h"
- #include <sys/types.h>
  #include <sys/stat.h>
  #include <ctype.h>
  #include <errno.h>
--- 29,34 ----

Index: lib/ndbz.c
Prereq: 5.2
*** ../elm2.4/lib/ndbz.c	Mon Oct 12 23:25:52 1992
--- lib/ndbz.c	Fri Dec 11 20:29:28 1992
***************
*** 1,7 ****
! static char rcsid[] = "@(#)$Id: ndbz.c,v 5.2 1992/10/11 01:46:35 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 5.2 $   $State: Exp $
   *
   *			Copyright (c) 1988-1992 USENET Community Trust
   *			Copyright (c) 1986,1987 Dave Taylor
--- 1,7 ----
! static char rcsid[] = "@(#)$Id: ndbz.c,v 5.3 1992/12/12 01:29:26 syd Exp $";
  
  /*******************************************************************************
!  *  The Elm Mail System  -  $Revision: 5.3 $   $State: Exp $
   *
   *			Copyright (c) 1988-1992 USENET Community Trust
   *			Copyright (c) 1986,1987 Dave Taylor
***************
*** 13,18 ****
--- 13,22 ----
   *
   *******************************************************************************
   * $Log: ndbz.c,v $
+  * Revision 5.3  1992/12/12  01:29:26  syd
+  * Fix double inclusion of sys/types.h
+  * From: Tom Moore <tmoore@wnas.DaytonOH.NCR.COM>
+  *
   * Revision 5.2  1992/10/11  01:46:35  syd
   * change dbm name to dbz to avoid conflicts with partial call
   * ins from shared librarys, and from mixing code with yp code.
***************
*** 57,63 ****
  */
  
  #include "headers.h"
- #include <sys/types.h>
  #include <ctype.h>
  #include <errno.h>
  #ifndef ANSI_C
--- 61,66 ----

-- 
========================================================================
Sydney S. Weinstein, CDP, CCP          Elm Coordinator - Current 2.4PL17
Datacomp Systems, Inc.                 Projected 3.0 Release: ??? ?,1994
syd@DSI.COM or dsinc!syd      Voice: (215) 947-9900, FAX: (215) 938-0235
Newsgroups: comp.mail.elm