Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: zsh-3.0.3: another problem in Src/jobs.c
- X-seq: zsh-workers 3302
- From: suzuki@xxxxxxxxxxxxxx (SUZUKI Hisao)
- To: hzoli@xxxxxxxxxxxxxxxxxxx
- Subject: Re: zsh-3.0.3: another problem in Src/jobs.c
- Date: Tue, 24 Jun 97 20:56:54 JST
- Cc: zsh-workers@xxxxxxxxxxxxxxx
- In-reply-to: <199706240252.WAA04438@xxxxxxxxxx> (message from Zoltan Hidvegi on Mon, 23 Jun 1997 22:52:42 -0400 (EDT))
- Organization: Oki Technosystems Laboratory, Inc., Nagoya, Japan
>OK, here is an other patch.  When a process started in the background in
>the first place, zsh will ignore the tty settings it leaves after it
>exits, even if it is brought to the foreground afterwards.
>
>This should fix the emacs problem, and even the suspend/fg workaround
>will be unnecessary.
Thank you!  Now zsh works finely.  Indeed It is the better patch
for the present practically.
But it is somewhat incomplete.  Try this:
	% emacs -nw
	[type ^Z to suspend emacs]
	% bg
	% fg
	[type ^X^C to terminate emacs]
You will see that the bg command needs a fix, too.  The
following is it:
*** zsh-3.0.4/Src/builtin.c~	Mon Jun 23 14:12:46 1997
--- zsh-3.0.4/Src/builtin.c	Tue Jun 24 19:56:35 1997
***************
*** 601,606 ****
--- 601,607 ----
  	case BIN_FG:
  	case BIN_BG:
  	case BIN_WAIT:
+ 	    if (func == BIN_BG) jobtab[job].stat |= STAT_NOSTTY;
  	    if ((stopped = (jobtab[job].stat & STAT_STOPPED)))
  		makerunning(jobtab + job);
  	    else if (func == BIN_BG) {
By the way, bash, tcsh and the old zsh-2.3.1 do well on the
above example, too.  They seem free from the emacs problem
entirely.  Moreover, zsh-2.3.1 does not ignore the stty changes
done by a job started in the background.  In spite of its many
bugs and shortcomings, the old zsh-2.3.1 seems very robust and
good in this particular respect... *sigh*
--
Hisao Suzuki <suzuki@xxxxxxxxxxxxxx>
Messages sorted by:
Reverse Date,
Date,
Thread,
Author