zsh-workers
 help / color / mirror / code / Atom feed
From: Oliver Kiddle <okiddle@yahoo.co.uk>
To: Danek Duvall <duvall@emufarm.org>,
	Zsh Workers <zsh-workers@sunsite.auc.dk>
Subject: Re: Bug in _path_files?
Date: Fri, 3 May 2002 11:52:00 +0100	[thread overview]
Message-ID: <20020503105200.GA1110@logica.com> (raw)
In-Reply-To: <20020502191319.GA2807@lorien.emufarm.org>

On Thu, May 02, 2002 at 12:13:19PM -0700, Danek Duvall wrote:

>     % cd ~2/^D
>     functions/
> 
> The third form is the one I use all the time, but it seems to be wrong
> here (it should have the output of the first form).  I do have
> pushdminus set, but it shouldn't make a difference, although it does.

You're right here. It seems to handle pushdminus for that third
form yet that form should not be affected by pushdminus. 

> The following patch fixes my symptoms and is correct as far as I can see
> it.  The idea being that without the +/-, you should jump directly to

The patch looks correct to me. However, it leaves some code that I
believe to be redundant (prepending `-' or `+' to $tmp1 only to
ignore it by using $tmp1[2,-1]) so I suggest the following patch
instead which I think makes the code a bit simpler (hopefully
without breaking it).

Thanks for the bug report

Oliver

Index: Completion/Unix/Type/_path_files
===================================================================
RCS file: /cvsroot/zsh/zsh/Completion/Unix/Type/_path_files,v
retrieving revision 1.15
diff -u -r1.15 _path_files
--- Completion/Unix/Type/_path_files	16 Apr 2002 08:27:47 -0000	1.15
+++ Completion/Unix/Type/_path_files	3 May 2002 10:41:44 -0000
@@ -224,20 +224,15 @@
     realpath="${HOME%/}/"
   elif [[ "$linepath" = ([-+]|)[0-9]## ]]; then
     if [[ "$linepath" != [-+]* ]]; then
-      if [[ -o pushdminus ]]; then
-        tmp1="-$linepath"
-      else
-        tmp1="+$linepath"
-      fi
-    else
       tmp1="$linepath"
-    fi
-    if [[ "$linepath" = -* ]]; then
-      tmp1=$(( $#dirstack $tmp1 ))
     else
-      tmp1=$tmp1[2,-1]
+      if [[ "$linepath" = -* ]]; then
+        tmp1=$(( $#dirstack $linepath ))
+      else
+        tmp1=$linepath[2,-1]
+      fi
+      [[ -o pushdminus ]] && tmp1=$(( $#dirstack - $tmp1 ))
     fi
-    [[ -o pushdminus ]] && tmp1=$(( $#dirstack - $tmp1 ))
     if (( ! tmp1 )); then
       realpath=$PWD/
     elif [[ tmp1 -le $#dirstack ]]; then

This e-mail and any attachment is for authorised use by the intended recipient(s) only.  It may contain proprietary material, confidential information and/or be subject to legal privilege.  It should not be copied, disclosed to, retained or used by, any other party.  If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender.  Thank you.


  reply	other threads:[~2002-05-03 10:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-02 19:13 Danek Duvall
2002-05-03 10:52 ` Oliver Kiddle [this message]
2002-05-03 19:00   ` Danek Duvall

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020503105200.GA1110@logica.com \
    --to=okiddle@yahoo.co.uk \
    --cc=duvall@emufarm.org \
    --cc=zsh-workers@sunsite.auc.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).