Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!caip!rutgers!nike!ucbcad!ucbvax!RICE.EDU!rbbb From: rbbb@RICE.EDU (David Chase) Newsgroups: net.emacs Subject: Re: GNU Emacs hanging ... Message-ID: <770.rbbb.titan@Rice> Date: Sat, 18-Oct-86 21:32:26 EDT Article-I.D.: Rice.770.rbbb.titan Posted: Sat Oct 18 21:32:26 1986 Date-Received: Tue, 21-Oct-86 21:06:42 EDT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet Lines: 36 If you cannot wait for the fixes from Sun, you can avoid this problem by adding two sleeps to your code. The delay (1 second) is annoying, but it absolutely avoids the problem (I know; it has not happened to me even once since I did this, and that was at the beginning of the summer). The places to sleep: 1) when setting the terminal back to its original (non-emacs) state, insert a sleep AFTER you have sent the terminal-altering escape sequences, BEFORE you perform whatever stty's are necessary to set the terminal in its non-emacs state. 2) when setting the terminal into its emacs state, insert a sleep AFTER you perform any stty's, BEFORE you send any sequences to the terminal. Thus, you get something like: enter_emacs() { stty(...) sleep(1) terminal_init() } leave_emacs() { terminal_restore() sleep(1) stty(...) } The one second sleep is a bit heavy-handed, but it was easy, does the job, and isn't too offensive to users (especially after emacs has hung them up once or twice). This (hanging) happens a LOT if you are on a Sun 3 running Gosling emacs. David