[gnu.emacs.bug] Suspending Emacs in a shelltool

squash@BOSCO.BERKELEY.EDU (09/03/89)

(Running version 18.51.1 of  GNU Emacs.)

[NB.  I think I am reporting a possible defect in Suntools, not a bug in Emacs.]


I use  Suntools  on a Sun terminal and envoke Emacs in a Shelltool window by
putting

  shelltool  -Wp  460   0 -Ws 692 891 -WP  256   0  emacs -funcall rmail

in my .suntools file.  My .login calls the  suntools  command.

If, when in Emacs, I accidentally hit C-z (bound to suspend-emacs) my cursor
jumps to the minibuffer location of the Shelltool window and the Shelltool
window seems dead (it echos keyboard input, but seems to execute no commands:
 C-q  and  C-]  and  M-x  do nothing other than echo.)
	The only way out that I have found is to kill the window (using the
mouse to pull down the Quit command) and call my shelltool again.  
	At one time I used the Emacstool command and my memory is that it too
fell victim to  C-z


A candidate solution to the problem is to put into the  .emacs  init file

  ; Prevent C-z from suspending Emacs in a shelltool window (it never recovers).
  ; The .login file sets the SUNTOOLSYES environment variable.
  (if (string= "yes" (getenv "SUNTOOLSYES")) (global-unset-key ""))

which is what I have done.  Is this an appropriate solution?

			jonathan king

mike@octel.UUCP (Michael D. Crawford) (09/06/89)

In article <8909030902.AA03052@purina> squash@BOSCO.BERKELEY.EDU writes:
>(Running version 18.51.1 of  GNU Emacs.)
>
>[NB.  I think I am reporting a possible defect in Suntools, not a bug in Emacs.]
>
>If, when in Emacs, I accidentally hit C-z (bound to suspend-emacs) my cursor
>jumps to the minibuffer location of the Shelltool window and the Shelltool
>window seems dead (it echos keyboard input, but seems to execute no commands:
> C-q  and  C-]  and  M-x  do nothing other than echo.)
>	The only way out that I have found is to kill the window (using the
>mouse to pull down the Quit command) and call my shelltool again.  

I have had the same problem.  Note that emacstool runs emacs as a subprocess.
Use ps to find the process ID (pid) of the emacs (not emacstool) process, and 
use the command

kill -CONT pid

to make it continue.  I agree that emacs ought to have a flag to disable the
suspend-emacs key binding when under a window system.
-- 
Michael David Crawford			Consulting for:
Oddball Enterprises			Octel Communications Corp
694 Nobel Drive				890 Tasman Drive
Santa Cruz, CA 95060			Milpitas CA 95035
pyramid!vsi1,!octel!mike
CI$ 72377,623

Ain't got no cache, ain't no file, ain't got no disk to make you smile,
Don`t worry, be happy!

mdb@ESD.3Com.COM (Mark D. Baushke) (09/07/89)

In article <39@octel.UUCP> mike@octel.UUCP (Michael D. Crawford) writes:
mike> In article <8909030902.AA03052@purina> squash@BOSCO.BERKELEY.EDU writes:
>(Running version 18.51.1 of  GNU Emacs.)
>
> [...problem hitting C-z causing emacs to be suspended...]

mike> I have had the same problem.  Note that emacstool runs emacs as
mike> a subprocess.  Use ps to find the process ID (pid) of the emacs
mike> (not emacstool) process, and use the command

mike> kill -CONT pid

mike> to make it continue.  I agree that emacs ought to have a flag to
mike> disable the suspend-emacs key binding when under a window
mike> system.

The 'flag' you desire already exists.

If you press a mouse button in early versions of Emacstool, it causes
(among other things) the emacstool-init function to be called which
will disable any key bound to suspend-emacs (look in
$EMACS/lisp/term/sun.el for more info).

If you get a more recent version of GNU Emacs (18.5[45]), you will
find that the new Emacstool will cause the emacstool-init function to
be called without needing you to press a mouse button (the new
Emacstool sets a global variable IN_EMACSTOOL=t and the new sun.el
looks for this and does an emacstool-init).

Enjoy!
--
Mark D. Baushke
Internet:   mdb@ESD.3Com.COM
UUCP:	    {3comvax,auspex,sun}!bridge2!mdb