🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.bug
Article #659

GNU Emacs 18.55 on HPUX 7.0

#659
From: Tom Lane
Date: Tue, 10 Apr 1990 18:22
85 lines
3543 bytes
Herewith an installation report on bringing up GNU Emacs 18.55
under HPUX 7.0.  I had had it running under 6.2, but encountered
a couple of snafus in rebuilding after the upgrade.

The environment here is vanilla HPUX 7.0 and Emacs 18.55 pretty
much out-of-the-box: src/config.h selects s-hpux.h and m-hp9000s300.h,
and defines HAVE_X_WINDOWS and X11.  I also modify src/ymakefile
to specify +O1 in place of -g.  (-O draws warning messages...)

The first problem you'll run into when building is a compiler complaint
about the stub "perror()" routine in src/sysdep.c.  Since HPUX has perror()
I don't see the value in this stub; I just flushed it.  (No diff for this:
just change #ifdef HPUX to #if 0.)  After that it should build and install
without error.

A couple of people have reported problems with interrupts to
subjobs not working under HPUX 7.0: typing C-c C-c doesn't
seem to do anything, and typing C-c C-\ kills Emacs itself.
I've tracked down the problem and enclose diffs for a possible fix.

The problem is that under HPUX 7.0 you can't do TIOCGPGRP on the
master side of a pty (don't ask me why not -- it worked under 6.2).
The code below avoids TIOCGPGRP entirely in favor of TIOCSIGSEND,
which sends the signal directly.

This should work OK in HPUX 6.2 also, but I am not about to reinstall
6.2 to try it.  I don't know how widespread TIOCSIGSEND is (CMU's
BSD 4.3 machines don't seem to have it); making the change conditional
on TIOCSIGSEND being defined may be the wrong thing to do.

This code will not work if the connection is via pipe or socket
rather than pty, but I don't believe the old code would have either.
At least I give an error message...

*** src/process.c.old	Fri Mar 16 12:13:22 1990
--- src/process.c	Tue Apr 10 11:35:17 1990
***************
*** 1771,1776 ****
--- 1771,1780 ----
      error ("Process %s is not active",
  	   XSTRING (p->name)->data);
  
+ #ifdef TIOCSIGSEND
+   if (NULL (current_group))
+     gid = - XFASTINT (p->pid);
+ #else /* don't have TIOCSIGSEND */
  #ifdef TIOCGPGRP		/* Not sure about this! (fnf) */
    /* If we are using pgrps, get a pgrp number and make it negative.  */
    if (!NULL (current_group))
***************
*** 1785,1790 ****
--- 1789,1795 ----
       the child itself heads the pgrp.  */
    gid = - XFASTINT (p->pid);
  #endif /* not using pgrps */
+ #endif /* TIOCSIGSEND */
  
    switch (signo)
      {
***************
*** 1800,1805 ****
--- 1805,1820 ----
        flush_pending_output (XFASTINT (p->infd));
        break;
      }
+ 
+ #ifdef TIOCSIGSEND
+   if (!NULL (current_group))
+     {
+       if (ioctl (XFASTINT (p->infd), TIOCSIGSEND, signo) == -1)
+ 	error ("Failed to signal process %s",
+ 	       XSTRING (p->name)->data);
+     }
+   else
+ #endif /* TIOCSIGSEND */
    /* gid may be a pid, or minus a pgrp's number */
  #ifdef BSD
    /* On bsd, [man says] kill does not accept a negative number to kill a pgrp.

-- 
				tom lane
Internet: tgl@cs.cmu.edu
UUCP: <your favorite internet/arpanet gateway>!cs.cmu.edu!tgl
BITNET: tgl%cs.cmu.edu@cmuccvma
CompuServe: >internet:tgl@cs.cmu.edu
Technical Details
Message-ID: <8807@pt.cs.cmu.edu>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!tut.cis.ohio-state.edu!pt.cs.cmu.edu!zog.cs.cmu.edu!tgl

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!tut.cis.ohio-state.edu!pt.cs.cmu.edu!zog.cs.cmu.edu!tgl
From: tgl@zog.cs.cmu.edu (Tom Lane)
Newsgroups: gnu.emacs.bug,comp.sys.hp
Subject: GNU Emacs 18.55 on HPUX 7.0
Summary: a couple of bugs found and fixed
Message-ID: <8807@pt.cs.cmu.edu>
Date: 10 Apr 90 18:22:29 GMT
Organization: Carnegie-Mellon University, CS/RI
Lines: 85