From owner-freebsd-bugs@FreeBSD.ORG Fri Nov 12 09:50:12 2010 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4ED2E1065673 for ; Fri, 12 Nov 2010 09:50:12 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 21F148FC28 for ; Fri, 12 Nov 2010 09:50:12 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id oAC9oBfG003143 for ; Fri, 12 Nov 2010 09:50:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id oAC9oBUp003142; Fri, 12 Nov 2010 09:50:11 GMT (envelope-from gnats) Date: Fri, 12 Nov 2010 09:50:11 GMT Message-Id: <201011120950.oAC9oBUp003142@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Bruce Evans Cc: Subject: Re: bin/152154: /bin/csh & /bin/tcsh improperly diddle termios flags X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Bruce Evans List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Nov 2010 09:50:12 -0000 The following reply was made to PR bin/152154; it has been noted by GNATS. From: Bruce Evans To: Bruce Evans Cc: "Ronald F.Guilmette" , freebsd-bugs@FreeBSD.org, FreeBSD-gnats-submit@FreeBSD.org Subject: Re: bin/152154: /bin/csh & /bin/tcsh improperly diddle termios flags Date: Fri, 12 Nov 2010 20:48:08 +1100 (EST) 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