[net.emacs] GNU emacs bug fix for UniPlus SVR2

fnf@unisoft.UUCP (Fred Fish) (01/09/86)

The following patch fixes a bug in GNU emacs 17.35 for pty usage
under UniPlus System V Release 2.  I don't know the details of
why it was necessary (and when someone tried to tell me I 
refused to listen, icky).

*** process.c	Wed Jan  8 16:56:04 1986
--- newprocess.c	Wed Jan  8 16:56:18 1986
***************
*** 145,150
  	       this avoids a nasty yet stupid bug in rlogins */
  	    int x;
              sprintf (name, "/dev/tty%c%x", c, i);
  	    x = open (name, O_RDWR | O_NDELAY, 0);
  	    if (x < 0)
  	      {

--- 145,151 -----
  	       this avoids a nasty yet stupid bug in rlogins */
  	    int x;
              sprintf (name, "/dev/tty%c%x", c, i);
+ #ifndef UNIPLUS
  	    x = open (name, O_RDWR | O_NDELAY, 0);
  	    if (x < 0)
  	      {
***************
*** 163,168
  /*	      ioctl( *ptyv, TIOCREMOTE, &on );	/* for EOT */
  /* this is said to be unecessary, and to be harmful in 4.3.  */
  /*	    ioctl (*ptyv, FIONBIO, &on);  */
  	    return name;
  	  }
        }

--- 164,170 -----
  /*	      ioctl( *ptyv, TIOCREMOTE, &on );	/* for EOT */
  /* this is said to be unecessary, and to be harmful in 4.3.  */
  /*	    ioctl (*ptyv, FIONBIO, &on);  */
+ #endif /* UNIPLUS */
  	    return name;
  	  }
        }
***************
*** 713,718
            close (j);
  
  	  /* I wonder if close (open (ptyname, ...)) would work?  */
  	  close (xforkin);
            xforkout = xforkin = open (ptyname, O_RDWR, 0);
  

--- 715,721 -----
            close (j);
  
  	  /* I wonder if close (open (ptyname, ...)) would work?  */
+ #ifndef UNIPLUS
  	  close (xforkin);
            xforkout = xforkin = open (ptyname, O_RDWR, 0);
  
***************
*** 718,723
  
            if (xforkin < 0)
  	    abort ();
          }
  #endif /* HAVE_PTYS */
        child_setup (xforkin, xforkout, xforkout, new_argv);

--- 721,727 -----
  
            if (xforkin < 0)
  	    abort ();
+ #endif /* UNIPLUS */
          }
  #endif /* HAVE_PTYS */
        child_setup (xforkin, xforkout, xforkout, new_argv);
-- 

===========================================================================
Fred Fish    UniSoft Systems Inc, 739 Allston Way, Berkeley, CA  94710  USA
{ucbvax,dual}!unisoft!fnf	(415) 644 1230 		TWX 11 910 366-2145
===========================================================================