Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

File name completion does'nt work well after executing 'delete-char-or-list'



Hello Maintainers.

I found a long-life bug which seemed to have survived since 2.6-beta12
was released. As I'm not a subscriber, please ask directly to me if
you have any question.

Version of zsh
==============

3.0.0

Description of Problem
======================

1. Make a directory named '/tmp/aaa'.

% mkdir /tmp/aaa

2. Make two files named '/tmp/aaa/aaa.1' and '/tmp/aaa/aaa.2'.

% touch /tmp/aaa/aaa.{1,2}

3. Type 'ls /tmp/aaa/'.

% ls /tmp/aaa/

4. Type ^D to list files.

% ls /tmp/aaa/[^D]
aaa.1   aaa.2 
% ls /tmp/aaa/
 
5. Type TAB to complete file name. This should produce following
result.

% ls /tmp/aaa/aaa.

But this inserts 4 spaces instead.

% ls /tmp/aaa/    
              ^^^^

Characters inserted may change, but anyway file name completion
does'nt work correctly.

Environment
===========

This problem happens on following environment

SunOS 4.1.{3,3C,3U1,4} with JLE (Japanese Language Environment)
Japanese Solaris 2.{3,4,5} for Sparc
FreeBSD 2.1.0-RELEASE

The output of 'reporter' on FreeBSD is included below. This output was 
made by executing

% CPP=/usr/libexec/cpp . /usr/ports/shells/zsh/work/zsh-3.0.0/Util/reporter > reporter.log

since it can't find cpp.

----------------------------------------------------------------------
# START zsh saveset
# uname:  FreeBSD trump 2.1.0-RELEASE FreeBSD 2.1.0-RELEASE #0: Sat Apr 27 15:21:52 JST 1996     root@trump:/usr/src/sys/compile/TRUMP  i386

# Aliases.

alias dir='ls -AFgl'
alias la='ls -AF'
alias lg='ls -Fgl'
alias ll='ls -Fl'
alias ls='ls -F'
alias ne='mule -nw'
alias po=popd
alias pu=pushd
alias run-help=man
alias which-command=whence

# Key bindings.

bindkey -r "^@"
bindkey -r "^A"
bindkey -r "^B"
bindkey -r "^C"
bindkey -r "^D"
bindkey -r "^E"
bindkey -r "^F"
bindkey -r "^G"
bindkey -r "^H"
bindkey -r "^I"
bindkey -r "^J"
bindkey -r "^K"
bindkey -r "^L"
bindkey -r "^M"
bindkey -r "^N"
bindkey -r "^O"
bindkey -r "^P"
bindkey -r "^Q"
bindkey -r "^R"
bindkey -r "^S"
bindkey -r "^T"
bindkey -r "^U"
bindkey -r "^V"
bindkey -r "^W"
bindkey -r "^X"
bindkey -r "^Y"
bindkey -r "^Z"
bindkey -r "\e"
bindkey -r "^_"
bindkey -r "^?"
bindkey -r "^X^B"
bindkey -r "^X^F"
bindkey -r "^X^J"
bindkey -r "^X^K"
bindkey -r "^X^N"
bindkey -r "^X^O"
bindkey -r "^X^U"
bindkey -r "^X^V"
bindkey -r "^X^X"
bindkey -r "^X*"
bindkey -r "^XG"
bindkey -r "^Xg"
bindkey -r "^Xr"
bindkey -r "^Xs"
bindkey -r "^Xu"
bindkey -r "\e^D"
bindkey -r "\e^G"
bindkey -r "\e^H"
bindkey -r "\e^I"
bindkey -r "\e^J"
bindkey -r "\e^L"
bindkey -r "\e^M"
bindkey -r "\e^_"
bindkey -r "\e "
bindkey -r "\e!"
bindkey -r "\e\\""
bindkey -r "\e$"
bindkey -r "\e'"
bindkey -r "\e-"
bindkey -r "\e."
bindkey -r "\e0"
bindkey -r "\e1"
bindkey -r "\e2"
bindkey -r "\e3"
bindkey -r "\e4"
bindkey -r "\e5"
bindkey -r "\e6"
bindkey -r "\e7"
bindkey -r "\e8"
bindkey -r "\e9"
bindkey -r "\e<"
bindkey -r "\e>"
bindkey -r "\e?"
bindkey -r "\eA"
bindkey -r "\eB"
bindkey -r "\eC"
bindkey -r "\eD"
bindkey -r "\eF"
bindkey -r "\eG"
bindkey -r "\eH"
bindkey -r "\eL"
bindkey -r "\eN"
bindkey -r "\eP"
bindkey -r "\eQ"
bindkey -r "\eS"
bindkey -r "\eT"
bindkey -r "\eU"
bindkey -r "\eW"
bindkey -r "\e[A"
bindkey -r "\e[B"
bindkey -r "\e[C"
bindkey -r "\e[D"
bindkey -r "\e_"
bindkey -r "\ea"
bindkey -r "\eb"
bindkey -r "\ec"
bindkey -r "\ed"
bindkey -r "\ef"
bindkey -r "\eg"
bindkey -r "\eh"
bindkey -r "\el"
bindkey -r "\en"
bindkey -r "\ep"
bindkey -r "\eq"
bindkey -r "\es"
bindkey -r "\et"
bindkey -r "\eu"
bindkey -r "\ew"
bindkey -r "\ex"
bindkey -r "\ey"
bindkey -r "\ez"
bindkey -r "\e|"
bindkey -r "\e^?"

