zsh-workers
 help / color / mirror / code / Atom feed
* Re: man completion and zftp problem
  1999-09-15 15:04 man completion and zftp problem Oliver Kiddle
@ 1999-09-15 14:56 ` Peter Stephenson
  0 siblings, 0 replies; 2+ messages in thread
From: Peter Stephenson @ 1999-09-15 14:56 UTC (permalink / raw)
  To: Zsh workers

Oliver Kiddle wrote:
> Finally, an unrelated thing which I have recently observed. If I use
> zfgoto to connect to an ftp site from my bookmarks and accidentally type
> the wrong password, the module saves my incorrect password in memory so,
> I then have to unload and reload the module before I can connect to the
> ftp site.

You can use `zfparams -' to unset the incorrect stored parameters; this has
been improved so that the function now unstores it's internal memory of the
directory etc.

But it does seem reasonable that a failed open won't leave the parameters
it used stored, whatever the error was.  I've changed it and documented
the fact.  (This should be transparent to zfgoto.)

--- Doc/Zsh/zftpsys.yo.zo	Wed Sep 15 16:50:19 1999
+++ Doc/Zsh/zftpsys.yo	Wed Sep 15 16:48:25 1999
@@ -105,7 +105,10 @@
 Normally, the var(host), var(user) and var(password) are internally
 recorded for later re-opening, either by a tt(zfopen) with no arguments, or
 automatically (see below).  With the option `tt(-1)', no information is
-stored.
+stored.  Also, if an open command with arguments failed, the parameters
+will not be retained (and any previous parameters will also be deleted).
+A tt(zfopen) on its own, or a tt(zftopen -1), never alters the stored
+parameters.
 
 Both tt(zfopen) and tt(zfanon) (but not tt(zfparams)) understand URLs of
 the form tt(ftp://)var(host)/var(path...) as meaning to connect to the
--- Functions/Zftp/zfopen.zo	Fri Sep 10 14:07:42 1999
+++ Functions/Zftp/zfopen	Wed Sep 15 16:50:32 1999
@@ -7,7 +7,7 @@
 
 emulate -L zsh
 
-local opt dir opt_1
+local opt dir opt_1 setparams
 
 while getopts :1 opt; do
   [[ $opt = "?" ]] && print "zfopen: bad option: -$OPTARG" >&2 && return 1
@@ -35,9 +35,13 @@
   fi
 else
   # set parameters, but only if there was at least a host
-  (( $# > 0 )) && zfparams $*
+  (( $# > 0 )) && zfparams $* && setparams=1
   # now call with no parameters
-  zftp open || return 1
+  if ! zftp open; then
+    [[ -n $ZFTP_HOST ]] && zftp close
+    [[ -n $setparams ]] && zfparams -
+    return 1
+  fi
 fi
 
 if [[ -n $dir ]]; then

-- 
Peter Stephenson <pws@ibmth.df.unipi.it>       Tel: +39 050 844536
WWW:  http://www.ifh.de/~pws/
Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy


^ permalink raw reply	[flat|nested] 2+ messages in thread

* man completion and zftp problem
@ 1999-09-15 15:04 Oliver Kiddle
  1999-09-15 14:56 ` Peter Stephenson
  0 siblings, 1 reply; 2+ messages in thread
From: Oliver Kiddle @ 1999-09-15 15:04 UTC (permalink / raw)
  To: Zsh workers

The man completion is also useful for whatis and apropos. I was going
to save this patch until I had a load more completion patches but I've
not had the time to do any more. Strictly speaking, apropos should
complete to words taken from all the whatis files but in the absence of
that, the same completion as man is useful.

Also below is my compdef completion which I wrote ages ago and never
finished. It probably needs a bit of tidying up, finishing and adjusting
to use other new functions like _arguments but until then, it's useful
as it is.

Finally, an unrelated thing which I have recently observed. If I use
zfgoto to connect to an ftp site from my bookmarks and accidentally type
the wrong password, the module saves my incorrect password in memory so,
I then have to unload and reload the module before I can connect to the
ftp site.

Oliver Kiddle


#compdef compdef

local func base=2

while [[ $words[base] = -* ]]; do
  case $words[base] in
    -d) delete=yes ;;
    -p) type=pattern ;;
    -k) type=key ;;
  esac  
  (( base++ ))
done

if [ "$delete" ]; then
  compadd ${(k)_comps}
else
  if [[ CURRENT -eq base  ]]; then
    for func in ${^~fpath:/.}/_(|*[^~])(N:t); compadd -P_ - ${func#_}
  else
    compgen -c
  fi
fi


*** Completion/User/_man.old	Wed Sep 15 15:30:16 1999
--- Completion/User/_man	Wed Sep 15 15:30:40 1999
***************
*** 1,4 ****
! #compdef man
  
  setopt localoptions rcexpandparam
  
--- 1,4 ----
! #compdef man apropos whatis
  
  setopt localoptions rcexpandparam


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~1999-09-15 15:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-09-15 15:04 man completion and zftp problem Oliver Kiddle
1999-09-15 14:56 ` Peter Stephenson

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).