[comp.mail.mush] ^@ in compose mode

schaefer@ogicse.ogi.edu (Barton E. Schaefer) (09/07/90)

In article <1990Sep6.191142.2170@robobar.co.uk> ronald@robobar.co.uk (Ronald Khoo) writes:
} Is it just my setup, or does mush normally go into an infinite loop
} when you type a NUL at the builtin mail composition editor?

I don't know if it's just your setup, but mush normally ignores NUL when
it appears anywhere on standard input, in the mail composition editor or
anywhere else.  Code fragment:

    while ((c = getchar()) == 0)    /* Ignore NUL chars from stdin */
	;                           /* until better solution found */
    return c;

This is because mush stores each line of standard input in a standard C
string, so reading and storing a NUL would improperly truncate the string.
Was anything else involved here, e.g. were you using a macro or editing a
previously typed line with ~u ?
-- 
Bart Schaefer						schaefer@cse.ogi.edu

ronald@robobar.co.uk (Ronald Khoo) (09/07/90)

Is it just my setup, or does mush normally go into an infinite loop
when you type a NUL at the builtin mail composition editor?
-- 
my .signature is on holiday

ronald@robobar.co.uk (Ronald S H Khoo) (09/08/90)

Barton E. Schaefer <schaefer@ogicse.ogi.edu>  writes:
> [ I wrote: ]
> } Is it just my setup, or does mush normally go into an infinite loop
> } when you type a NUL at the builtin mail composition editor?
> 
> I don't know if it's just your setup, but mush normally ignores NUL when
> it appears anywhere on standard input, in the mail composition editor or
> anywhere else.

It's nothing to do with mush, Bart.  Sorry to have bothered you.

The tty driver in SCO System V/386 3.2.0, with ISTRIP on will
match a 0x80 from the keyboard with the 0x0 that the suspend character
has been set to (ie. when not in use) and send a SIGTSTP to the process.

Now, can someone tell me whether this is right or wrong ?
What does BSD do in this case, and what does POSIX say ?

My mush binary was compiled under Xenix, which *doesn't* have
SIGTSTP, and I don't have a jobcontrol shell yet, so the process just
stopped where it was. :-)
I didn't notice the 'T' in the ps listing before -- I'm not
used to stopped processes in a System V format ps output :-)
-- 
my .signature is on holiday

brianm@sco.COM (Brian Moffet) (09/08/90)

> Barton E. Schaefer <schaefer@ogicse.ogi.edu>  writes:
> 
> It's nothing to do with mush, Bart.  Sorry to have bothered you.
> 
> The tty driver in SCO System V/386 3.2.0, with ISTRIP on will
> match a 0x80 from the keyboard with the 0x0 that the suspend character
> has been set to (ie. when not in use) and send a SIGTSTP to the process.

The SCO support department has all the info you need on this problem.
Contact them for a fix.  You might mention that you are running 3.2.0
and have encountered a Job Control related problem when you type ^@.

This has been fixed in 3.2 v 2.0.

brian moffet