zsh-workers
 help / color / mirror / code / Atom feed
From: Vincent Lefevre <vincent@vinc17.net>
To: zsh-workers@zsh.org
Subject: Re: buggy configure completion - when both --enable-foo and --disable-foo are listed
Date: Wed, 31 Aug 2016 08:45:55 +0200	[thread overview]
Message-ID: <20160831064555.GB15435@zira.vinc17.org> (raw)
In-Reply-To: <20160831030304.GD30557@fujitsu.shahaf.local2>

On 2016-08-31 03:03:04 +0000, Daniel Shahaf wrote:
> It thinks --enable-gmp-internals takes an argument.  This seems to
> happen whenever there's an "=" sign on that line of the --help output.
[...]
> Line 143 is in the handling of "--help" parsing.  The other lines look
> for --foo=[…]:… specs.  The pattern in 266/268 appears to match the
> '=' sign even though it's in the second colon-separated field, where it
> doesn't denote a mandatory argument.
> 
> I'm guessing the pattern match on lines 266/268 should be fixed, but I'm
> not sure how.

Another example is the following with autoconf-generated configure:

  --enable-silent-rules   less verbose build output (undo: "make V=1")
  --disable-silent-rules  verbose build output (undo: "make V=0")

Moreover, still with autoconf-generated configure, --enable-*
options always accept an argument. More precisely:

  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]

though actually, one generally doesn't provide one (anyway, one cannot
complete on arguments since one doesn't know what is accepted).

I'd say that the rules should be:

* If one just has the option, e.g.

  --enable-gmp-internals  enable use of GMP undocumented functions [default=no]

  (anything after a space following the option being ignored), the
  completion shouldn't assume that the user will give an argument,
  though he might add one after completing.

* If there is a "=" just after the option, e.g.

  --with-mulhigh-size=NUM internal threshold table for mulhigh

  then an argument is assumed.

* If there is an explicit *optional* argument in the --help output,
  e.g.

  --enable-shared[=PKGS]  build shared libraries [default=yes]
  --enable-static[=PKGS]  build static libraries [default=yes]

  (as generated by libtool), then this should also be taken into
  account, but I think that this should be like in the first case.

-- 
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)


      reply	other threads:[~2016-08-31  6:46 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-30 23:23 buggy configure completion Vincent Lefevre
2016-08-31  3:00 ` buggy configure completion - when both --enable-foo and --disable-foo are listed Daniel Shahaf
2016-08-31  6:15   ` Vincent Lefevre
2016-08-31  9:09     ` Daniel Shahaf
2016-08-31 20:27   ` m0viefreak
2016-09-02  1:27     ` Bart Schaefer
2016-09-02 21:02       ` m0viefreak
2016-09-07  5:39         ` Bart Schaefer
2016-08-31  3:03 ` Daniel Shahaf
2016-08-31  6:45   ` Vincent Lefevre [this message]

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=20160831064555.GB15435@zira.vinc17.org \
    --to=vincent@vinc17.net \
    --cc=zsh-workers@zsh.org \
    /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).