bindkey "^@"	set-mark-command
bindkey "^A"	beginning-of-line
bindkey "^B"	backward-char
bindkey "^C"	undefined-key
bindkey "^D"	delete-char-or-list
bindkey "^E"	end-of-line
bindkey "^F"	forward-char
bindkey "^G"	send-break
bindkey "^H"	backward-delete-char
bindkey "^I"	expand-or-complete
bindkey "^J"	accept-line
bindkey "^K"	kill-line
bindkey "^L"	clear-screen
bindkey "^M"	accept-line
bindkey "^N"	down-line-or-history
bindkey "^O"	accept-line-and-down-history
bindkey "^P"	up-line-or-history
bindkey "^Q"	push-line
bindkey "^R"	history-incremental-search-backward
bindkey "^S"	history-incremental-search-forward
bindkey "^T"	transpose-chars
bindkey "^U"	kill-whole-line
bindkey "^V"	quoted-insert
bindkey "^W"	backward-kill-word
bindkey "^X"	prefix
bindkey "^Y"	yank
bindkey "^Z"	undefined-key
bindkey "\e"	prefix
bindkey "^_"	undo
bindkey "^?"	backward-delete-char
bindkey "^X^B"	vi-match-bracket
bindkey "^X^F"	vi-find-next-char
bindkey "^X^J"	vi-join
bindkey "^X^K"	kill-buffer
bindkey "^X^N"	infer-next-history
bindkey "^X^O"	overwrite-mode
bindkey "^X^U"	undo
bindkey "^X^V"	vi-cmd-mode
bindkey "^X^X"	exchange-point-and-mark
bindkey "^X*"	expand-word
bindkey "^XG"	list-expand
bindkey "^Xg"	list-expand
bindkey "^Xr"	history-incremental-search-backward
bindkey "^Xs"	history-incremental-search-forward
bindkey "^Xu"	undo
bindkey "\e^D"	list-choices
bindkey "\e^G"	send-break
bindkey "\e^H"	backward-kill-word
bindkey "\e^I"	self-insert-unmeta
bindkey "\e^J"	self-insert-unmeta
bindkey "\e^L"	clear-screen
bindkey "\e^M"	self-insert-unmeta
bindkey "\e^_"	copy-prev-word
bindkey "\e "	expand-history
bindkey "\e!"	expand-history
bindkey "\e\\""	quote-region
bindkey "\e$"	spell-word
bindkey "\e'"	quote-line
bindkey "\e-"	neg-argument
bindkey "\e."	insert-last-word
bindkey "\e0"	digit-argument
bindkey "\e1"	digit-argument
bindkey "\e2"	digit-argument
bindkey "\e3"	digit-argument
bindkey "\e4"	digit-argument
bindkey "\e5"	digit-argument
bindkey "\e6"	digit-argument
bindkey "\e7"	digit-argument
bindkey "\e8"	digit-argument
bindkey "\e9"	digit-argument
bindkey "\e<"	beginning-of-buffer-or-history
bindkey "\e>"	end-of-buffer-or-history
bindkey "\e?"	which-command
bindkey "\eA"	accept-and-hold
bindkey "\eB"	backward-word
bindkey "\eC"	capitalize-word
bindkey "\eD"	kill-word
bindkey "\eF"	forward-word
bindkey "\eG"	get-line
bindkey "\eH"	run-help
bindkey "\eL"	down-case-word
bindkey "\eN"	history-search-forward
bindkey "\eP"	history-search-backward
bindkey "\eQ"	push-line
bindkey "\eS"	spell-word
bindkey "\eT"	transpose-words
bindkey "\eU"	up-case-word
bindkey "\eW"	copy-region-as-kill
bindkey "\e[A"	up-line-or-history
bindkey "\e[B"	down-line-or-history
bindkey "\e[C"	forward-char
bindkey "\e[D"	backward-char
bindkey "\e_"	insert-last-word
bindkey "\ea"	accept-and-hold
bindkey "\eb"	backward-word
bindkey "\ec"	capitalize-word
bindkey "\ed"	kill-word
bindkey "\ef"	forward-word
bindkey "\eg"	get-line
bindkey "\eh"	run-help
bindkey "\el"	down-case-word
bindkey "\en"	history-search-forward
bindkey "\ep"	history-search-backward
bindkey "\eq"	push-line
bindkey "\es"	spell-word
bindkey "\et"	transpose-words
bindkey "\eu"	up-case-word
bindkey "\ew"	copy-region-as-kill
bindkey "\ex"	execute-named-cmd
bindkey "\ey"	yank-pop
bindkey "\ez"	execute-last-named-cmd
bindkey "\e|"	vi-goto-column
bindkey "\e^?"	backward-kill-word

