Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!mailrus!ames!umd5!purdue!decwrl!hplabs!hpda!hpsemc!bd From: bd@hpsemc.HP.COM (bob desinger) Newsgroups: comp.emacs Subject: Suspending GNU 18.51 on HP s800 Message-ID: <690015@hpsemc.HP.COM> Date: 29 May 88 08:18:57 GMT Organization: HP Technology Access Center, Cupertino, CA Lines: 39 In src/sysdep.c near line 479, sys_suspend() decides to suspend Emacs or fork a subshell depending if you're BSD or not. The code goes like this [edited a bit]: sys_suspend () { #ifdef VMS [VMS code calling LIB$ATTACH] #else #ifdef BSD /* line 479 */ killpg (getpgrp (0), SIGTSTP); #else #ifdef USG_JOBCTRL [black magic incantation for csh hack] #else /* On a system where suspending is not implemented, instead fork a subshell and let it talk directly to the terminal while we wait. */ Some System V boxes these days implement BSD job control, and due to Guy Harris and Dave Lennert's POSIX proposal for implementing BSD job control on System V there's going to be more in the future. Line 479 should be changed from #ifdef BSD to #ifdef SIGTSTP which makes it work on System V boxes that support job control like the HP 9000 Series 800. Actually, in m-hp9000s800.h you'll need a couple of lines in addition to the above fix: /* BSD's killpg() functionality is subsumed by HP-UX's kill(). */ #define killpg(p,s) kill(-(p), s) -- bd