Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Nov 2010 20:48:08 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        freebsd-bugs@FreeBSD.org, FreeBSD-gnats-submit@FreeBSD.org, "Ronald F.Guilmette" <rfg@tristatelogic.com>
Subject:   Re: bin/152154: /bin/csh & /bin/tcsh improperly diddle termios flags
Message-ID:  <20101112203734.F1271@besplex.bde.org>
In-Reply-To: <20101112202011.E1172@besplex.bde.org>
References:  <20101112010210.87641BDC46@segfault.tristatelogic.com> <20101112202011.E1172@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 12 Nov 2010, Bruce Evans wrote:

> On Thu, 11 Nov 2010, Ronald F.Guilmette wrote:
>
>>> Description:
>> 
>> Apparently, /bin/csh (aka /bin/tcsh) is diddling termios flags, in 
>> particular
>> the ECHO flag, for no apparently good reason and without ever even having

Perhaps I shouldn't have replied to this, since my ISP was blacklisted.

>> ...
>> P.S.  Strangely, when you run /usr/bin/script with SHELL set to /bin/tcsh
>> and when you then run a program from the tcsh command prompt, that program
>> will see a properly set group of termios bitflags, e.g. when and if it
>> calls tcgetattr().
>
> This also happens with at least bash, since bash is careful to virtualize
> the terminal state by context switching it to a different value only
> while in its line editor.
> ...

PS: probably starting the subshell in non-line-editing-mode would work, but
this is no good in general since you want the subshell to run in normal
mode.  I don't know how to force non-line-editing-mode, especially using
$SHELL.  script even starts the shell with -i, which tends to imply line
editing mode.

I just remembered a related problem.  I often mistype command lines,
or do complicated editing of them involving many backspaces and other
control characters to move around or search history.  script makes a
mess of this by showing all the control characters, even without -k.
The only way to handle this right might be to have the line editor in
script itself, or perhaps just between the kernel and script (the ile
utility might work for this).

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20101112203734.F1271>