Bug 140557 - ports shells/44bsd-csh ESC file completion and ^D (view choices) broken in 8.0 RC3
Summary: ports shells/44bsd-csh ESC file completion and ^D (view choices) broken in 8....
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Cy Schubert
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-14 16:40 UTC by Frank Durda IV
Modified: 2011-07-05 05:10 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Frank Durda IV freebsd_committer freebsd_triage 2009-11-14 16:40:00 UTC
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)
Comment 1 Mark Linimon freebsd_committer freebsd_triage 2009-11-14 17:05:02 UTC
Responsible Changed
From-To: freebsd-bugs->freebsd-ports-bugs

ports PR.
Comment 2 Shaun Amott freebsd_committer freebsd_triage 2010-09-09 21:42:45 UTC
Responsible Changed
From-To: freebsd-ports-bugs->shaun

I'll take a look at this.
Comment 3 Martin Wilke freebsd_committer freebsd_triage 2011-06-25 10:24:12 UTC
State Changed
From-To: open->closed

y
Comment 4 Mark Linimon freebsd_committer freebsd_triage 2011-06-30 03:59:29 UTC
State Changed
From-To: closed->open

Reopen, via text from misfiled PR ports/158294: 

Date: Sat, 25 Jun 2011 11:03:43 -0500 (CDT) 
Comment 5 Shaun Amott freebsd_committer freebsd_triage 2011-06-30 14:17:20 UTC
On Thu, Jun 30, 2011 at 03:00:17AM +0000, linimon@FreeBSD.org wrote:
> Synopsis: ports shells/44bsd-csh ESC file completion and ^D (view choices) broken in 8.0 RC3
> 
> State-Changed-From-To: closed->open
> State-Changed-By: linimon
> State-Changed-When: Thu Jun 30 02:59:29 UTC 2011
> State-Changed-Why: 
> Reopen, via text from misfiled PR ports/158294:
> 
> Date: Sat, 25 Jun 2011 11:03:43 -0500 (CDT)
> From: uhclem.jun11@nemesis.lonestar.org
> To: bug-followup@FreeBSD.org
> Cc: uhclem@freebsd.org
> Subject: Re: ports/140557: shells/44bsd-csh ESC file completion and ^D (view choices) broken in 8.0 RC3
> 
>  Has this been fixed or just quietly closed?
>  

Unfortunately, I've been sat on this PR for a while and haven't had a
much of a chance to look into it.

I believe the PR was closed because the port was deprecated, and
eventually expired. Someone has since restored it though.

I'll have a look if I get time.

-- 
Shaun Amott // PGP: 0x6B387A9A
"A foolish consistency is the hobgoblin
of little minds." - Ralph Waldo Emerson
Comment 6 Mark Linimon freebsd_committer freebsd_triage 2011-07-04 03:37:46 UTC
Responsible Changed
From-To: shaun->cy

Over to new maintainer.
Comment 7 Cy Schubert freebsd_committer freebsd_triage 2011-07-05 04:38:46 UTC
State Changed
From-To: open->closed

Fixed and committed.
Comment 8 dfilter service freebsd_committer freebsd_triage 2011-07-05 04:41:18 UTC
cy          2011-07-05 03:41:09 UTC

  FreeBSD ports repository

  Modified files:
    shells/44bsd-csh     Makefile 
  Added files:
    shells/44bsd-csh/files patch-file.c 
  Log:
  Fix file completion bug.
  
  PR:             140557
  
  Revision  Changes    Path
  1.21      +1 -0      ports/shells/44bsd-csh/Makefile
  1.1       +40 -0     ports/shells/44bsd-csh/files/patch-file.c (new)
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"