Package: tcsh
Version: 6.21.00-1.1
Severity: normal

Dear Maintainer,

First bug report.

I suspect there's a bug with filename substitution when brackets name[X-Y] are 
used.  

The expected behaviour is:
  nameX, ....., nameY

I'm seeing:
  name0, ...., nameY

To reproduce the bug:

  ~>tcsh -fc "ls -dc /etc/rc[2-5].d"
  /etc/rc0.d  /etc/rc1.d        /etc/rc2.d  /etc/rc3.d  /etc/rc4.d  /etc/rc5.d
  ^^^^^^^^^^^^^^^^^^^^^^^
      incorrect

This is the correct behavior using csh

  ~>csh -fc "ls -dc /etc/rc[2-5].d"
  /etc/rc2.d  /etc/rc3.d        /etc/rc4.d  /etc/rc5.d

I've reproduced this bug on multiple debian machines running:
  tcsh 6.21.00 (Astron) 2019-05-08 (x86_64-unknown-linux) options 
wide,nls,dl,al,kan,sm,rh,nd,color,filec

The older verion gives the correct behavior:
  tcsh 6.20.00 (Astron) 2016-11-24 (x86_64-unknown-linux) options 
wide,nls,dl,al,kan,sm,rh,nd,color,filec

-- System Information:
Debian Release: 11.10
  APT prefers oldstable-debug
  APT policy: (500, 'oldstable-debug'), (500, 'oldstable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-30-amd64 (SMP w/40 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages tcsh depends on:
ii  libc6      2.31-13+deb11u10
ii  libcrypt1  1:4.4.18-4
ii  libtinfo6  6.2+20201114-2+deb11u2

tcsh recommends no packages.

tcsh suggests no packages.

-- Configuration Files:
/etc/csh.cshrc changed:
exit
if ($?tcsh && $?prompt) then
        bindkey "\e[1~" beginning-of-line # Home
        bindkey "\e[7~" beginning-of-line # Home rxvt
        bindkey "\e[2~" overwrite-mode    # Ins
        bindkey "\e[3~" delete-char       # Delete
        bindkey "\e[4~" end-of-line       # End
        bindkey "\e[8~" end-of-line       # End rxvt
        set autoexpand
        set autolist
        set prompt = "%U%m%u:%B%~%b%# "
endif
set dir=/etc/csh/cshrc.d
if (-e $dir && `/bin/ls $dir` != "") then
  foreach FILE (`/bin/ls $dir/*`)
    source $FILE;
  end;
endif


-- no debconf information

Reply via email to