zsh-workers
 help / color / mirror / code / Atom feed
From: Sven Wischnowsky <wischnow@informatik.hu-berlin.de>
To: zsh-workers@sunsite.auc.dk
Subject: RE: Silly questions about _arguments & Co (and probably bugs)
Date: Thu, 9 Sep 1999 16:27:12 +0200 (MET DST)	[thread overview]
Message-ID: <199909091427.QAA03152@beta.informatik.hu-berlin.de> (raw)
In-Reply-To: "Andrej Borsenkow"'s message of Thu, 9 Sep 1999 18:05:11 +0400


Andrej Borsenkow wrote:

> > > 2. Looks, like `-s' is overloaded - it is used both for "single
> > letter options"
> > > and for "option aliases" (from _long_options). I believe, this is
> > the reason why
> > > option aliases do not work any more :-) E.g. ntpd configure lists
> > only --enable
> > > variant - and now no --disable counterparts are recognised.
> >
> > No, the `-s' for the long-option stuff is *only* interpreted if it
> > appears *after* the `--', which needs to be there to make `_arguments'
> > do this automatic-long-option-stuff at all. The `-s' for `use single
> > letter options' has to come as the *first* argument.
> 
> O.K., I overlooked it (not that I like it either).

The alternative would be to have an option that says that `cmd --help'
should be called and to have a (yet another) syntax for the long-option-
patterns/descriptions. This would make parsing a bit slower and since
these descriptions are used in a completely different way than the
other descriptions they should be grouped together anyway (I think).

But if enough people complain...

> But, still, aliasing does not
> work any more. Just try
> 
> ./configure --dis-z-m
> 
> It should complete to --disable-zsh-memory - but it does not.

Yep, should be fixed with the patch below.

Bye
 Sven

diff -u oldcompletion/Base/_arguments Completion/Base/_arguments
--- oldcompletion/Base/_arguments	Thu Sep  9 16:12:19 1999
+++ Completion/Base/_arguments	Thu Sep  9 16:22:33 1999
@@ -57,6 +57,8 @@
       # We have to build the long-option cache anew, get the `-i' and
       # `-s' options.
 
+      set -- "${(@)argv[nth+1,-1]}"
+
       iopts=()
       sopts=()
       while [[ "$1" = -[is]* ]]; do
@@ -105,7 +107,7 @@
       # ... and add "same" options
 
       while (( $#sopts )); do
-        lopts=( $lopts ${opts/$sopts[1]/$sopts[2]} )
+        lopts=( $lopts ${lopts/$sopts[1]/$sopts[2]} )
         shift 2 sopts
       done
 

--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


             reply	other threads:[~1999-09-09 14:27 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-09-09 14:27 Sven Wischnowsky [this message]
1999-09-09 22:01 ` Tanaka Akira
  -- strict thread matches above, loose matches on Subject: below --
1999-09-13 14:21 Sven Wischnowsky
1999-09-13 11:56 Sven Wischnowsky
1999-09-13 13:57 ` Tanaka Akira
1999-09-09 13:55 Sven Wischnowsky
1999-09-09 14:05 ` Andrej Borsenkow
1999-09-09 15:15 ` Andrej Borsenkow
1999-09-09 15:44   ` Tanaka Akira
1999-09-09 13:13 Andrej Borsenkow
1999-09-09 13:54 ` Tanaka Akira
1999-09-09 14:26   ` Andrej Borsenkow
1999-09-09 14:32     ` Tanaka Akira
1999-09-09 14:34       ` Andrej Borsenkow
1999-09-09 14:45         ` Tanaka Akira
1999-09-09 15:02           ` Andrej Borsenkow

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=199909091427.QAA03152@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).