Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/17/84; site godot.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!massar
From: massar@godot.UUCP (J.P. Massar)
Newsgroups: net.emacs
Subject: CCA Emacs/Elisp bug fix
Message-ID: <593@godot.UUCP>
Date: Sun, 9-Dec-84 17:13:35 EST
Article-I.D.: godot.593
Posted: Sun Dec  9 17:13:35 1984
Date-Received: Mon, 10-Dec-84 03:30:16 EST
Distribution: net
Organization: Thinking Machines, Cambridge, MA
Lines: 39

If one attempts to interrupt Emacs/Elisp by hitting C-G C-G while
Elisp is in the process of initializing, amazing and bizarre things
occur (at least here at TMC).  Emacs completely hangs and every minute
or so emits about 5 seconds of BEEP's...

Basically, Elisp is trying to handle the interrupt before it has been
initialized.  I have no explanation for the specific behavior I've
observed, but I have a fix.

The two files which need to be changed are elispinit.c and alone.c :

diff oldalone.c alone.c   (in alab_handle_user_interrupt)

69a70
> extern Bool initialization_complete;
2531a2533,2534
>         if (!initialization_complete) return(F);
>         

diff oldelispinit.c elispinit.c (in elisp_init)

73a74,75
> Bool initialization_complete;
> 
477a480,483
>         /* mask off interrupts from the user until initialization is done */
>         
>         initialization_complete = F;
>         
511a518,519
>         initialization_complete = T;
>         

caveat emptor:  There is no guarentee that this or any other bug fix 
will be incorporated into the next version of CCA Emacs.

JP Massar
ihnp4!godot!massar
massar@cca-unix