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

Re: PATCH: was: oops, a set -x



In article <199911231412.PAA09062@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
  Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx> writes:

> However, I have *not* change _telnet because, as I said, I don't have
> a version with these options. Tanaka, could you...? If I'm not
> completely mistaken it should just make it much simpler.

In reality, I don't have such telnet too.  So, I test _telnet with
following function.  I think _arguments works well.

telnet () {
  print -r - \
'Usage: telnet [-8] [-E] [-K] [-L] [-N] [-S tos] [-X atype] [-a] [-c] [-d]
	[-e char] [-k realm] [-l user] [-f/-F] [-n tracefile] [-noasynch] [-noasynctty]
	[-noasyncnet] [-r] [-s src_addr] [-t transcom] [host-name [port]]' >&2
}

Index: Completion/User/_telnet
===================================================================
RCS file: /projects/zsh/zsh/Completion/User/_telnet,v
retrieving revision 1.1.1.11
diff -u -r1.1.1.11 _telnet
--- Completion/User/_telnet	1999/11/22 13:31:19	1.1.1.11
+++ Completion/User/_telnet	1999/11/23 15:28:53
@@ -8,7 +8,7 @@
 local curcontext="$curcontext" state line expl
 typeset -A opt_args
 
-if (( ! $+_telnet_short )); then
+if (( ! $+_telnet_args )); then
   local k help="$(telnet -\? < /dev/null 2>&1)"
   local -A optionmap
   optionmap=( "[-8]" '-8[allow 8-Bit data]' \
@@ -30,34 +30,21 @@
               "[-r]" '-r[rlogin like user interface]' \
               "[-s src_addr]" '-s+[set source IP address]:src_addr:' \
               "[-x]" '-x' \
-              "[-t transcom]" '-t+:transcom:' )
-
-  _telnet_short=()
-  for k in ${(k)optionmap}
-  do
-    [[ "$help" = *"$k"* ]] &&
-      _telnet_short=( "$_telnet_short[@]" "$optionmap[$k]" )
-  done
-
-  # _arguments cannot handle following three options.
-  optionmap=( "[-noasynch]" '-noasynch' \
+              "[-t transcom]" '-t+:transcom:' \
+              "[-noasynch]" '-noasynch' \
               "[-noasyncnet]" '-noasyncnet' \
               "[-noasynctty]" '-noasynctty' )
 
-  _telnet_long=()
+  _telnet_args=()
   for k in ${(k)optionmap}
   do
     [[ "$help" = *"$k"* ]] &&
-      _telnet_long=( "$_telnet_long[@]" "$optionmap[$k]" )
+      _telnet_args=( "$_telnet_args[@]" "$optionmap[$k]" )
   done
 fi
 
-(( $#_telnet_long )) && _wanted options expl option &&
-   { ! _style options prefix-needed || [[ "$PREFIX" = [-+]* ]] } &&
-    _describe -o option _telnet_long "$expl[@]"
-
 _arguments -C -s \
-  "$_telnet_short[@]" \
+  "$_telnet_args[@]" \
   ':host:->hosts' \
   ':port:->ports'
 
-- 
Tanaka Akira



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