[news.software.b] Patch #16 for news 2.11 source

rick@uunet.UU.NET (Rick Adams) (01/25/89)

Description:
	This is the second part of three patches. After applying this
	you should be at patchlevel 16.

Fix:
	apply this in the same manner as patch 15.

Index: inews.c
Prereq: 2.85
*** old/inews.c	Fri Dec  4 02:52:12 1987
--- inews.c	Tue Jan 24 15:24:00 1989
***************
*** 1,3
  /*
!  * This software is Copyright (c) 1986 by Rick Adams.
   *

--- 1,3 -----
  /*
!  * This software is Copyright 1986, 1989 by Rick Adams.
   *
***************
*** 19,21
  #ifdef SCCSID
! static char	*SccsId = "@(#)inews.c	2.85	11/30/87";
  #endif /* SCCSID */

--- 19,21 -----
  #ifdef SCCSID
! static char	*SccsId = "@(#)inews.c	2.91	1/24/89";
  #endif /* SCCSID */
***************
*** 28,30
  
! # if defined(F_RDLCK) && defined(F_SETLK)
  struct flock news_lock;

--- 28,30 -----
  
! # if defined(F_RDLCK) && defined(F_SETLK) && !defined(HP9K5)
  struct flock news_lock;
***************
*** 30,32
  struct flock news_lock;
! #  endif /* F_RDLCK  && F_SETLK */
  # endif /* LOCKF */

--- 30,32 -----
  struct flock news_lock;
! #  endif /* F_RDLCK && F_SETLK && !HP9K5 */
  # endif /* LOCKF */
***************
*** 59,61
  /* Fake sys line in case they forget their own system */
- struct srec dummy_srec = { "MEMEME", "", "all", "", "" };
  

--- 59,60 -----
  /* Fake sys line in case they forget their own system */
  
***************
*** 100,101
  FILE *mailhdr();
  extern int errno, xxit();

--- 99,101 -----
  FILE *mailhdr();
+ extern FILE *controlmail;
  extern int errno, xxit();
***************
*** 127,128
  	FILE	*mfd;		/* mail file file-descriptor		*/
  

--- 127,131 -----
  	FILE	*mfd;		/* mail file file-descriptor		*/
+ #if !defined(LOCKF) && !defined(BSD4_2)
+ 	struct stat stbuf;
+ #endif	/* !LOCKF && ! BSD4_2 */
  
***************
*** 139,140
  		ptr = *argv - 1;
  	actfp = xfopen(ACTIVE, "r+");

--- 142,147 -----
  		ptr = *argv - 1;
+ 
+ #ifdef NFSCLIENT
+ 	actfp = xfopen(ACTIVE, "r");
+ #else	/* !NFSCLIENT */
  	actfp = xfopen(ACTIVE, "r+");
***************
*** 140,142
  	actfp = xfopen(ACTIVE, "r+");
- #ifndef NFSCLIENT
  #ifdef	LOCKF

--- 147,148 -----
  	actfp = xfopen(ACTIVE, "r+");
  #ifdef	LOCKF
***************
*** 142,144
  #ifdef	LOCKF
! # if	defined(F_RDLCK) && defined(F_SETLK)
  	news_lock.l_type = F_RDLCK;

--- 148,150 -----
  #ifdef	LOCKF
! # if	defined(F_RDLCK) && defined(F_SETLK) && !defined(HP9K5)
  	news_lock.l_type = F_RDLCK;
