From owner-freebsd-bugs@FreeBSD.ORG Sat Nov 14 16:40:01 2009 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 497D7106568D for ; Sat, 14 Nov 2009 16:40:01 +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 0C6FA8FC19 for ; Sat, 14 Nov 2009 16:40:01 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id nAEGe0vL036655 for ; Sat, 14 Nov 2009 16:40:00 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id nAEGe0M0036654; Sat, 14 Nov 2009 16:40:00 GMT (envelope-from gnats) Resent-Date: Sat, 14 Nov 2009 16:40:00 GMT Resent-Message-Id: <200911141640.nAEGe0M0036654@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Frank Durda IV Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 455EE106566C for ; Sat, 14 Nov 2009 16:35:23 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id 2A5DD8FC0C for ; Sat, 14 Nov 2009 16:35:23 +0000 (UTC) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id nAEGZMDx045393 for ; Sat, 14 Nov 2009 16:35:22 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id nAEGZMvt045392; Sat, 14 Nov 2009 16:35:22 GMT (envelope-from nobody) Message-Id: <200911141635.nAEGZMvt045392@www.freebsd.org> Date: Sat, 14 Nov 2009 16:35:22 GMT From: Frank Durda IV To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: misc/140557: ports shells/44bsd-csh ESC file completion and ^D (view choices) broken in 8.0 RC3 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 14 Nov 2009 16:40:01 -0000 >Number: 140557 >Category: misc >Synopsis: ports shells/44bsd-csh ESC file completion and ^D (view choices) broken in 8.0 RC3 >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Nov 14 16:40:00 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Frank Durda IV >Release: 8.0 RC3 (problem doesn't exist in 7.2 and earlier) >Organization: >Environment: FreeBSD walkoff.lonestar.org 8.0-RC3 FreeBSD 8.0-RC3 #0: Tue Nov 10 07:50:36 UT C 2009 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386 >Description: Freshly installed 8.0RC3, ports as provided on DVD ISO image. Build of 44bsd-csh shell completes with the typical warnings. However, once it is executed, the ESC for filename completion and the CTRL-D command for viewing available choices no longer works as it has for the previous ~30 years (since BSD 3.0). This shell worked as expected as recently as 7.2-RELEASE. (I don't know if it worked in any of the 8.0 development releases.) (For anyone suggesting that it is okay to leave this broken and that tcsh can be used instead, tcsh isn't entirely compatible with one specific behavior of real, original csh, so csh is still needed.) Specifics Problem #1 is that when a single ESC key is entered in a partly typed filename or directory name, csh will complete the name as far as it can be completed (as it has done previously), but now it appears to also silently erase or fail to reload the entire command into the input buffer, so if you then press ENTER, the result is that no command is executed at all, or you only get characters the human typed following the ESC. The history command also shows that the command that used ESC completion never occurred as far as it is concerned (or only was the characters typed after the ESC), despite what you see on the screen. Problem #2 is that if CTRL-D is used to show available choices in a partly-entered filename or directory name, the matching choices are shown, but then the command typed so far is no longer put back in the input buffer and redisplayed. You are just left at an empty command prompt. Both misbehaviors are easy to demonstrate, as shown below, and can be compared against previous csh behavior. >How-To-Repeat: Annotated script: (CTRL characters shown in square brackets) victim# set history=10[ENTER] victim# history[ENTER] .. 64 set history=10 65 history victim# pwd[ENTER] /tmp victim# cd /usr/lo[ESC]cal[ENTER] victim# pwd[ENTER] /tmp (NOTE THAT IT DIDN'T ACTUALLY CHANGE DIRECTORIES DESPITE PRESSING ENTER) victim# history[ENTER] .. 64 set history=10 65 history 66 pwd 67 pwd 68 history victim# date[ENTER] Sat Nov 14 09:58:51 CST 2009 victim# pwd[ENTER] /tmp victim# cd /usr/lo[ESC]cal[ENTER] victim# pwd[ENTER] /tmp (NOTE THAT IT DID'T ACTUALLY CHANGE DIRECTORIES AGAIN) victim# history[ENTER] 64 set history=10 65 history 66 pwd 67 pwd 68 h 69 date 70 pwd 71 pwd 72 history (NOTE "CD" COMMAND IS NOT LISTED IN HISTORY) victim# cd /usr/^D bin/ games/ include/ libdata/ local/ ports/ share/ tmp/ compat/ home/ lib/ libexec/ obj/ sbin/ src/ victim# (NOTE "cd /usr/" DIDN'T REDRAW AFTER LIST OF CHOICES AND YOU ARE LEFT AT AN EMPTY COMMAND PROMPT) >Fix: >Release-Note: >Audit-Trail: >Unformatted: