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.
next prev parent 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).