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
===========================================================================