From: Sven Wischnowsky <wischnow@informatik.hu-berlin.de>
To: zsh-workers@sunsite.auc.dk
Subject: Re: foo=<TAB> always gives context array_value
Date: Mon, 26 Apr 1999 10:26:29 +0200 (MET DST) [thread overview]
Message-ID: <199904260826.KAA06833@beta.informatik.hu-berlin.de> (raw)
In-Reply-To: Peter Stephenson's message of Fri, 23 Apr 1999 16:57:22 +0200
Peter Stephenson wrote:
> It seems that if I try to complete after an assignment, e.g.
> foo=<TAB>
> (with new completion, obviously) $compstate[context] is always array_value,
> even if there is a character which is not `(' after the =.
>
> Presumably the correct behaviour is that context `value' is assumed unless
> there is a ( present.
Of course. We lost that on the way...
Bye
Sven
diff -u os/Zle/zle_tricky.c Src/Zle/zle_tricky.c
--- os/Zle/zle_tricky.c Fri Apr 23 13:28:11 1999
+++ Src/Zle/zle_tricky.c Mon Apr 26 10:14:43 1999
@@ -555,7 +555,7 @@
/* These are flags saying if we are completing in the command *
* position, in a redirection, or in a parameter expansion. */
-static int lincmd, linredir, ispar, linwhat;
+static int lincmd, linredir, ispar, linwhat, linarr;
/* The string for the redirection operator. */
@@ -1128,7 +1128,7 @@
static char *
get_comp_string(void)
{
- int t0, tt0, i, j, k, cp, rd, sl, ocs, ins, oins, inarr, ia, parct;
+ int t0, tt0, i, j, k, cp, rd, sl, ocs, ins, oins, ia, parct;
char *s = NULL, *linptr, *tmp, *p, *tt = NULL;
zsfree(brbeg);
@@ -1192,7 +1192,7 @@
inpush(dupstrspace((char *) linptr), 0, NULL);
strinbeg();
stophist = 2;
- i = tt0 = cp = rd = ins = oins = inarr = parct = ia = 0;
+ i = tt0 = cp = rd = ins = oins = linarr = parct = ia = 0;
/* This loop is possibly the wrong way to do this. It goes through *
* the previously massaged command line using the lexer. It stores *
@@ -1211,11 +1211,11 @@
linredir = (inredir && !ins);
oins = ins;
/* Get the next token. */
- if (inarr)
+ if (linarr)
incmdpos = 0;
ctxtlex();
if (tok == ENVARRAY) {
- inarr = 1;
+ linarr = 1;
zsfree(varname);
varname = ztrdup(tokstr);
} else if (tok == INPAR)
@@ -1224,7 +1224,7 @@
if (parct)
parct--;
else
- inarr = 0;
+ linarr = 0;
}
if (inredir)
rdstr = tokstrings[tok];
@@ -1267,7 +1267,7 @@
clwpos = i;
cp = lincmd;
rd = linredir;
- ia = inarr;
+ ia = linarr;
if (inwhat == IN_NOTHING && incond)
inwhat = IN_COND;
} else if (linredir)
@@ -4257,7 +4257,7 @@
} else
switch (linwhat) {
case IN_ENV:
- compcontext = "array_value";
+ compcontext = (linarr ? "array_value" : "value");
compparameter = varname;
set |= CP_PARAMETER;
if (!clwpos) {
--
Sven Wischnowsky wischnow@informatik.hu-berlin.de
next reply other threads:[~1999-04-26 8:47 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-04-26 8:26 Sven Wischnowsky [this message]
1999-04-26 9:53 ` Bart Schaefer
-- strict thread matches above, loose matches on Subject: below --
1999-04-26 11:01 Sven Wischnowsky
1999-04-23 14:57 Peter Stephenson
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=199904260826.KAA06833@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).