Your message dated Sat, 7 Oct 2006 04:33:53 -0400
with message-id <[EMAIL PROTECTED]>
and subject line forgot to close this
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: zsh
Version: 4.3.2-17
Severity: wishlist
Tags: patch

Hi,

Attached is a patch to update the completions for schroot and dchroot, and also
to add completions for dchroot-dsa.

Since I'm new to zsh, some parts of the patch might be suboptimal.  Feel free to
alter it.  The bit I'm not sure about is:

-  compadd ${${$(dchroot -l)[3,-1]%,}:#\[*\]} && ret=0
+  compadd $(echo ${$(dchroot -l)[3,-1]%,} | sed -e 's/\[//g' -e 's/\]//g' | 
sort | uniq)

The output of dchroot:

% dchroot -l
Available chroots: experimental, fake, sarge [stable, sarge-backports], sid 
[unstable, unstable-sbuild], sid-block [sid-block], sid-file, sid-file-source, 
sid-snap, sid-snap-source, testsnap, testsnap-source

The ,[] all need stripping, and duplicates need removing.  The old code assumes
there will only be one name in square brackets, but this is no longer the case.
I didn't find a way to do this with the zsh shell ${} operations.


Regards,
Roger

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (990, 'unstable')
Architecture: powerpc (ppc)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-1-powerpc
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)

Versions of packages zsh depends on:
ii  debconf [debconf-2.0]        1.5.5       Debian configuration management sy
ii  libc6                        2.3.6.ds1-4 GNU C Library: Shared libraries
ii  libncurses5                  5.5-4       Shared libraries for terminal hand

Versions of packages zsh recommends:
ii  libcap1                       1:1.10-14  support for getting/setting POSIX.
ii  libpcre3                      6.7-1      Perl 5 Compatible Regular Expressi

-- debconf information excluded
diff -urN zsh-4.3.2.original/Completion/Debian/Command/_dchroot 
zsh-4.3.2/Completion/Debian/Command/_dchroot
--- zsh-4.3.2.original/Completion/Debian/Command/_dchroot       2005-11-25 
09:45:33.000000000 +0000
+++ zsh-4.3.2/Completion/Debian/Command/_dchroot        2006-10-01 
21:48:22.030202507 +0100
@@ -1,18 +1,27 @@
 #compdef dchroot
 
-local curcontext="$curcontext" state line expl ret=1
+local expl context state line
+typeset -A opt_args
 
-_arguments -C \
-  '(-c -l -h -V)-a[execute in all known chroots]' \
-  '(-a -l -h -V)-c[execute in specified chroot]:chroot:->chroots' \
-  '(- *)-l[list available chroots]' \
-  '(-l)-d[preserve environment in chroot]' \
-  '(-h -l -V)-q[be quiet]' \
-  '(- *)-h[display help information]' \
-  '(- *)-V[display version information]' \
-  '*::args: _normal' && ret=0
+_arguments -S \
+       '(-h --help)'{-h,--help}'[help]' \
+       '(-a --all)'{-a,--all}'[select all chroots]' \
+       '*'{-c,--chroot=}'[use specified chroot]:chroot:->chroot' \
+       '(-d --directory)'{-d,--directory=}'[directory to use]:dir:_files -W / 
-P /' \
+       '(-l --list)'{-l,--list}'[list available chroots]' \
+       '(-i --info)'{-i,--info}'[show information about selected chroots]' \
+       '(-p --path)'{-p,--path}'[print path to selected chroot]' \
+       '--config[dump configuration of selected chroots]' \
+       '(-d --preserve-environment)'{-d,--preserve-environment}'[preserve user 
environment]' \
+       '(-q --quiet)'{-q,--quiet}'[quiet]' \
+       '(-v --verbose)'{-v,--verbose}'[verbose]' \
+       '(-V --version)'{-V,--version}'[version]' \
+       '(-):command name: _command_names -e' \
+       '*::arguments: _normal' && return 0
 