***************
*** 145,147
  	if (fcntl(fileno(actfp), F_SETLK, &news_lock) < 0) {
! # else /* !F_RDLCK */
  	if (lockf(fileno(actfp), F_TLOCK, 0L) < 0) {

--- 151,153 -----
  	if (fcntl(fileno(actfp), F_SETLK, &news_lock) < 0) {
! # else /* !(F_RDLCK && F_SETLK && !HP9K5) */
  	if (lockf(fileno(actfp), F_TLOCK, 0L) < 0) {
***************
*** 147,149
  	if (lockf(fileno(actfp), F_TLOCK, 0L) < 0) {
! # endif /* !F_RDLCK */
  		if (errno != EAGAIN && errno != EACCES)

--- 153,155 -----
  	if (lockf(fileno(actfp), F_TLOCK, 0L) < 0) {
! # endif /* !(F_RDLCK && F_SETLK && !HP9K5) */
  		if (errno != EAGAIN && errno != EACCES)
***************
*** 155,158
  	sprintf(bfr, "%s.lock", ACTIVE);
! 	if (LINK(ACTIVE, bfr) < 0) {
! 		if (errno != EEXIST)
  #endif /* V7 */

--- 161,168 -----
  	sprintf(bfr, "%s.lock", ACTIVE);
! 	/* assume a dead lock if the active file is over 12 hours old */
! 	if (LINK(ACTIVE, bfr) < 0 &&
! 		(errno != EEXIST ||
! 		(stat(bfr, &stbuf) == 0 &&
! 		(time((char *)0) - stbuf.st_mtime) < DAYS/2))) {
! 			if (errno != EEXIST)
  #endif /* V7 */
***************
*** 225,227
  	}
! 
  	state = OPTION;

--- 235,245 -----
  	}
! #ifdef MINFREE
! 	if (space()) {		/* check disk space */
! 		mode = PROC;
! 		logerr("Out of space in %s. Saving for later processing.",
! 					SPOOLDIR);
! 		dospool((char *)NULL, FALSE);
! 		/* NOT REACHED */
! 	}
! #endif	/* MINFREE */
  	state = OPTION;
***************
*** 281,283
  
- #ifndef DOGETUSER
  	/*

--- 299,300 -----
  
  	/*
***************
*** 286,288
  	 */
! 	if (isatty(fileno(stderr))) {
  		if ((user = getenv("USER")) == NULL)

--- 303,309 -----
  	 */
! 	if (isatty(fileno(stderr))
! #ifdef	DOGETUSER
! 		&& uid == 0 /* allow root to set name in any case */
! #endif	/* !DOGETUSER */
! 		) {
  		if ((user = getenv("USER")) == NULL)
***************
*** 292,294
  	}
- #endif /* !DOGETUSER */
  	if (user == NULL || home == NULL)

--- 313,314 -----
  	}
  	if (user == NULL || home == NULL)
***************
*** 440,442
  			else if (!header.path[0]) {
! 				(void) strcpy(header.path, forgedname);
  

--- 460,469 -----
  			else if (!header.path[0]) {
! 				if ((p1 = rindex(forgedname, '@')) == NULL)
! 					(void) strcpy(header.path, forgedname);
! 				else {
! 					*p1 = '\0';
! 					(void) sprintf(header.path, "%s!%s",
! 						p1+1, forgedname);
! 					*p1 = '@';
! 				}
  
***************
*** 568,569
  
  	if (rwaccess(f))

--- 595,597 -----
  
+ #ifndef	NFSCLIENT
  	if (rwaccess(f))
***************
*** 572,573
  		exists(f) ? "Unwritable files!" : "Missing files!");
  	if (mfd == NULL)

--- 600,606 -----
  		exists(f) ? "Unwritable files!" : "Missing files!");
+ #else	/* NFSCLIENT */
+       if (exists(f))
+               return; /* everything is ok */
+       mfd = mailhdr((struct hbuf *)NULL, "Missing files!");
+ #endif	/* NFSCLIENT */
  	if (mfd == NULL)
***************
*** 676,678
  
! 	(void) sprintf(sfile, "%s/.spXXXXXX", SPOOL);
  	MKTEMP(sfile);

--- 709,711 -----
  
! 	(void) sprintf(sfile, "%s/.tmp/spXXXXXX", SPOOL);
  	MKTEMP(sfile);
***************
*** 775,776
  char firstbufname[BUFLEN];
  /*

--- 808,812 -----
  char firstbufname[BUFLEN];
+ 
+ static char *artlinks[32];
+ static int  linkcount;
  /*
***************
*** 854,855
  	/*
  	 * This works around a bug in the 4.1bsd stdio

--- 890,899 -----
  	/*
+ 	 *  Keep track of destination file names so we can delete
+ 	 *  the article files if the write-out fails.
+ 	 */
+ 	cp = malloc(strlen(bfr)+1);
+ 	(void) strcpy(cp, bfr);
+ 	artlinks[linkcount++] = cp;
+ 
+ 	/*
  	 * This works around a bug in the 4.1bsd stdio
***************
*** 937,938
  	tfp = xfopen(ARTICLE, "w");
  

--- 981,983 -----
  	tfp = xfopen(ARTICLE, "w");
+ 	linkcount = 0;
  
***************
*** 940,942
  	if (is_invalid) {
! 		logerr("No valid newsgroups found, moved to junk");
  		if (localize("junk"))

--- 985,988 -----
  	if (is_invalid) {
! 		logerr("%s: No valid newsgroups found, moved to junk",
! 			header.nbuf);
  		if (localize("junk"))
***************
*** 1047,1049
  				LOCALPATHSYSNAME, SUBFILE);
! 			srec = dummy_srec;
  		}

--- 1093,1099 -----
  				LOCALPATHSYSNAME, SUBFILE);
! 			strcpy(srec.s_name, "ME-dummy");
! 			srec.s_nosend = NULL;
! 			strcpy(srec.s_nbuf, "all");
! 			srec.s_flags[0] = '\0';
! 			srec.s_xmit[0] = '\0';
  		}
***************
*** 1096,1098
  		/* Part 2 of kludge to get around article truncation problem */
! 		if (c == ' ' || c == '\t' )
  			putc('\n', tfp);

--- 1146,1148 -----
  		/* Part 2 of kludge to get around article truncation problem */
! 		if (c == ' ' || c == '\t' ) {
  			putc('\n', tfp);
***************
*** 1098,1099
  			putc('\n', tfp);
  		/* End of part 2 */

--- 1148,1152 -----
  			putc('\n', tfp);
+ 			if (controlmail)
+ 				putc('\n', controlmail);
+ 		}	
  		/* End of part 2 */
***************
*** 1100,1102
  		ungetc(c, infp);
! 		while (fgets(bfr, BUFLEN, infp) != NULL)
  			fputs(bfr, tfp);

--- 1153,1155 -----
  		ungetc(c, infp);
! 		while (fgets(bfr, BUFLEN, infp) != NULL) {
  			fputs(bfr, tfp);
***************
*** 1102,1105
  			fputs(bfr, tfp);
! 		if (bfr[strlen(bfr)-1] != '\n')
! 			putc('\n',tfp);
  	}

--- 1155,1164 -----
  			fputs(bfr, tfp);
! 			if (controlmail)
! 				fputs(bfr, controlmail);
! 		}
! 		if (bfr[strlen(bfr)-1] != '\n') {
! 			putc('\n', tfp);
! 			if (controlmail)
! 				putc('\n', controlmail);
! 		}
  	}
***************
*** 1105,1106
  	}
  	if (ferror(tfp))

--- 1164,1169 -----
  	}
+ 	if (controlmail)
+ 		(void) mclose(controlmail);
+ 	controlmail = NULL;
+ 	fflush(tfp);
  	if (ferror(tfp))
***************
*** 1106,1107
  	if (ferror(tfp))
  		xerror("Write failed for temp file");

--- 1169,1174 -----
  	if (ferror(tfp))
+ 	{
+ 		(void) UNLINK(ARTICLE);
+ 		for (c = 0; c < linkcount; c++)
+ 		    (void) UNLINK(artlinks[c]);
  		xerror("Write failed for temp file");
***************
*** 1107,1108
  		xerror("Write failed for temp file");
  	(void) fclose(tfp);

--- 1174,1181 -----
  		xerror("Write failed for temp file");
+ 	}
+ 	else
+ 	{
+ 		for (c = 0; c < linkcount; c++)
+ 		    free(artlinks[c]);
+ 	}
  	(void) fclose(tfp);
***************
*** 1225,1226
  		(void) fclose(infp);
  	if (mode != PROC &&

--- 1298,1316 -----
  		(void) fclose(infp);
+  	if (mode != PROC &&
+  		index(header.nbuf,',') != NULL && 
+  			strlen(header.followto) == 0) {
+ 				/*
+ 				 * they didn't give us a followup-to
+ 				 * so we'll make one for them
+ 				 */
+ 				char *comma;
+ 
+ 				/* just use the first newsgroup in the Newsgroups: line */
+ 				strcpy(header.followto, header.nbuf);
+ 				comma = index(header.followto, ',');
+ 				if (comma != NULL) { /* this should always be true! */
+ 					*comma = '\0';
+ 				}
+ 		}
+ 
  	if (mode != PROC &&
***************
*** 1244,1245
  					break;
  			if (siglines > 4)

--- 1334,1340 -----
  					break;
+ 				else if (index(sbuf, '\n') == 0) {
+ fprintf(stderr, ".signature not included (long or unterminated line)\n");
+ 					siglines = -1;
+ 					break;
+ 				}
  			if (siglines > 4)
***************
*** 1246,1248
  				fprintf(stderr,".signature not included (> 4 lines)\n");
! 			else {
  				rewind(infp);

--- 1341,1345 -----
  				fprintf(stderr,".signature not included (> 4 lines)\n");
! 			else if (siglines == 0)
! 				fprintf(stderr,".signature not included (empty)\n");
! 			else if (siglines > 0) {
  				rewind(infp);
***************
*** 1401,1403
  	register DIR	*dirp;
! 	register struct direct *dir;
  	register int foundsome;

--- 1498,1500 -----
  	register DIR	*dirp;
! 	register DIRECTORY_STRUCT *dir;
  	register int foundsome;
***************
*** 1408,1409
  #endif /* LOCKF */
  #ifdef VMS

--- 1505,1510 -----
  #endif /* LOCKF */
+ 
+ #if !defined(LOCKF) && !defined(BSD4_2)
+ 	struct stat stbuf;
+ #endif	/* !LOCKF && ! BSD4_2 */
  #ifdef VMS
***************
*** 1422,1423
  	LockFd = xfopen(SEQFILE, "r+w");
  	if (lockf(fileno(LockFd), F_TLOCK, 0L) < 0) {

--- 1523,1526 -----
  	LockFd = xfopen(SEQFILE, "r+w");
+ 	/* The lseek is kludge for systems with mandatory locking */
+ 	lseek(fileno(LockFd), 512L, 0);
  	if (lockf(fileno(LockFd), F_TLOCK, 0L) < 0) {
***************
*** 1436,1439
  	errno = status;
! 	if (ret < 0) {
! 		if (errno != EEXIST)
  #endif /* V7 */

--- 1539,1546 -----
  	errno = status;
! 	/* assume a dead lock if the active file is over 12 hours old */
! 	if (ret < 0 &&
! 		(errno != EEXIST ||
! 		(stat(bfr, &stbuf) == 0 &&
! 		(time((char *)0) - stbuf.st_mtime) < DAYS/2))) {
! 			if (errno != EEXIST)
  #endif /* V7 */
***************
*** 1479,1481
  			if (status != 0) {
! 				sprintf(bfr, "../%s", dir->d_name);
  				(void) LINK(dir->d_name, bfr);

--- 1586,1588 -----
  			if (status != 0) {
! 				sprintf(bfr, "../.bad/%s", dir->d_name);
  				(void) LINK(dir->d_name, bfr);
***************
*** 1481,1483
  				(void) LINK(dir->d_name, bfr);
! 				logerr("rnews failed, status %ld. Batch saved in %s/%s",
  					(long)status, SPOOL, dir->d_name);

--- 1588,1590 -----
  				(void) LINK(dir->d_name, bfr);
! 				logerr("rnews failed, status %ld. Batch saved in %s/.bad/%s",
  					(long)status, SPOOL, dir->d_name);
***************
*** 1498
  #endif /* !NFSCLIENT */

--- 1605,1633 -----
  #endif /* !NFSCLIENT */
+ 
+ #ifdef MINFREE
+ #include <ustat.h>
+ /* 
+  * determine if there is enough free space on the device
+  * return 0 if there is and
+  * anything appropriate if there is not 
+  * written by Stan Barber (sob@bcm.tmc.edu)
+  */
+ space()
+ {
+ 	struct stat file;
+ 	struct ustat device;
+ 	if (stat(SPOOLDIR,&file))
+ 		return 1;	/* can't stat spool */
+ 	if (ustat(file.st_dev, &device))
+ 		return 1;	/* can't stat the device */
+ 	if(device.f_tfree < MINFREE)
+ 		return 1;
+ 	return 0;
+ }
+ #else
+ int space()
+ {
+ 	/* I'll figure this out for BSD some other time */
+ 	return(0);
+ }
+ #endif	/* MINFREE */

Index: install.sh
Prereq: 1.19
*** old/install.sh	Mon Nov 23 19:13:25 1987
--- install.sh	Sun Jan 15 19:49:00 1989
***************
*** 1,2
! : '@(#)install.sh	1.19	11/19/87'
  

--- 1,2 -----
! : '@(#)install.sh	1.20	1/15/89'
  
***************
*** 54,56
  then
! 	for i in $SPOOLDIR $SPOOLDIR/.rnews
  	do

--- 54,56 -----
  then
! 	for i in $SPOOLDIR $SPOOLDIR/.rnews $SPOOLDIR/.bad $SPOOLDIR/.tmp
  	do

Index: localize.mport
*** old/localize.mport	Sun Jan 15 19:53:47 1989
--- localize.mport	Sun Jan 15 19:49:01 1989
***************
*** 0

--- 1,44 -----
+ # Date: Tue, 29 Nov 88 12:14:54 EST
+ # From: algor2!jeffrey@uunet.UU.NET
+ 
+ rm -f Makefile
+ cp Makefile.dst Makefile
+ chmod u+w Makefile
+ ed - Makefile  <<'EOF'
+ /^UUXFLAGS/s/-r //
+ /^COMPRESS=/d
+ /^#USG IBMFLAGS/s/=/& -Ml/
+ /^#USG LFLAGS/s/-i//
+ /^#USG LINTFLAGS/s/-D/-Ml -D/
+ g/^#USG /s///
+ g/^#V7 /d
+ g/^#VMS /d
+ g/^#BSD4_[123] /d
+ g/#NOTVMS/s/#NOTVMS.*//
+ g/termlib/s//curses/
+ w
+ q
+ EOF
+ rm -f defs.h
+ cp defs.dist defs.h
+ chmod u+w defs.h
+ ed - defs.h <<'EOF'
+ /ROOTID/s/10/133/
+ /HISTEXP/s;4\*WEEKS;DFLTEXP;
+ /TMAIL/d
+ /PAGE/s;/usr/ucb/more;/usr/bin/pg;
+ /DFTXMIT/s/-r/-gd/
+ /UXMIT/s/-r/-gd/
+ /NONEWGROUPS/s;/\* ;;
+ /LOCALNAME/s;/\* ;;
+ /INTERNET/s;/\* ;;
+ /DOXREFS/s;/\* ;;
+ /DOGETUSER/s;/\* ;;
+ /MKDIRSUB/s;/\* ;;
+ /MYORG/s;Frobozz Inc., St. Louis;/usr/lib/news/organization;
+ /NICENESS/s;/\* ;;
+ /NICENESS/s;4;19;
+ /SMALL_ADDRESS_SPACE/s;/\* ;;
+ w
+ q
+ EOF

Index: localize.nntp
*** old/localize.nntp	Fri Oct 16 18:21:56 1987
--- localize.nntp	Tue Jan 17 13:09:29 1989
***************
*** 4,6
  # Basically, you can use the regular localize.sh you use and add those line
! # that contain #NNTP, NNTPSRC and SERVERFILE to make it work.
  # The string NNTPSRC should be replaced with the location of your nntp source

--- 4,13 -----
  # Basically, you can use the regular localize.sh you use and add those line
! # that contain #NNTP and NNTPSRC to make it work. You will need two
! # localize.sh files. One will be for the SERVER where you build the regular
! # inews and run the nntpd server. The other will be for the nntp clients.
! # On these machines, you will only build readnews, checknews, vnews and 
! # postnews. You only need the parts of the nntp distribution that are in the
! # common directory to build these programs. You will also need the inews 
! # program from nntp distribution.
! #
  # The string NNTPSRC should be replaced with the location of your nntp source
***************
*** 6,9
  # The string NNTPSRC should be replaced with the location of your nntp source
! # directory. The string SERVERFILE should be replaced with the location of
! # the serverfile. See the nntp (Version 1.4) instructions for more information.
  # 

--- 13,15 -----
  # The string NNTPSRC should be replaced with the location of your nntp source
! # directory. 
  # 
***************
*** 9,12
  # 
! # You will need nntp version 1.4 to make full use of these programs. They
! # make some use of the XHDR extenstion in nntp version 1.4.
  # 

--- 15,20 -----
  # 
! # You will need nntp version 1.5 to make full use of these programs. They
! # make some use of the XHDR extension in nntp version 1.5. They will work
! # with nntp 1.3. If you use nntp 1.4, please manually edit nntp.c to include
! # "response_codes.h". Look at the beginning of the file for details.
  # 
***************
*** 13,16
  # You do not need to include any reference to the dbm library. DBM may remain
! # undefined. You may also want to remove $(OTHERS) from the line in the
! # Makefile that starts with "all:".
  # 

--- 21,23 -----
  # You do not need to include any reference to the dbm library. DBM may remain
! # undefined.
  # 
***************
*** 17,19
  # You may want to include the line that begins with #RESOLVE in localize.sh
! # if you want to link against the resolver library. I use it on my suns.
  # 

--- 24,26 -----
  # You may want to include the line that begins with #RESOLVE in localize.sh
! # if you want to link against the resolver library.
  # 
***************
*** 19,24
  # 
- # You will need to create a "mailpaths" file on each host that uses these
- # programs. See the regular news documenation for information on the
- # mailpaths file.
- # 
  # PROBLEMS:

--- 26,27 -----
  # 
  # PROBLEMS:
***************
*** 26,28
  # 1. Distribution checking is disabled in postnews. nntp does not provide this
! # information, so postnews cannot check the article before posting.
  # 

--- 29,32 -----
  # 1. Distribution checking is disabled in postnews. nntp does not provide this
! # information, so postnews cannot check the article before posting. However,
! # nntp will return status information if the article fails to post.
  # 
***************
*** 35,37
  # host that uses these programs. nntp does not provide this information from
! # the server.
  # 

--- 39,41 -----
  # host that uses these programs. nntp does not provide this information from
! # the server. 
  # 
***************
*** 40,43
  # 
! # 5. XHDR support is necessary for some functions to work. This can be rewritten
! # to avoid this, but I have not done it yet.
  # 

--- 44,47 -----
  # 
! # 5. XHDR support is necessary for some functions to work. This can be
! # rewritten to avoid this. nntp 1.5 is available which does support this.
  # 
***************
*** 68,70
  g/^#BSD4_1 /d
! g/^all:/s/$(OTHERS)//
  g/#NOTVMS/s/#NOTVMS//

--- 72,79 -----
  g/^#BSD4_1 /d
! g/^BINDIR/s/bin/local\/bin/
! g/^NEWSUSR/s/news/usenet/
! g/^LIBS/s/-ldbm//
! g/^LNRNEWS/s/ln/ln -s/
! g/^RNEWS/s/$(BINDIR)/\/usr\/bin/
! g/^UUXFLAGS/s/-r/-gN -r/
  g/#NOTVMS/s/#NOTVMS//
***************
*** 70,74
  g/#NOTVMS/s/#NOTVMS//
! g/-DDBM/s/-DDBM//
! g/-ldbm/s/-ldbm//
! g/NNTPSRC/s/NNTPSRC/\/usr\/src\/nntp/
  w

--- 79,82 -----
  g/#NOTVMS/s/#NOTVMS//
! g/-DDBM/s/-DDBM/-DNOSHELL/
! g/NNTPSRC/s/NNTPSRC/\/usr\/src\/new\/nntp.1.5/
  w
***************
*** 80,82
  ed defs.h << 'EOF'
! g/NNTPSRC/s/NNTPSRC/\usr\/src\/nntp/
  g/SERVERFILE/s/SERVERFILE/\/usr\/lib\/news\/server/

--- 88,101 -----
  ed defs.h << 'EOF'
! g/DOXREFS/s/^\/\* //
! g/NICENESS/s/^\/\* //
! g/PATH/s/=/=\/usr/
! g/UUPROG/s/^\/\* //
! g/INTERNET/s/^\/\* //
! g/SENDMAIL/s/^\/\* //
! g/ORGDISTRIB/s/^\/\* //
! g/ GHNAME/s/^\/\* //
! g/ BSD4_2/s/^\/\* //
! g/GENERICPATH/s/^\/\* //
! g/GENERICFROM/s/^\/\* //
! g/NNTPSRC/s/NNTPSRC/\/usr\/src\/new\/nntp.1.5/
  g/SERVERFILE/s/SERVERFILE/\/usr\/lib\/news\/server/
***************
*** 92
  echo "Good Luck."

--- 111,113 -----
  echo "Good Luck."
+ 
+ 

Index: localize.sun
*** old/localize.sun	Tue Jan 24 16:14:48 1989
--- localize.sun	Tue Jan 24 16:54:40 1989
***************
*** 0

--- 1,38 -----
+ # This works on Sun3s and Sun4s running SunOS 4.0
+ rm -f Makefile
+ cp Makefile.dst Makefile
+ chmod u+w Makefile
+ ed Makefile  <<'EOF'
+ /^UUXFLAGS/s/-r -z/-r -z -n -gd/
+ g/^#V7 /s///
+ g/^#BSD4_2 /s///
+ g/^#BSD4_1 /d
+ g/^#USG /d
+ g/#NOTVMS/s/#NOTVMS.*//
+ /^SPOOLDIR/s;/usr/spool/news;/var/spool/news;
+ /^BATCHDIR/s;/usr/spool/batch;/var/spool/batch;
+ /^LIBDIR/s;/usr/lib/news;/var/spool/news-lib;
+ /^BINDIR/s;/usr/bin;/usr/local;
+ /^SPOOL_DISK/s;/usr/spool;/var;
+ /^LNRNEWS/s/ln/ln -s/
+ w
+ q
+ EOF
+ rm -f defs.h
+ cp defs.dist defs.h
+ chmod u+w defs.h
+ ed - defs.h <<'EOF'
+ /N_UMASK/s/000/002/
+ /DFTXMIT/s/-z/-z -gd/
+ /UXMIT/s/-z/-z -gd/
+ /NONEWGROUPS/s;/\* ;;
+ /INTERNET/s;/\* ;;
+ /GHNAME/s;/\* ;;
+ /DOXREFS/s;/\* ;;
+ /BSD4_2/s;/\* ;;
+ /LOCKF/s;/\* ;;
+ /VOID_SIGNALS/s;/\* ;;
+ /SENDMAIL/s;/\* ;;
+ w
+ q
+ EOF

Index: localize.v.3
*** old/localize.v.3	Sun Jan 15 19:53:52 1989
--- localize.v.3	Thu Jan 19 14:53:18 1989
***************
*** 0

--- 1,35 -----
+ # Date: Wed 6 Jan 1988 21:22:55 MET
+ # Originally-From: mcvax!pan!jw@uunet.uu.net (Jamie Watson)
+ 
+ rm -f Makefile
+ cp Makefile.dst Makefile
+ chmod u+w Makefile
+ ed - Makefile  <<'EOF'
+ g/^#USG /s///
+ g/^#V7 /d
+ g/^#VMS /d
+ g/^#BSD4_[123] /d
+ g/#NOTVMS/s/#NOTVMS.*//
+ g/termlib/s//curses/
+ g/UUXFLAGS/s/-z//
+ w
+ q
+ EOF
+ rm -f defs.h
+ cp defs.dist defs.h
+ chmod u+w defs.h
+ ed - defs.h <<'EOF'
+ g/TMAIL/d
+ g/ PAGE/s;/usr/ucb/more;/usr/bin/pg;
+ g/DFTXMIT/s/-z //
+ g/UXMIT/d
+ g/DFTEDITOR/s;vi;/usr/bin/vi;
+ g/ UNAME/s;/\* ;;
+ g/LOCKF/s;/\* ;;
+ g/MKDIRSUB/s;/\* ;;
+ g/READDIR/s;/\* ;;
+ g/DIRENT/s;/\* ;;
+ g/VOID_SIGNALS/s;/\* ;;
+ w
+ q
+ EOF
Index: makeactive.sh
Prereq: 1.24
*** old/makeactive.sh	Wed Oct  7 16:53:32 1987
--- makeactive.sh	Tue Jan 24 17:05:21 1989
***************
*** 2,4
  : "Usage: sh makeactive.sh LIBDIR SPOOLDIR NEWSUSR NEWSGRP"
! : '@(#)makeactive	1.24	9/24/87'
  LIBDIR=$1

--- 2,4 -----
  : "Usage: sh makeactive.sh LIBDIR SPOOLDIR NEWSUSR NEWSGRP"
! : '@(#)makeactive	1.27	1/24/89'
  LIBDIR=$1
***************
*** 8,10
  cat <<"E_O_F" | sort > /tmp/$$groups
- general	Articles that should be read by everyone on your local system
  comp.ai			Artificial intelligence discussions.

--- 8,9 -----
  cat <<"E_O_F" | sort > /tmp/$$groups
  comp.ai			Artificial intelligence discussions.
***************
*** 11,12
  comp.ai.digest		Artificial Intelligence discussions. (Moderated)
  comp.arch		Computer architecture.

--- 10,15 -----
  comp.ai.digest		Artificial Intelligence discussions. (Moderated)
+ comp.ai.edu		Applications of Artificial Intelligence to Education.
+ comp.ai.neural-nets	All aspects of neural networks.
+ comp.ai.nlang-know-rep	Natural Language and Knowledge Representation. (Moderated)
+ comp.ai.vision		Artificial Intelligence Vision Research. (Moderated)
  comp.arch		Computer architecture.
***************
*** 12,13
  comp.arch		Computer architecture.
  comp.binaries.amiga	Encoded public domain programs in binary. (Moderated)

--- 15,17 -----
  comp.arch		Computer architecture.
+ comp.archives		Descriptions of public access archives. (Moderated)
  comp.binaries.amiga	Encoded public domain programs in binary. (Moderated)
***************
*** 13,14
  comp.binaries.amiga	Encoded public domain programs in binary. (Moderated)
  comp.binaries.atari.st	Binary-only postings for the Atari ST. (Moderated)

--- 17,19 -----
  comp.binaries.amiga	Encoded public domain programs in binary. (Moderated)
+ comp.binaries.apple2	Binary-only postings for the Apple II computer.
  comp.binaries.atari.st	Binary-only postings for the Atari ST. (Moderated)
***************
*** 15,16
  comp.binaries.ibm.pc	Binary-only postings for IBM PC/MS-DOS. (Moderated)
  comp.binaries.mac	Encoded Macintosh programs in binary. (Moderated)

--- 20,22 -----
  comp.binaries.ibm.pc	Binary-only postings for IBM PC/MS-DOS. (Moderated)
+ comp.binaries.ibm.pc.d	Discussions about IBM/PC binary postings.
  comp.binaries.mac	Encoded Macintosh programs in binary. (Moderated)
***************
*** 25,26
  comp.dcom.lans		Local area network hardware and software.
  comp.dcom.modems	Data communications hardware and software.

--- 31,34 -----
  comp.dcom.lans		Local area network hardware and software.
+ comp.dcom.lans.hyperchannel	Hyperchannel networks within an IP network.
+ comp.dcom.lans.v2lni	Proteon Pronet/V2LNI Ring networks.
  comp.dcom.modems	Data communications hardware and software.
***************
*** 29,30
  comp.doc.techreports	Lists of technical reports. (Moderated)
  comp.edu		Computer science education.

--- 37,39 -----
  comp.doc.techreports	Lists of technical reports. (Moderated)
+ comp.editors		Topics related to computerized text editing.
  comp.edu		Computer science education.
***************
*** 30,31
  comp.edu		Computer science education.
  comp.emacs		EMACS editors of different flavors.

--- 39,41 -----
  comp.edu		Computer science education.
+ comp.edu.composition	Writing instruction in computer-based classrooms.
  comp.emacs		EMACS editors of different flavors.
***************
*** 31,32
  comp.emacs		EMACS editors of different flavors.
  comp.graphics		Computer graphics, art, animation, image processing.

--- 41,43 -----
  comp.emacs		EMACS editors of different flavors.
+ comp.fonts		Typefonts -- design, conversion, use, etc.
  comp.graphics		Computer graphics, art, animation, image processing.
***************
*** 33,35
  comp.graphics.digest	Graphics software, hardware, theory, etc. (Moderated)
! comp.hypercube		Massively parallel systems: hardware & software. (Moderated)
  comp.lang.ada		Discussion about Ada*.

--- 44,46 -----
  comp.graphics.digest	Graphics software, hardware, theory, etc. (Moderated)
! comp.ivideodisc		Interactive videodiscs -- uses, potential, etc.
  comp.lang.ada		Discussion about Ada*.
***************
*** 36,37
  comp.lang.apl		Discussion about APL.
  comp.lang.c		Discussion about C.

--- 47,49 -----
  comp.lang.apl		Discussion about APL.
+ comp.lang.asm370	Programming in IBM System/370 Assembly Language.
  comp.lang.c		Discussion about C.
***************
*** 38,39
  comp.lang.c++		The object-oriented C++ language.
  comp.lang.forth		Discussion about Forth.

--- 50,53 -----
  comp.lang.c++		The object-oriented C++ language.
+ comp.lang.clu		The CLU language & related topics. (Moderated)
+ comp.lang.eiffel	The object-oriented Eiffel language.
  comp.lang.forth		Discussion about Forth.
***************
*** 39,40
  comp.lang.forth		Discussion about Forth.
  comp.lang.fortran	Discussion about FORTRAN.

--- 53,55 -----
  comp.lang.forth		Discussion about Forth.
+ comp.lang.forth.mac	The CSI MacForth programming environment.
  comp.lang.fortran	Discussion about FORTRAN.
***************
*** 40,41
  comp.lang.fortran	Discussion about FORTRAN.
  comp.lang.lisp		Discussion about LISP.

--- 55,58 -----
  comp.lang.fortran	Discussion about FORTRAN.
+ comp.lang.icon		Topics related to the ICON programming language.
+ comp.lang.idl		IBL (Interface Description Language) related topics.
  comp.lang.lisp		Discussion about LISP.
***************
*** 41,42
  comp.lang.lisp		Discussion about LISP.
  comp.lang.misc		Different computer languages not specifically listed.

--- 58,61 -----
  comp.lang.lisp		Discussion about LISP.
+ comp.lang.lisp.franz	The Franz Lisp programming language.
+ comp.lang.lisp.x	The XLISP language system.
  comp.lang.misc		Different computer languages not specifically listed.
***************
*** 44,45
  comp.lang.pascal	Discussion about Pascal.
  comp.lang.prolog	Discussion about PROLOG.

--- 63,65 -----
  comp.lang.pascal	Discussion about Pascal.
+ comp.lang.postscript	The PostScript Page Description Language.
  comp.lang.prolog	Discussion about PROLOG.
***************
*** 45,46
  comp.lang.prolog	Discussion about PROLOG.
  comp.lang.smalltalk	Discussion about Smalltalk 80.

--- 65,70 -----
  comp.lang.prolog	Discussion about PROLOG.
+ comp.lang.rexx		The REXX command language.
+ comp.lang.scheme	The Scheme Programming language.
+ comp.lang.scheme.c	The Scheme language environment.
+ comp.lang.sigplan	Info & announcements from ACM SIGPLAN. (Moderated)
  comp.lang.smalltalk	Discussion about Smalltalk 80.
***************
*** 46,47
  comp.lang.smalltalk	Discussion about Smalltalk 80.
  comp.laser-printers	Laser printers, hardware & software. (Moderated)

--- 70,72 -----
  comp.lang.smalltalk	Discussion about Smalltalk 80.
+ comp.lang.visual	Visual programming languages.
  comp.laser-printers	Laser printers, hardware & software. (Moderated)
***************
*** 48,50
  comp.lsi		Large scale integrated circuits.
! comp.mail.elm		Discussion and fixes for ELM mail system.
  comp.mail.headers	Gatewayed from the ARPA header-people list.

--- 73,76 -----
  comp.lsi		Large scale integrated circuits.
! comp.lsi.cad		Electrical Computer Aided Design.
! comp.mail.elm		Discussion and fixes for ELM mail system. 
  comp.mail.headers	Gatewayed from the ARPA header-people list.
***************
*** 51,52
  comp.mail.maps		Various maps, including UUCP maps. (Moderated)
  comp.mail.misc		General discussions about computer mail.

--- 77,79 -----
  comp.mail.maps		Various maps, including UUCP maps. (Moderated)
+ comp.mail.mh		The UCI version of the Rand Message Handling system.
  comp.mail.misc		General discussions about computer mail.
***************
*** 52,53
  comp.mail.misc		General discussions about computer mail.
  comp.mail.uucp		Mail in the uucp network environment.

--- 79,82 -----
  comp.mail.misc		General discussions about computer mail.
+ comp.mail.multi-media	Multimedia Mail.
+ comp.mail.sendmail	Configuring and using the BSD sendmail agent.
  comp.mail.uucp		Mail in the uucp network environment.
***************
*** 54,55
  comp.misc		General topics about computers not covered elsewhere.
  comp.newprod		Announcements of new products of interest. (Moderated)

--- 83,85 -----
  comp.misc		General topics about computers not covered elsewhere.
+ comp.music		Applications of computers in music research.
  comp.newprod		Announcements of new products of interest. (Moderated)
***************
*** 57,58
  comp.org.fidonet	FidoNews digest, official news of FidoNet Assoc. (Moderated)
  comp.org.usenix		USENIX Association events and announcements.

--- 87,89 -----
  comp.org.fidonet	FidoNews digest, official news of FidoNet Assoc. (Moderated)
+ comp.org.ieee		Issues and announcements about the IEEE & its members.
  comp.org.usenix		USENIX Association events and announcements.
***************
*** 58,59
  comp.org.usenix		USENIX Association events and announcements.
  comp.os.cpm		Discussion about the CP/M operating system.

--- 89,92 -----
  comp.org.usenix		USENIX Association events and announcements.
+ comp.org.usrgroup	News/discussion about/from the /usr/group organization.
+ comp.os.aos		Topics related to Data General's AOS/VS.
  comp.os.cpm		Discussion about the CP/M operating system.
***************
*** 59,60
  comp.os.cpm		Discussion about the CP/M operating system.
  comp.os.eunice		The SRI Eunice system.

--- 92,94 -----
  comp.os.cpm		Discussion about the CP/M operating system.
+ comp.os.cpm.amethyst	Discussion of Amethyst, CP/M-80 software package.
  comp.os.eunice		The SRI Eunice system.
***************
*** 62,64
  comp.os.misc		General OS-oriented discussion not carried elsewhere.
! comp.os.os9		Discussions about the os9 operating system. (Moderated)
  comp.os.research	Operating systems and related areas. (Moderated)

--- 96,98 -----
  comp.os.misc		General OS-oriented discussion not carried elsewhere.
! comp.os.os9		Discussions about the os9 operating system.
  comp.os.research	Operating systems and related areas. (Moderated)
***************
*** 64,65
  comp.os.research	Operating systems and related areas. (Moderated)
  comp.os.vms		DEC's VAX* line of computers & VMS.

--- 98,101 -----
  comp.os.research	Operating systems and related areas. (Moderated)
+ comp.os.rsts		Topics related to the PDP-11 RSTS/E operating system.
+ comp.os.v		The V distributed operating system from Stanford.
  comp.os.vms		DEC's VAX* line of computers & VMS.
***************
*** 65,66
  comp.os.vms		DEC's VAX* line of computers & VMS.
  comp.periphs		Peripheral devices.

--- 101,104 -----
  comp.os.vms		DEC's VAX* line of computers & VMS.
+ comp.os.xinu		The XINU operating system from Purdue (D. Comer).
+ comp.parallel		Massively parallel hardware/software. (Moderated)
  comp.periphs		Peripheral devices.
***************
*** 66,67
  comp.periphs		Peripheral devices.
  comp.protocols.appletalk	Applebus hardware & software.

--- 104,106 -----
  comp.periphs		Peripheral devices.
+ comp.periphs.printers	Information on printers.
  comp.protocols.appletalk	Applebus hardware & software.
***************
*** 67,68
  comp.protocols.appletalk	Applebus hardware & software.
  comp.protocols.kermit	Info about the Kermit package. (Moderated)

--- 106,112 -----
  comp.protocols.appletalk	Applebus hardware & software.
+ comp.protocols.ibm	Networking with IBM mainframes.
+ comp.protocols.iso	The ISO protocol stack.
+ comp.protocols.iso.dev-environ	The ISO Development Environment.
+ comp.protocols.iso.x400	X400 mail protocol discussions.  (Moderated)
+ comp.protocols.iso.x400.gateway	X400 mail gateway discussions.  (Moderated)
  comp.protocols.kermit	Info about the Kermit package. (Moderated)
***************
*** 69,70
  comp.protocols.misc	Various forms and types of FTP protocol.
  comp.protocols.tcp-ip	TCP and IP network protocols.

--- 113,117 -----
  comp.protocols.misc	Various forms and types of FTP protocol.
+ comp.protocols.nfs	Discussion about the Network File System protocol.
+ comp.protocols.pcnet	Topics related to PCNET (a personal computer network).
+ comp.protocols.pup	The Xerox PUP network protocols.
  comp.protocols.tcp-ip	TCP and IP network protocols.
***************
*** 70,71
  comp.protocols.tcp-ip	TCP and IP network protocols.
  comp.risks		Risks to the public from computers & users. (Moderated)

--- 117,120 -----
  comp.protocols.tcp-ip	TCP and IP network protocols.
+ comp.protocols.tcp-ip.domains	Topics related to Domain Style names.
+ comp.protocols.tcp-ip.ibmpc	TCP/IP for IBM(-like) personal computers.
  comp.risks		Risks to the public from computers & users. (Moderated)
***************
*** 71,72
  comp.risks		Risks to the public from computers & users. (Moderated)
  comp.society		The impact of technology on society. (Moderated)

--- 120,122 -----
  comp.risks		Risks to the public from computers & users. (Moderated)
+ comp.simulation		Simulation methods, problems, uses. (Moderated)
  comp.society		The impact of technology on society. (Moderated)
***************
*** 72,73
  comp.society		The impact of technology on society. (Moderated)
  comp.sources.amiga	Source code-only postings for the Amiga. (Moderated)

--- 122,126 -----
  comp.society		The impact of technology on society. (Moderated)
+ comp.society.futures	Events in technology affecting future computing.
+ comp.society.women	Women's roles and problems in computing (Moderated)
+ comp.software-eng	Software Engineering and related topics.
  comp.sources.amiga	Source code-only postings for the Amiga. (Moderated)
***************
*** 77,78
  comp.sources.games	Postings of recreational software. (Moderated)
  comp.sources.mac	Software for the Apple Macintosh. (Moderated)

--- 130,132 -----
  comp.sources.games	Postings of recreational software. (Moderated)
+ comp.sources.games.bugs	Bug reports and fixes for posted game software.
  comp.sources.mac	Software for the Apple Macintosh. (Moderated)
***************
*** 79,81
  comp.sources.misc	Posting of software . (Moderated)
! comp.sources.unix	Postings of public-domain sources. (Moderated)
  comp.sources.wanted	Requests for software and fixes.

--- 133,135 -----
  comp.sources.misc	Posting of software . (Moderated)
! comp.sources.unix	Postings of complete, UNIX-oriented sources. (Moderated)
  comp.sources.wanted	Requests for software and fixes.
***************
*** 81,83
  comp.sources.wanted	Requests for software and fixes.
! comp.std.c		Discussion about C language standards. (Moderated)
  comp.std.internat	Discussion about international standards.

--- 135,138 -----
  comp.sources.wanted	Requests for software and fixes.
! comp.sources.x		Software for the X windows system. (Moderated)
! comp.std.c		Discussion about C language standards.
  comp.std.internat	Discussion about international standards.
***************
*** 83,85
  comp.std.internat	Discussion about international standards.
! comp.std.misc		Discussion about various standards. (Moderated)
  comp.std.mumps		Discussion for the X11.1 committee on Mumps. (Moderated)

--- 138,140 -----
  comp.std.internat	Discussion about international standards.
! comp.std.misc		Discussion about various standards.
  comp.std.mumps		Discussion for the X11.1 committee on Mumps. (Moderated)
***************
*** 87,88
  comp.sys.amiga		Commodore Amiga: info&uses, but no programs.
  comp.sys.apollo		Apollo computer systems.

--- 142,144 -----
  comp.sys.amiga		Commodore Amiga: info&uses, but no programs.
+ comp.sys.amiga.tech	Technical discussion about the Amiga.
  comp.sys.apollo		Apollo computer systems.
***************
*** 93,94
  comp.sys.cbm		Discussion about Commodore micros.
  comp.sys.dec		Discussions about DEC computer systems.

--- 149,152 -----
  comp.sys.cbm		Discussion about Commodore micros.
+ comp.sys.cdc		Control Data Corporation Computers (e.g., Cybers).
+ comp.sys.celerity	Celerity Computers
  comp.sys.dec		Discussions about DEC computer systems.
***************
*** 94,95
  comp.sys.dec		Discussions about DEC computer systems.
  comp.sys.hp		Discussion about Hewlett-Packard equipment.

--- 152,156 -----
  comp.sys.dec		Discussions about DEC computer systems.
+ comp.sys.dec.micro	DEC Micros (Rainbow, Professional 350/380)
+ comp.sys.encore		Encore's MultiMax computers.
+ comp.sys.handhelds	Handheld computers and programmable calculators.
  comp.sys.hp		Discussion about Hewlett-Packard equipment.
***************
*** 97,99
  comp.sys.ibm.pc.digest	The IBM PC, PC-XT, and PC-AT. (Moderated)
! comp.sys.intel		Disucussions about Intel systems and parts.
  comp.sys.m6809		Discussion about 6809's.

--- 158,162 -----
  comp.sys.ibm.pc.digest	The IBM PC, PC-XT, and PC-AT. (Moderated)
! comp.sys.ibm.pc.rt	Topics related to IBM's RT computer.
! comp.sys.intel		Discussions about Intel systems and parts.
! comp.sys.intel.ipsc310	Anything related to Xenix on an Intel 310.
  comp.sys.m6809		Discussion about 6809's.
***************
*** 103,104
  comp.sys.mac.digest	Apple Macintosh: info&uses, but no programs. (Moderated)
  comp.sys.masscomp	The Masscomp line of computers. (Moderated)

--- 166,169 -----
  comp.sys.mac.digest	Apple Macintosh: info&uses, but no programs. (Moderated)
+ comp.sys.mac.hypercard	The Macintosh Hypercard: info & uses.
+ comp.sys.mac.programmer	Discussion by people programming the Apple Macintosh.
  comp.sys.masscomp	The Masscomp line of computers. (Moderated)
***************
*** 105,106
  comp.sys.misc		Discussion about computers of all kinds.
  comp.sys.nsc.32k	National Semiconductor 32000 series chips.

--- 170,173 -----
  comp.sys.misc		Discussion about computers of all kinds.
+ comp.sys.next		Discussion about the new NeXT computer.
+ comp.sys.northstar	Northstar microcomputer users.
  comp.sys.nsc.32k	National Semiconductor 32000 series chips.
***************
*** 106,107
  comp.sys.nsc.32k	National Semiconductor 32000 series chips.
  comp.sys.pyramid	Pyramid 90x computers.

--- 173,175 -----
  comp.sys.nsc.32k	National Semiconductor 32000 series chips.
+ comp.sys.proteon	Proteon gateway products.
  comp.sys.pyramid	Pyramid 90x computers.
***************
*** 108,110
  comp.sys.ridge		Ridge 32 computers and ROS. 
! comp.sys.sequent	Sequent systems, (esp. Balance 8000). (Moderated)
  comp.sys.sun		Sun "workstation" computers. (Moderated)

--- 176,179 -----
  comp.sys.ridge		Ridge 32 computers and ROS. 
! comp.sys.sequent	Sequent systems, (Balance and Symmetry).
! comp.sys.sgi		Silicon Graphics's Iris workstations and software.
  comp.sys.sun		Sun "workstation" computers. (Moderated)
***************
*** 110,111
  comp.sys.sun		Sun "workstation" computers. (Moderated)
  comp.sys.tandy		Discussion about TRS-80's.

--- 179,182 -----
  comp.sys.sun		Sun "workstation" computers. (Moderated)
+ comp.sys.super		Supercomputers.
+ comp.sys.tahoe		CCI 6/32, Harris HCX/7, & Sperry 7000 computers.
  comp.sys.tandy		Discussion about TRS-80's.
***************
*** 112,113
  comp.sys.ti		Discussion about Texas Instruments.
  comp.sys.workstations	Various workstation-type computers. (Moderated)

--- 183,186 -----
  comp.sys.ti		Discussion about Texas Instruments.
+ comp.sys.ti.explorer	The Texas Instruments Explorer.
+ comp.sys.transputer	The Transputer computer and OCCAM language.
  comp.sys.workstations	Various workstation-type computers. (Moderated)
***************
*** 113,114
  comp.sys.workstations	Various workstation-type computers. (Moderated)
  comp.terminals		All sorts of terminals.

--- 186,190 -----
  comp.sys.workstations	Various workstation-type computers. (Moderated)
+ comp.sys.xerox		Xerox 1100 workstations and protocols.
+ comp.sys.zenith		Heath terminals and related Zenith products.
+ comp.sys.zenith.z100	The Zenith Z-100 (Heath H-100) family of computers.
  comp.terminals		All sorts of terminals.
***************
*** 114,115
  comp.terminals		All sorts of terminals.
  comp.text		Text processing issues and methods.

--- 190,193 -----
  comp.terminals		All sorts of terminals.
+ comp.terminals.bitgraph	The BB&N BitGraph Terminal.
+ comp.terminals.tty5620	AT&T Dot Mapped Display Terminals (5620 and BLIT).
  comp.text		Text processing issues and methods.
***************
*** 115,117
  comp.text		Text processing issues and methods.
! comp.text.desktop	Technolgy & techniques of desktop publishing. (Moderated)
  comp.unix		Discussion of UNIX* features and bugs. (Moderated)

--- 193,200 -----
  comp.text		Text processing issues and methods.
! comp.text.desktop	Technology & techniques of desktop publishing.
! comp.theory		Theoretical Computer Science.
! comp.theory.cell-automata	Discussion of all aspects of cellular automata.
! comp.theory.dynamic-sys	Ergodic Theory and Dynamical Systems.
! comp.theory.info-retrieval	Information Retrieval topics. (Moderated)
! comp.theory.self-org-sys	Topics related to self-organization.
  comp.unix		Discussion of UNIX* features and bugs. (Moderated)
***************
*** 117,118
  comp.unix		Discussion of UNIX* features and bugs. (Moderated)
  comp.unix.questions	UNIX neophytes group.

--- 200,204 -----
  comp.unix		Discussion of UNIX* features and bugs. (Moderated)
+ comp.unix.aux		The version of UNIX for Apple Macintosh II computers.
+ comp.unix.cray		Cray computers and their operating systems.
+ comp.unix.microport	Discussion of Microport's UNIX.
  comp.unix.questions	UNIX neophytes group.
***************
*** 118,119
  comp.unix.questions	UNIX neophytes group.
  comp.unix.wizards	Discussions, bug reports, and fixes on and for UNIX.

--- 204,206 -----
  comp.unix.questions	UNIX neophytes group.
+ comp.unix.ultrix	Discussions about DEC's Ultrix. (Moderated)
  comp.unix.wizards	Discussions, bug reports, and fixes on and for UNIX.
***************
*** 121,122
  comp.windows.misc	Various issues about windowing systems.
  comp.windows.news	Sun Microsystems' NewS window system.

--- 208,210 -----
  comp.windows.misc	Various issues about windowing systems.
+ comp.windows.ms		Window systems under MS/DOS.
  comp.windows.news	Sun Microsystems' NewS window system.
***************
*** 135,137
  misc.misc		Various discussions not fitting in any other group.
! misc.psi		Paranormal abilities and experiences. (Moderated)
  misc.taxes		Tax laws and advice.

--- 223,225 -----
  misc.misc		Various discussions not fitting in any other group.
! misc.security		Security in general, not just computers. (Moderated)
  misc.taxes		Tax laws and advice.
***************
*** 148,150
  news.newsites		Postings of new site announcements.
! news.software.b		Discussion about B news software.
  news.software.notes	Notesfile software from the Univ. of Illinois.

--- 236,239 -----
  news.newsites		Postings of new site announcements.
! news.software.b		Discussion about B-news-compatible software.
! news.software.nntp	The Network News Transfer Protocol.
  news.software.notes	Notesfile software from the Univ. of Illinois.
***************
*** 150,152
  news.software.notes	Notesfile software from the Univ. of Illinois.
- news.stargate		Discussion about satellite transmission of news.
  news.sysadmin		Comments directed to system administrators.

--- 239,240 -----
  news.software.notes	Notesfile software from the Univ. of Illinois.
  news.sysadmin		Comments directed to system administrators.
***************
*** 152,155
  news.sysadmin		Comments directed to system administrators.
! rec.arts.books		Books of all genres, shapes, and sizes.
! rec.arts.comics		The funnies, old and new.
  rec.arts.drwho		Discussion about Dr. Who.

--- 240,244 -----
  news.sysadmin		Comments directed to system administrators.
! rec.arts.anime		Japanese animation fen discussion.
! rec.arts.books		Books of all genres, and the publishing industry.
! rec.arts.comics		Comic books and strips, graphic novels, sequential art.
  rec.arts.drwho		Discussion about Dr. Who.
***************
*** 155,156
  rec.arts.drwho		Discussion about Dr. Who.
  rec.arts.movies		Discussions of movies and movie making.

--- 244,247 -----
  rec.arts.drwho		Discussion about Dr. Who.
+ rec.arts.int-fiction	Discussions about interactive fiction.
+ rec.arts.misc		Discussions about the arts not in other groups.
  rec.arts.movies		Discussions of movies and movie making.
***************
*** 159,161
  rec.arts.sf-lovers	Science fiction lovers' newsgroup.
! rec.arts.startrek	Star Trek, the TV show and the movies.
  rec.arts.tv		The boob tube, its history, and past and current shows.

--- 250,252 -----
  rec.arts.sf-lovers	Science fiction lovers' newsgroup.
! rec.arts.startrek	Star Trek, the TV shows and the movies.
  rec.arts.tv		The boob tube, its history, and past and current shows.
***************
*** 165,166
  rec.autos		Automobiles, automotive products and laws.
  rec.autos.tech		Technical aspects of automobiles, et. al.

--- 256,258 -----
  rec.autos		Automobiles, automotive products and laws.
+ rec.autos.sport		Discussion of organized, legal auto competitions.
  rec.autos.tech		Technical aspects of automobiles, et. al.
***************
*** 170,171
  rec.boats		Hobbyists interested in boating.
  rec.food.cooking	Food, cooking, cookbooks, and recipes.

--- 262,265 -----
  rec.boats		Hobbyists interested in boating.
+ rec.equestrian		Discussion of things equestrian.
+ rec.folk-dancing	Folk dances, dancers, and dancing.
  rec.food.cooking	Food, cooking, cookbooks, and recipes.
***************
*** 172,174
  rec.food.drink		Wines and spirits.
- rec.food.recipes	Recipes from the USENET Cookbook (troff & text). (Moderated)
  rec.food.veg		Vegetarians.

--- 266,267 -----
  rec.food.drink		Wines and spirits.
  rec.food.veg		Vegetarians.
***************
*** 182,183
  rec.games.misc		Games and computer games.
  rec.games.pbm		Discussion about Play by Mail games.

--- 275,277 -----
  rec.games.misc		Games and computer games.
+ rec.games.moria		Comments, hints, and info about the Moria game.
  rec.games.pbm		Discussion about Play by Mail games.
***************
*** 183,184
  rec.games.pbm		Discussion about Play by Mail games.
  rec.games.rogue		Discussion and hints about Rogue.

--- 277,279 -----
  rec.games.pbm		Discussion about Play by Mail games.
+ rec.games.programmer	Discussion of adventure game programming.
  rec.games.rogue		Discussion and hints about Rogue.
***************
*** 185,186
  rec.games.trivia	Discussion about trivia.
  rec.games.video		Discussion about video games.

--- 280,282 -----
  rec.games.trivia	Discussion about trivia.
+ rec.games.vectrex	The Vectrex game system.
  rec.games.video		Discussion about video games.
***************
*** 192,194
  rec.humor.d		Discussions on the content of rec.humor articles.
! rec.humor.spc		The Stupid People's Court! (Moderated)
  rec.mag			Magazine summaries, tables of contents, etc.

--- 288,290 -----
  rec.humor.d		Discussions on the content of rec.humor articles.
! rec.humor.funny		Jokes that are funny (in the moderator's opinion).  (Moderated)
  rec.mag			Magazine summaries, tables of contents, etc.
***************
*** 194,195
  rec.mag			Magazine summaries, tables of contents, etc.
  rec.mag.otherrealms	Edited science fiction & fantasy "magazine". (Moderated)

--- 290,292 -----
  rec.mag			Magazine summaries, tables of contents, etc.
+ rec.mag.fsfnet		A Science Fiction "fanzine." (Moderated)
  rec.mag.otherrealms	Edited science fiction & fantasy "magazine". (Moderated)
***************
*** 196,197
  rec.misc		General topics about recreational/participant sports.
  rec.motorcycles		Motorcycles and related products and laws.

--- 293,295 -----
  rec.misc		General topics about recreational/participant sports.
+ rec.models.rc		Radio-controlled models for hobbyists.
  rec.motorcycles		Motorcycles and related products and laws.
***************
*** 197,198
  rec.motorcycles		Motorcycles and related products and laws.
  rec.music.classical	Discussion about classical music.

--- 295,299 -----
  rec.motorcycles		Motorcycles and related products and laws.
+ rec.music.beatles	Postings about the Fab Four & their music.
+ rec.music.bluenote	Discussion of jazz, blues, and related types of music.
+ rec.music.cd		CDs -- availability and other discussions.
  rec.music.classical	Discussion about classical music.
***************
*** 222,223
  sci.bio			Biology and related sciences.
  sci.crypt		Different methods of data en/decryption.

--- 323,325 -----
  sci.bio			Biology and related sciences.
+ sci.bio.technology	Any topic relating to biotechnology.
  sci.crypt		Different methods of data en/decryption.
***************
*** 225,226
  sci.lang		Natural languages, communication, etc.
  sci.math		Mathematical discussions and pursuits.

--- 327,330 -----
  sci.lang		Natural languages, communication, etc.
+ sci.lang.japan		The Japanese language, both spoken and written.
+ sci.logic		Logic -- math, philosophy & computational aspects.
  sci.math		Mathematical discussions and pursuits.
***************
*** 226,227
  sci.math		Mathematical discussions and pursuits.
  sci.math.stat		Statistics discussion.

--- 330,332 -----
  sci.math		Mathematical discussions and pursuits.
+ sci.math.num-analysis	Numerical Analysis.
  sci.math.stat		Statistics discussion.
***************
*** 229,231
  sci.med			Medicine and its related products and regulations.
! sci.med.aids		AIDS -- treatment, consequences, etc. (Moderated)
  sci.misc		Short-lived discussions on subjects in the sciences.

--- 334,337 -----
  sci.med			Medicine and its related products and regulations.
! sci.med.aids		AIDS: treatment, pathology/biology of HIV, prevention. (Moderated)
! sci.military		Discussion about science & the military. (Moderated)
  sci.misc		Short-lived discussions on subjects in the sciences.
***************
*** 231,232
  sci.misc		Short-lived discussions on subjects in the sciences.
  sci.philosophy.tech	Technical philosophy: math, science, logic, etc. 

--- 337,340 -----
  sci.misc		Short-lived discussions on subjects in the sciences.
+ sci.nanotech		Self-reproducing molecular-scale machines. (Moderated)
+ sci.philosophy.meta	Discussions within the scope of "MetaPhilosophy."
  sci.philosophy.tech	Technical philosophy: math, science, logic, etc. 
***************
*** 233,234
  sci.physics		Physical laws, properties, etc.
  sci.research		Research methods, funding, ethics, and whatever.

--- 341,343 -----
  sci.physics		Physical laws, properties, etc.
+ sci.psychology		Topics related to psychology.
  sci.research		Research methods, funding, ethics, and whatever.
***************
*** 238,240
  soc.culture.african	Discussions about Africa & things African.
! soc.culture.celtic	Group about Celtics (*not* basketball!).
  soc.culture.greek	Group about Greeks.

--- 347,352 -----
  soc.culture.african	Discussions about Africa & things African.
! soc.culture.arabic	Technological & cultural issues, *not* politics.
! soc.culture.celtic	Group about Celts (*not* basketball!).
! soc.culture.china	About China and Chinese culture.
! soc.culture.esperanto	The neutral international language Esperanto.
  soc.culture.greek	Group about Greeks.
***************
*** 241,243
  soc.culture.indian	Group for discussion about India & things Indian.
! soc.culture.jewish	Group for discussion about Jewish culture & religion.
  soc.culture.misc	Group for discussion about other cultures.

--- 353,356 -----
  soc.culture.indian	Group for discussion about India & things Indian.
! soc.culture.japan	Everything Japanese, except the Japanese language.
! soc.culture.jewish	Jewish culture & religion. (cf. talk.politics.mideast)
  soc.culture.misc	Group for discussion about other cultures.
***************
*** 258,259
  talk.philosophy.misc	Philosophical musings on all topics.
  talk.politics.misc	Political discussions and ravings of all kinds.

--- 371,373 -----
  talk.philosophy.misc	Philosophical musings on all topics.
+ talk.politics.mideast	Discussion & debate over Middle Eastern events.
  talk.politics.misc	Political discussions and ravings of all kinds.
***************
*** 259,260
  talk.politics.misc	Political discussions and ravings of all kinds.
  talk.politics.theory	Theory of politics and political systems.

--- 373,375 -----
  talk.politics.misc	Political discussions and ravings of all kinds.
+ talk.politics.soviet	Discussion of Soviet politics, domestic and foreign.
  talk.politics.theory	Theory of politics and political systems.

Index: ndir.c
Prereq: 1.12
*** old/ndir.c	Sun Oct 18 18:04:00 1987
--- ndir.c	Sun Jan 15 19:49:01 1989
***************
*** 1,3
  #include "defs.h"
! #if !defined(BSD4_2) && !defined(BSD4_1C) && !defined(HP9K5)
  #ifdef M_XENIX

--- 1,3 -----
  #include "defs.h"
! #if !defined(READDIR) && !defined(BSD4_2) && !defined(HP9K5)
  #ifdef M_XENIX
***************
*** 9,11
  #ifdef SCCSID
! static char	*SccsId = "@(#)ndir.c	1.12	10/15/87";
  #endif /* SCCSID */

--- 9,11 -----
  #ifdef SCCSID
! static char	*SccsId = "@(#)ndir.c	1.13	1/15/89";
  #endif /* SCCSID */
***************
*** 142,143
  }
! #endif /* !BSD4_2 && !BSD4_1C && !HP9K5 */

--- 142,143 -----
  }
! #endif /* !READDIR && !BSD4_2 && !HP9K5 */

Index: ndir.h
Prereq: 1.7
*** old/ndir.h	Thu Oct  8 00:22:06 1987
--- ndir.h	Sun Jan 15 19:49:01 1989
***************
*** 1,6
! /*	@(#)ndir.h	1.7	10/7/87	*/
! #if defined(HP9K5)
! /* He should have included it instead of this, but prevent confusion */
! #include <ndir.h>
! #else /* other */
  #ifndef DEV_BSIZE

--- 1,2 -----
! /*	@(#)ndir.h	1.8	1/15/89	*/
  #ifndef DEV_BSIZE
***************
*** 48,49
  #define rewinddir(dirp)	seekdir((dirp), (long)0)
- #endif /* other */

--- 44 -----
  #define rewinddir(dirp)	seekdir((dirp), (long)0)

Index: nntp.c
Prereq: 2.4
*** old/nntp.c	Fri Dec  4 02:52:14 1987
--- nntp.c	Sun Jan 15 19:49:01 1989
***************
*** 16,18
  #ifdef SCCSID
! static char	*SccsId = "@(#)nntp.c	2.4	11/30/87";
  #endif	/* SCCSID */

--- 16,18 -----
  #ifdef SCCSID
! static char	*SccsId = "@(#)nntp.c	2.5	1/15/89";
  #endif	/* SCCSID */
***************
*** 23,24
  #include "conf.h"
  

--- 23,31 -----
  #include "conf.h"
+ #ifdef SERVER_HOST
+ /* nntp 1.3 or earlier */
+ #include "response_codes.h"
+ #else
+ /* nntp 1.5 or later */
+ #include "nntp.h"
+ #endif
  
Index: params.h
Prereq: 2.28
*** old/params.h	Fri Dec  4 02:52:16 1987
--- params.h	Thu Jan 19 00:06:42 1989
***************
*** 4,6
  
! /*	@(#)params.h	2.28	11/30/87	*/
  

--- 4,6 -----
  
! /*	@(#)params.h	2.31	1/19/89	*/
  
***************
*** 105,106
  
  #ifdef VMS

--- 105,112 -----
  
+ #ifdef VOID_SIGNALS
+ typedef	void (*SIGNAL_TYPE)();
+ #else	/* int signals */
+ typedef	int (*SIGNAL_TYPE)();
+ #endif /* int signals */
+ 
  #ifdef VMS
***************
*** 129,131
  #define LOCKING
! #endif M_XENIX
  

--- 135,137 -----
  #define LOCKING
! #endif /* defined M_XENIX */
  
***************
*** 154,159
  #ifdef READDIR
! #include <sys/dir.h>
! #else /* !READDIR */
! #include "ndir.h"
! #endif /* !READDIR */
  

--- 160,176 -----
  #ifdef READDIR
! #	ifdef	DIRENT
! #		include	<dirent.h>
! 		typedef	struct dirent DIRECTORY_STRUCT;
! #	else	/* !DIRENT */
! #		ifdef	HP9K5
! #			include	<ndir.h>
! #		else	/* !HP9K5 */
! #			include	<sys/dir.h>
! #		endif	/* !HP9K5 */
! 	typedef struct direct DIRECTORY_STRUCT;
! #	endif	/* !DIRENT */
! #else	/* !READDIR */
! #	include	"ndir.h"
! 	typedef struct direct DIRECTORY_STRUCT;
! #endif	/* !READDIR */
  
***************
*** 166,167
  
  #define STRCMP(a,b)  ((*(a) != *(b)) ? (*(a)-*(b)) : strcmp((a)+1, (b)+1))

--- 183,191 -----
  
+ /* The gould compiler really sucks */
+ #ifdef gould
+ #define STRCMP(a,b)  strcmp(a,b)
+ #define STRNCMP(a,b,n)  strncmp(a,b,n)
+ extern char charmap[];
+ #define PREFIX(a,b)  prefix(a,b)
+ #else
  #define STRCMP(a,b)  ((*(a) != *(b)) ? (*(a)-*(b)) : strcmp((a)+1, (b)+1))
***************
*** 170,171
  #define PREFIX(a,b)  ((charmap[*(a)] != charmap[*(b)]) ? FALSE : prefix((a)+1, (b)+1))
  #define MKTEMP(a)	{if (mktemp(a) == 0) xerror("mktemp(%s): ", a);}

--- 194,196 -----
  #define PREFIX(a,b)  ((charmap[*(a)] != charmap[*(b)]) ? FALSE : prefix((a)+1, (b)+1))
+ #endif /* gould */
  #define MKTEMP(a)	{if (mktemp(a) == 0) xerror("mktemp(%s): ", a);}

Index: pathinit.c
Prereq: 1.25
*** old/pathinit.c	Mon Nov 23 19:13:29 1987
--- pathinit.c	Sun Jan 15 19:49:02 1989
***************
*** 1,3
  /*
!  * This software is Copyright (c) 1986 by Rick Adams.
   *

--- 1,3 -----
  /*
!  * This software is Copyright 1986, 1989 by Rick Adams.
   *
***************
*** 36,38
  #ifdef SCCSID
! static char	*SccsId = "@(#)pathinit.c	1.25	11/19/87";
  #endif /* SCCSID */

--- 36,38 -----
  #ifdef SCCSID
! static char	*SccsId = "@(#)pathinit.c	1.26	1/15/89";
  #endif /* SCCSID */
***************
*** 215,218
  #ifndef NFSCLIENT
! 	Sprintf(ARTICLE, "%s/.arXXXXXX", SPOOL);
! 	Sprintf(INFILE, "%s/.inXXXXXX", SPOOL);
  #else /* NFSCLIENT */

--- 215,218 -----
  #ifndef NFSCLIENT
! 	Sprintf(ARTICLE, "%s/.tmp/.arXXXXXX", SPOOL);
! 	Sprintf(INFILE, "%s/.tmp/.inXXXXXX", SPOOL);
  #else /* NFSCLIENT */
***************
*** 307,308
  			mp->m_who_to = "";
  }

--- 307,309 -----
  			mp->m_who_to = "";
+ 	(void) fclose(nfd);
  }

Index: postnews.c
Prereq: 1.36
*** old/postnews.c	Fri Dec  4 02:52:20 1987
--- postnews.c	Sun Jan 15 19:49:03 1989
***************
*** 1,3
  /*
!  * This software is Copyright (c) 1986 by Rick Adams.
   *

--- 1,3 -----
  /*
!  * This software is Copyright 1986, 1989 by Rick Adams.
   *
***************
*** 19,21
  #ifdef SCCSID
! static char	*SccsId = "@(#)postnews.c	1.36	11/30/87";
  #endif /* SCCSID */

--- 19,21 -----
  #ifdef SCCSID
! static char	*SccsId = "@(#)postnews.c	1.37	1/15/89";
  #endif /* SCCSID */
***************
*** 43,44
  char newsgroups[BUFLEN];
  char isfrom[BUFLEN];

--- 43,45 -----
  char newsgroups[BUFLEN];
+ char followupto[BUFLEN];
  char isfrom[BUFLEN];
***************
*** 455,456
  	fprintf(tf, "Newsgroups: %s\n", newsgroups);
  	if (distribution[0] != '\0' && STRCMP(distribution, "world"))

--- 456,461 -----
  	fprintf(tf, "Newsgroups: %s\n", newsgroups);
+ 
+ 	if (followupto[0] != '\0')
+ 		fprintf(tf, "Followup-To: %s\n", followupto);
+ 
  	if (distribution[0] != '\0' && STRCMP(distribution, "world"))
***************
*** 460,461
  		fprintf(tf, "Keywords: %s\n", keywords);
  	if (summary[0] != '\0')

--- 465,467 -----
  		fprintf(tf, "Keywords: %s\n", keywords);
+ 
  	if (summary[0] != '\0')
***************
*** 468,470
  			of = xfopen(original, "r");
! 			while (fgets(buf, BUFSIZ, of) != NULL)
  				if (buf[0] == '\n')	/* skip headers */

--- 474,476 -----
  			of = xfopen(original, "r");
! 			while (fgets(buf, BUFLEN, of) != NULL)
  				if (buf[0] == '\n')	/* skip headers */
***************
*** 472,474
  			fprintf(tf, "In article %s, %s writes:\n", msgid, isfrom);
! 			while (fgets(buf, BUFSIZ, of) != NULL)
  				fprintf(tf, "> %s", buf);

--- 478,480 -----
  			fprintf(tf, "In article %s, %s writes:\n", msgid, isfrom);
! 			while (fgets(buf, BUFLEN, of) != NULL)
  				fprintf(tf, "> %s", buf);
***************
*** 586,587
  
  	if (ngmatch(newsgroups, "rec.humor,!rec.humor.all")) {

--- 592,602 -----
  
+ #ifdef SunIII
+ 	if
+ 	(
+ 		ngmatch(newsgroups, "rec.humor,!rec.humor.all")
+ 		||
+ 		ngmatch(newsgroups, "aus.jokes,!aus.jokes.d")
+ 	)
+ 	{
+ #else
  	if (ngmatch(newsgroups, "rec.humor,!rec.humor.all")) {
***************
*** 587,588
  	if (ngmatch(newsgroups, "rec.humor,!rec.humor.all")) {
  		if (askyes("Could this be offensive to anyone? ","")) {

--- 602,604 -----
  	if (ngmatch(newsgroups, "rec.humor,!rec.humor.all")) {
+ #endif
  		if (askyes("Could this be offensive to anyone? ","")) {
***************
*** 595,597
  
! 	if (ngmatch(newsgroups, "comp.sources.all,!comp.sources.wanted,!comp.sources.d")) {
  		if (!article_line(tempfname, "Subject: ", group)) {

--- 611,613 -----
  
! 	if (ngmatch(newsgroups, "comp.sources.all,!comp.sources.wanted,!comp.sources.d,!comp.sources.bugs")) {
  		if (!article_line(tempfname, "Subject: ", group)) {
***************
*** 618,621
  		if (ngmatch(newsgroups, "comp.sources.all")) {
! 			if (!ngmatch(newsgroups, "comp.sources.wanted") &&
! 			    stbuf.st_size < (4*1024)) {
  				printf("Your article seems rather small to be a source distribution.\n");

--- 634,636 -----
  		if (ngmatch(newsgroups, "comp.sources.all")) {
! 			if (stbuf.st_size < (4*1024)) {
  				printf("Your article seems rather small to be a source distribution.\n");
***************
*** 637,638
  	}
  }

--- 652,663 -----
  	}
+ 	if (index(newsgroups, NGDELIM) != NULL && followupto[0] == '\0') {
+ 		printf("Your article is being posted to multiple newsgroups.\n");
+ 		printf("In which newsgroup should the responses be posted?\n");
+ 		printf("Newsgroups: %s\n", newsgroups);
+ 		printf("(If responses should be mailed to you, enter \"poster\")\n");
+ 		getpr("Followup-To: ", followupto);
+ 		if (followupto[0] != '\0')
+ 			modify_article(tempfname, "Followup-To: ", followupto,
+ 				APPEND);
+ 	}
  }
***************
*** 1084,1086
  	}
- 
  	get_summary();

--- 1109,1110 -----
  	}
  	get_summary();

Index: patchlevel.h
Prereq: 15
*** .d/patchlevel.h	Fri Dec  4 02:52:37 1987
--- patchlevel.h	Mon Jan 23 17:22:22 1989
***************
*** 1,2
! #define	PATCHLEVEL	15
  

--- 1,2 -----
! #define	PATCHLEVEL	16
  
***************
*** 2,3
  
! #define NEWS_VERSION   "B 2.11 1/14/89"

--- 2,3 -----
  
! #define NEWS_VERSION   "B 2.11 1/23/89"

--- end of patch 16 ---