# Completions.

compctl -b bindkey
compctl -c builtin
compctl -v export
compctl -o setopt
compctl -v typeset
compctl -v unset
compctl -o unsetopt
compctl -v vared
compctl -c which
compctl -C -c
compctl -D -f
compctl -T

# Undefined functions.


# Defined functions.


# Limits.

limit datasize        64MB
limit stacksize       8MB
limit memoryuse       14MB
limit memorylocked    9MB
limit maxproc         40
limit descriptors     64

# Non-array variables.

TERMCAP='kterm|kterm kanji terminal emulator (X window system):hs:es:ts=\E[?E\E[?%i%dT:fs=\E[?F:ds=\E[?H:KJ:sc=\E7:rc=\E8:cs=\E[%i%d;%dr:TY=ascii:li#53:is=\E>\E[?1;3;4;5l\E[?7;8h\E[1;65r\E[65;1H:rs=\E>\E[?1;3;4;5l\E[?7;8h:@7=\E[4~:kh=\E[1~:kI=\E[2~:k0=\E[10~:kD=\E[3~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:k;=\E[21~:F1=\E[23~:F2=\E[24~:kP=\E[5~:kN=\E[6~:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:K5=\EOs:al=\E[L:dl=\E[M:im=\E[4h:ei=\E[4l:mi:dc=\E[P:AL=\E[%dL:DL=\E[%dM:DC=\E[%dP:do=\E[B:cl=\E[H\E[J:sf=\ED:as=\E(0:ae=\E(B:cm=\E[%i%d;%dH:nd=\E[C:up=\E[A:nw=\EE:ce=\E[K:cd=\E[J:so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:md=\E[1m:mr=\E[7m:mb=\E[5m:me=\E[m:sr=\EM:UP=\E[%dA:DO=\E[%dB:RI=\E[%dC:LE=\E[%dD:ct=\E[3g:st=\EH:co#80:le=^H:bs:am:if=/usr/share/tabset/vt100:ac=llmmkkjjuuttvvwwqqxxnnpprr``aa:ks=\E[?1h\E=:ke=\E[?1l\E>:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=\177:ho=\E[H:pt:vt#3:xn:ta=^I:ms:bl=^G:cr=^M:eo:it#8:ut:'
TERM='kterm'
\'#\'="0"
\'$\'="9470"
\'?\'="0"
ARGC="0"
AWK="awk"
BAUD="9600"
CC_DEF_PATH="/home/yasu/lib/X11/ccdef"
CDPATH="\'\'"
COLUMNS="80"
CPP="/usr/libexec/cpp"
DISPLAY=":0.0"
EGID="1000"
ERRNO="0"
EUID="1000"
FCEDIT="vi"
FIGNORE="\'\'"
FPATH="\'\'"
GID="1000"
HISTCHARS="\'!^#\'"
HISTSIZE="30"
HOME="/home/yasu"
HOST="trump"
KEYTIMEOUT="40"
LANG="ja_JP.EUC"
LESSCHARSET="japanese-ujis"
LINENO="329"
LINES="53"
LISTMAX="100"
LOGCHECK="60"
LOGNAME="yasu"
MACHTYPE="i386"
MAILCHECK="60"
MAILPATH="\'\'"
MANPATH="\'\'"
NULLCMD="cat"
OLDPWD="/home/yasu"
OPTARG="\'\'"
OPTIND="1"
OSTYPE="freebsd2.1.0"
PAGER="less"
PATH="/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/home/yasu/bin:/sbin:/usr/sbin"
POSTEDIT="\'\'"
PPID="9468"
PROMPT="\'%n@%m[%h]%# \'"
PROMPT2="\'%_> \'"
PROMPT3="\'?# \'"
PROMPT4="\'+ \'"
PS1="\'%n@%m[%h]%# \'"
PS2="\'%_> \'"
PS3="\'?# \'"
PS4="\'+ \'"
PSVAR="\'\'"
PWD="/home/yasu/tmp"
RANDOM="8287"
READNULLCMD="more"
RPROMPT="\'\'"
RPS1="\'\'"
SECONDS="1162"
SHELL="/usr/local/bin/zsh"
SHLVL="2"
SPROMPT="\'zsh: correct \'\\'\'%R\'\\'\' to \'\\'\'%r\'\\'\' [nyae]? \'"
TIMEFMT="\'%J  %U user %S system %P cpu %*E total\'"
TMPPREFIX="/tmp/zsh"
TTY="/dev/ttyp1"
TTYIDLE="-1"
UID="1000"
USER="yasu"
USERNAME="yasu"
VENDOR="unknown"
WATCH="\'\'"
WATCHFMT="\'%n has %a %l from %m.\'"
WINDOWID="20971533"
WORDCHARS="\'*?_-.[]~=/&;!#$%^(){}<>\'"
ZSH_NAME="zsh"
ZSH_VERSION="3.0.0"
each="\'__LINE__"
histchars="\'!^#\'"
reporter_OSVersion="FreeBSD_2.1.0-RELEASE"
reporter_junkiequotes="no"
status="0"
str="\'FreeBSD trump 2.1.0-RELEASE FreeBSD 2.1.0-RELEASE #0: Sat Apr 27 15:21:52 JST 1996     root@trump:/usr/src/sys/compile/TRUMP  i386\'"
prompt='test%'