-[[ -n $state ]] && _wanted chroots expl chroot \
-    compadd ${${$(dchroot -l)[3,-1]%,}:#\[*\]} && ret=0
-
-return ret
+case "$state" in
+       (chroot)
+       _wanted tag expl 'chroot' \
+       compadd $(echo ${$(dchroot -l)[3,-1]%,} | sed -e 's/\[//g' -e 's/\]//g' 
| sort | uniq)
+       ;;
+esac
diff -urN zsh-4.3.2.original/Completion/Debian/Command/_dchroot-dsa 
zsh-4.3.2/Completion/Debian/Command/_dchroot-dsa
--- zsh-4.3.2.original/Completion/Debian/Command/_dchroot-dsa   1970-01-01 
01:00:00.000000000 +0100
+++ zsh-4.3.2/Completion/Debian/Command/_dchroot-dsa    2006-10-01 
21:49:02.110202507 +0100
@@ -0,0 +1,26 @@
+#compdef dchroot-dsa
+
+local expl context state line
+typeset -A opt_args
+
+_arguments -S \
+       '(-h --help)'{-h,--help}'[help]' \
+       '(-a --all)'{-a,--all}'[select all chroots]' \
+       '*'{-c,--chroot=}'[use specified chroot]:chroot:->chroot' \
+       '(-d --directory)'{-d,--directory=}'[directory to use]:dir:_files -W / 
-P /' \
+       '(-l --list)'{-l,--list}'[list available chroots]' \
+       '(-i --info)'{-i,--info}'[show information about selected chroots]' \
+       '(-p --listpaths)'{-p,--listpaths}'[print paths to available chroots]' \
+       '--config[dump configuration of selected chroots]' \
+       '(-q --quiet)'{-q,--quiet}'[quiet]' \
+       '(-v --verbose)'{-v,--verbose}'[verbose]' \
+       '(-V --version)'{-V,--version}'[version]' \
+       '(-):command name: _command_names -e' \
+       '*::arguments: _normal' && return 0
+
+case "$state" in
+       (chroot)
+       _wanted tag expl 'chroot' \
+       compadd $(echo ${$(dchroot -l)[3,-1]%,} | sed -e 's/\[//g' -e 's/\]//g' 
| sort | uniq)
+       ;;
+esac
diff -urN zsh-4.3.2.original/Completion/Debian/Command/_schroot 
zsh-4.3.2/Completion/Debian/Command/_schroot
--- zsh-4.3.2.original/Completion/Debian/Command/_schroot       2006-02-27 
02:08:29.000000000 +0000
+++ zsh-4.3.2/Completion/Debian/Command/_schroot        2006-10-01 
21:45:06.762202507 +0100
@@ -5,30 +5,30 @@
 
 _arguments -S \
        '(-h --help)'{-h,--help}'[help]' \
-       '(-a --all)'{-a,--all}'[all chroots and active sessions]' \
-       '--all-chroots' \
-       '--all-sessions' \
-       '*'{-c,--chroot=}':chroot:->chroot' \
-       '(-u --user)'{-u,--user=}':user:_users' \
+       '(-a --all)'{-a,--all}'[select all chroots and active sessions]' \
+       '--all-chroots[select all chroots]' \
+       '--all-sessions[select all active sessions]' \
+       '*'{-c,--chroot=}'[use specified chroot]:chroot:->chroot' \
+       '(-d --directory)'{-d,--directory=}'[directory to use]:dir:_files -W / 
-P /' \
+       '(-u --user)'{-u,--user=}'[username (default current 
user)]:user:_users' \
        '(-l --list)'{-l,--list}'[list available chroots]' \
-       '(-i --info)'{-i,--info}'[print detailed information about specified 
chroots]' \
-       '--location[print location of specified  chroots]' \
-       '--config[print configuration of specified  chroots]' \
-       '(-p --preserve-environment)'{-p,--preserve-environment}'[preserve user 
environment within chroot]' \
+       '(-i --info)'{-i,--info}'[show information about selected chroots]' \
+       '--location[print location of selected chroots]' \
+       '--config[dump configuration of selected chroots]' \
+       '(-p --preserve-environment)'{-p,--preserve-environment}'[preserve user 
environment]' \
        '(-q --quiet)'{-q,--quiet}'[quiet]' \
        '(-v --verbose)'{-v,--verbose}'[verbose]' \
        '(-V --version)'{-V,--version}'[version]' \
-       '(-b --begin-session)'{-b,--begin-session}'[begin a session]' \
-       '--recover-session}[recover an existing session]' \
-       '(-e --end-session)'{-e,--end-session=}':session UUID:' \
-       '(-f --force)'{-f,--force}'[force a session operation]' \
+       '(-b --begin-session)'{-b,--begin-session}'[begin a session; returns a 
session ID]' \
+       '--recover-session[recover an existing session]' \
+       '(-e --end-session)'{-e,--end-session}'[end an existing session]' \
+       '(-f --force)'{-f,--force}'[force operation]' \
        '(-):command name: _command_names -e' \
        '*::arguments: _normal' && return 0
 
 case "$state" in
        (chroot)
        _wanted tag expl 'chroot' \
-         compadd $(schroot -l)
+         compadd $(schroot -l -a)
        ;;
-
 esac

--- End Message ---
--- Begin Message ---
Version: 4.3.2-19

Updates included.

--- End Message ---

Reply via email to