about summary refs log tree commit diff
path: root/Completion/Unix/Command/_iconv
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2005-03-03 14:13:03 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2005-03-03 14:13:03 +0000
commit1b50dff802c0aa187c8947af9a017495e98c097a (patch)
tree6198308ec25a90a467e0f02de7788ac95fa5bc8d /Completion/Unix/Command/_iconv
parenteb8232757617f5de0a602f6de27cbc9c77d3447c (diff)
downloadzsh-1b50dff802c0aa187c8947af9a017495e98c097a.tar.gz
zsh-1b50dff802c0aa187c8947af9a017495e98c097a.tar.xz
zsh-1b50dff802c0aa187c8947af9a017495e98c097a.zip
20921: using UCS-4BE instead of ISO-10646 to identify character encoding
is more portable, find more encodings in iconv completion on Solaris
20924: make error message more specific
Diffstat (limited to 'Completion/Unix/Command/_iconv')
-rw-r--r--Completion/Unix/Command/_iconv4
1 files changed, 3 insertions, 1 deletions
diff --git a/Completion/Unix/Command/_iconv b/Completion/Unix/Command/_iconv
index e1528aec5..92fa17e34 100644
--- a/Completion/Unix/Command/_iconv
+++ b/Completion/Unix/Command/_iconv
@@ -1,7 +1,8 @@
 #compdef iconv
 
-local expl curcontext="$curcontext" state line codeset ret=1
+local expl curcontext="$curcontext" state line ret=1
 local LOCPATH="${LOCPATH:-/usr/lib/nls/loc}"
+local -U codeset
 
 if _pick_variant gnu=GNU unix --version; then
 
@@ -40,6 +41,7 @@ else
   if [[ $state = codeset ]]; then
     if [[ -f /usr/lib/iconv/iconv_data ]]; then  # IRIX & Solaris
       codeset=( ${${(f)"$(</usr/lib/iconv/iconv_data)"}%%[[:blank:]]*} )
+      codeset+=( /usr/lib/iconv/*%*.so(Ne.'reply=( ${${REPLY:t}%%%*} ${${REPLY:r}#*%} )'.) )
     elif [[ -d $LOCPATH/iconv ]]; then  # OSF
       codeset=( $LOCPATH/iconv/*(N:t) )
       codeset=( ${(j:_:s:_:)codeset} )