# Array variables.

argv=()
'*'=()
cdpath=()
fignore=()
fpath=()
mailpath=()
manpath=()
path=(/bin /usr/bin /usr/local/bin /usr/X11R6/bin /home/yasu/bin /sbin /usr/sbin)
psvar=()
signals=(EXIT HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO USR1 USR2 ZERR DEBUG)
watch=()

# Exported variables.

export TERMCAP
export TERM
export CC_DEF_PATH=/home/yasu/lib/X11/ccdef
export DISPLAY=:0.0
export HOME=/home/yasu
export LANG=ja_JP.EUC
export LESSCHARSET=japanese-ujis
export LOGNAME=yasu
export PAGER=less
export PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/home/yasu/bin:/sbin:/usr/sbin
export PWD=/home/yasu/tmp
export SHELL=/usr/local/bin/zsh
export SHLVL=2
export TERM=kterm
export USER=yasu
export WINDOWID=20971533

# Setopt.

setopt histignoredups
setopt ignoreeof
setopt listtypes
setopt pushdignoredups

# END zsh saveset

----------------------------------------------------------------------

---
Yasuhiro Kimura // yasu@xxxxxxxxxxxxxxxxxxxxx
Reserch Lab. III    Communication and Information System Labs.
Research and Developement Center    TOSHIBA CORPORATION



Messages sorted by: Reverse Date, Date, Thread, Author