[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: unix-filename-rubout doesn't work
From: |
none |
Subject: |
Re: unix-filename-rubout doesn't work |
Date: |
Tue, 10 Aug 2004 18:28:50 -0000 |
In article <mailman.2620.1091560392.1960.bug-bash@gnu.org>,
Chet Ramey <chet@po.CWRU.Edu> wrote:
>> Machine Type: i686-pc-linux-gnu
>>
>> Bash Version: 3.0
>> Patch Level: 0
>>
>> Description:
>> My ~/.inputrc is
>> set editing-mode vi
>>
>> set keymap vi-insert
>> C-w: unix-filename-rubout
>>
>> set keymap vi-command
>> C-w: unix-filename-rubout
>>
>> And, C-w works in command mode, but doesn't work in insert mode. The
>> function rl_unix_filename_rubout() is the same as what I posted to
>> <comp.unix.shell>, and that worked in Bash-2.05b.
>
>This happens because bash maps the tty special characters (^C, ^W, ^U, ^V,
>and so on) to their bash equivalents every time readline is invoked.
>
>I implemented this in response to complaints that readline failed to notice
>changes made via `stty'. It's reasonable to have readline do what the user
>expects here.
[I posted a response to this a few days ago via Google, but it hasn't shown
up yet so I'm reposting].
It is, but unfortunately at least one of the special characters (^C) appears
to be ignored completely now. With or without a .inputrc, on both Tru64
and Solaris 2.8 (sparcv9, LP64) I can't get bash 3.0 to honor ^C.
On my Tru64 workstation, `stty -a' reports:
#2 disc;speed 38400 baud; 24 rows; 80 columns
erase = ^H; werase = ^W; kill = ^U; intr = ^C; quit = ^\; susp = ^Z
dsusp = <undef>; eof = ^D; eol = ^@; eol2 = ^@; stop = ^S; start = ^Q
lnext = ^V; discard = ^O; reprint = ^R; status = <undef>; time = 0
min = 1
-parenb -parodd cs8 -cstopb hupcl cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc
-ixon -ixany -ixoff -imaxbel
isig icanon -xcase echo echoe echok -echonl -noflsh -mdmbuf -nohang
-tostop echoctl -echoprt echoke -altwerase iexten -nokerninfo
opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel tabs -onoeot
bash-3.0 honors ^H, ^U, ^D, ^Z, but not ^C. It just completely ignores it.
Tim
--
Tim Mooney mooney@dogbert.cc.ndsu.NoDak.edu
Information Technology Services (701) 231-1076 (Voice)
Room 242-J6, IACC Building (701) 231-8541 (Fax)
North Dakota State University, Fargo, ND 58105-5164