[gnu.emacs] loadst dies

lynn@rave.phx.mcd.mot.com (Lynn D. Newton) (05/17/89)

I just upgraded to GNU Emacs 18.54 last week and am experiencing
an annoying problem, which I wonder if anyone else has any
insights on. Every few minutes my status line stops displaying
the time (and mail notification). The loadst program disappears
from the process table. I have (display-time) near the end of my
.emacs file, and it starts fine when I come up. After it quits I
can do eval-expression (display-time) and it restarts. It appears
in the process table. Then it goes away again.

I never had any problem with this before. I can't absolutely
guarantee that I didn't do something inadvertent to change
something related in the course of making the upgrade. I did a
lot of work on my .emacs (248 lines -- too long to quote).

Any ideas anyone?

--
=================================================================
Lynn D. Newton		  | System Test
Motorola MCD, Tempe, AZ	  | (Department of Heuristic Methodology)
(602) 437-3739		  | "The bug stops here!"
lynn@rave.phx.mcd.mot.com |

wjc@ho5cad.ATT.COM (Bill Carpenter) (05/18/89)

In article <LYNN.89May16164517@rave.rave.phx.mcd.mot.com> lynn@rave.phx.mcd.mot.com (Lynn D. Newton) writes:
> I just upgraded to GNU Emacs 18.54 last week and am experiencing
> an annoying problem, which I wonder if anyone else has any
>  [loadst goes away, seems random]

I would guess you have a SysV-ish UNIX (#define USG).  See if your
loadst is going away when you hit control-G.  In GNUemacs, that's a
SIGINT, and it's killing your subprocesses.  This part of the 18.54
upgrade seems to be the culprit.  Change it so you *do* get the
setpgrp() for USG, and all will be well.  (At least I have seen no
problem after changing it back.  I must assume it was changed in the
first place to try to cure something, but I don't know what.)
--
   Bill Carpenter         att!ho5cad!wjc  or  attmail!bill

DON'T APPLY THIS PATCH!  THIS IS THE bad-for-USG BIT FROM THE 18.54
UPGRADE.  THIS IS NOT THE FIX FOR IT (do that manually).

diff -rc2N dist-18.53/src/callproc.c dist-18.54/src/callproc.c
*** dist-18.53/src/callproc.c	Wed Feb 15 22:36:20 1989
--- dist-18.54/src/callproc.c	Thu Apr  6 12:21:14 1989
***************
*** 374,383 ****
    close (err);
  
! #ifdef USG
!   setpgrp ();			/* No arguments but equivalent in this case */
! #else
    setpgrp (pid, pid);
- #endif /* USG */
    setpgrp_of_tty (pid);
  
  #ifdef vipc
--- 374,381 ----
    close (err);
  
! #ifndef USG
    setpgrp (pid, pid);
    setpgrp_of_tty (pid);
+ #endif /* USG */
  
  #ifdef vipc

msb@ho5cad.att.com (Mike Balenger) (05/18/89)

In article <WJC.89May17223304@ho5cad.ho5cad.ATT.COM> wjc@ho5cad.ATT.COM (Bill Carpenter) writes:
>  In article <LYNN.89May16164517@rave.rave.phx.mcd.mot.com> lynn@rave.phx.mcd.mot.com (Lynn D. Newton) writes:
>  > I just upgraded to GNU Emacs 18.54 last week and am experiencing
>  > an annoying problem, which I wonder if anyone else has any
>  >  [loadst goes away, seems random]

>  I would guess you have a SysV-ish UNIX (#define USG).  See if your
>  loadst is going away when you hit control-G.  In GNUemacs, that's a
>  SIGINT, and it's killing your subprocesses.

Others may have also noticed that their server, ispell, or pop-mail
stuff has gone away.  Same problem; same solution.

--
----------------------------------------------------------------------
<cute quote>            Michael S. Balenger             (201) 949-8789
<cute disclaimer>       AT&T Bell Labs
                        Room 1L-405
msb@ho5cad.att.com      Crawfords Corner Road
att!ho5cad!msb          Holmdel, NJ   07733

jr@bbn.com (John Robinson) (05/18/89)

In article <WJC.89May17223304@ho5cad.ho5cad.ATT.COM>, wjc@ho5cad (Bill Carpenter) writes:
>In article <LYNN.89May16164517@rave.rave.phx.mcd.mot.com> lynn@rave.phx.mcd.mot.com (Lynn D. Newton) writes:
>> I just upgraded to GNU Emacs 18.54 last week and am experiencing
>> an annoying problem, which I wonder if anyone else has any
>>  [loadst goes away, seems random]
>
>I would guess you have a SysV-ish UNIX (#define USG).  See if your
>loadst is going away when you hit control-G.  In GNUemacs, that's a
>SIGINT, and it's killing your subprocesses.  This part of the 18.54
>upgrade seems to be the culprit.

That's the most likely explanation.  I also used to see this on a Sun
(bsd).  The problem was an older version of mh-inc-folder-hook which
got a new mode-line string by signalling loadst.  I guess if the
signal from emacs crossed the timer interrupt in loadst, it could get
caught with its handler down.  The version of mh-inc-folder-hook which
justs does surgery on the mode-line string avoids this problem.
Another solution I thought of but never tried was to keep the pipe to
loadst open, and just push a newline through anytime emacs wanted a
mode-line update.  loadst would simply wait on a gets in its loop.
But surgery on the string within emacs is easier and faster.
--
/jr, nee John Robinson	 What a waste it is to lose one's mind--or not
jr@bbn.com or bbn!jr	  to have a mind.  How true that is. -Dan Quayle

tmb@wheaties.ai.mit.edu (Thomas M. Breuel) (05/19/89)

It's not just loadst that dies; the TeX-shell also goes away when you
type "^G". This is 18.54 on a System V/386 Release 3.2 system. Anybody
have a fix?