From: Sven Wischnowsky <wischnow@informatik.hu-berlin.de>
To: zsh-workers@sunsite.auc.dk
Subject: Re: Problem with completion after a variable with globcomplete
Date: Tue, 8 Feb 2000 15:28:42 +0100 (MET) [thread overview]
Message-ID: <200002081428.PAA02690@beta.informatik.hu-berlin.de> (raw)
In-Reply-To: Oliver Kiddle's message of Tue, 08 Feb 2000 13:59:05 +0000
Oliver Kiddle wrote:
> Sven Wischnowsky wrote:
> >
> > Oliver Kiddle wrote:
> >
> > > zsh -f
> > > autoload -U compinit
> > > compinit
> > > setopt globcomplete
> > > f=/home
> > > cd $f/okiddle/<tab>
> > >
> > > Here the tab, inserts a space when I would expect it to list directories
> > > in my home. It seems to be that completion stops working for the second
> > > directory after a variable reference.
> >
> > The test if we had a pattern went wrong.
>
> Thanks, this fixes it for the case above but I noticed that the problem
> is still there for arrays. I've also found that the problem also exists
> for tilde expansion - using ${(q)...) quotes a tilde and square
> brackets.
>
> > - "$PREFIX$SUFFIX" != "${(q)PREFIX}${(q)SUFFIX}" ]]; then
> > + "${PREFIX:s/$//}${SUFFIX:s/$//}" != "${(q)PREFIX:s/$//}${(q)SUFFIX:s/$//}"
>
> I can send a patch which as far as I know fixes the problem by extending
> your logic there to take out tildes and square brackets but I don't
> really understand the context in which that line has been used (and why
> the globcomplete option should affect it) and so I'm not sure that it
> wouldn't break anything else in the process. The condition seems to be
> checking for any characters which might need to be quoted in $PREFIX and
> $SUFFIX. I would have thought that any character could appear as part of
> the command-line.
The line was added in 9454 -- trying to make the interaction with the
_match completer a bit smoother (there is almost no real reason to use
GLOB_COMPLETE nowadays, the _match completer should be better -- and
configurable).
If GLOB_COMPLETE is set, then `$compstate[pattern_match]' is set to
`*' by the completion code (compatibility).
Ok, the patch below changes the test to not look at the components
already processed.
Bye
Sven
diff -ru ../z.old/Completion/Core/_path_files Completion/Core/_path_files
--- ../z.old/Completion/Core/_path_files Tue Feb 8 14:12:36 2000
+++ Completion/Core/_path_files Tue Feb 8 15:22:19 2000
@@ -445,15 +445,15 @@
if [[ "$tpre" = */* ]]; then
PREFIX="${donepath}${linepath}${cpre}${tpre%%/*}"
SUFFIX="/${tsuf#*/}"
+ tmp2="${cpre}${tpre%%/*}"
else
PREFIX="${donepath}${linepath}${cpre}${tpre}"
SUFFIX="${tsuf}"
+ tmp2="${cpre}${tpre}"
fi
if (( $#tmp4 )) ||
- [[ -n "$compstate[pattern_match]" &&
- "${PREFIX:s/$//}${SUFFIX:s/$//}" != "${(q)PREFIX:s/$//}${(q)SUFFIX:s/$//}" ]]; then
-
+ [[ -n "$compstate[pattern_match]" && "$tmp2" != "${(q)tmp2}" ]]; then
# It is. For menucompletion we now add the possible completions
# for this component with the unambigous prefix we have built
# and the rest of the string from the line as the suffix.
--
Sven Wischnowsky wischnow@informatik.hu-berlin.de
next reply other threads:[~2000-02-08 14:37 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-02-08 14:28 Sven Wischnowsky [this message]
2000-02-14 12:23 ` help with _match, globcomplete etc Oliver Kiddle
-- strict thread matches above, loose matches on Subject: below --
2000-02-08 10:07 Problem with completion after a variable with globcomplete Sven Wischnowsky
2000-02-08 13:59 ` Oliver Kiddle
2000-02-07 14:39 Oliver Kiddle
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=200002081428.PAA02690@beta.informatik.hu-berlin.de \
--to=wischnow@informatik.hu-berlin.de \
--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).