*BSD News Article 15515


Return to BSD News archive

Newsgroups: comp.os.386bsd.bugs
Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!elroy.jpl.nasa.gov!decwrl!netcomsv!netcom.com!alm
From: alm@netcom.com (Andrew Moore)
Subject: termios IEXTEN broken? (^V^D == ^D or nothing)
Message-ID: <almC6G4G8.6vp@netcom.com>
Organization: NETCOM On-line Communication Services (408 241-9760 guest)
Date: Mon, 3 May 1993 10:14:32 GMT
Lines: 17

When reading terminal input in line-discipline mode (ICANON | IEXTEN),
the EOF character (^D) is not properly treated when preceded by the
LNEXT character (^V).

If I want to signal end-of-file, I type ^D.
But if I want to enter a literal ^D character, I should be able to
type ^V^D.  ^D is masked from signaling end-of-file only until  a newline
is entered.  Then ^D seems to be reinterpreted (as end-of-file).
Under SunOS, ^V^D behaves as a literal ^D, as it should.

The behavior under 386BSD can be particuarly annoying when multiple ^Ds
are stacked up on a line -  typically, first the application and then
the shell are terminated.  This can be illustrated in , say, bc:
$ set ignoreeof
$ bc
^V^D^V^D^V^D^J
-Andrew Moore <alm@netcom.com>