All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Collier-Brown <davecb@sun.com>
To: Sam Ravnborg <sam@ravnborg.org>
Cc: Roman Zippel <zippel@linux-m68k.org>,
	linux-kbuild <linux-kbuild@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: kconfig - a suggestion how to fix the select issue
Date: Sun, 04 May 2008 08:55:12 -0400	[thread overview]
Message-ID: <481DB230.30907@sun.com> (raw)
In-Reply-To: <20080504071041.GA15315@uranus.ravnborg.org>

Sam Ravnborg wrote:
[Snipped]
> The suggestion is to introduce a "require" term used
> like this:
> 
> config A
>         bool "a"
> 
> config B
>         bool "b"
>         depends on A
> 
> config C
>         bool "c"
>         require B
> 
> The require dependency will have impact on visibility.
> C shall only be visible if all symbols it require are
> visible. Note that visible does not imply 'chosen'.
> In this case C would be visible when A is chosen.
> 
> When the user then choose C and B is not chosen 
> then the user is prompted to choose B.
> 
> So user has to chose B in order to have C chosen.
> 
> This would make it visible for the user that choosing
> a camera had the side-effect that USB had to be enabled too.
> But if we have some general option that prevents the
> visibility of USB we would not be offered the camara
> in the first place

In the example you suggest, the user would not see the
option of choosing the camera at C unless they selected
USB at A, and would wonder where the camera disappeared
to...

I speculate that having two ways to express a dependency,
and the addtition of visibility control makes the
dependency tree-walk into a problem which is no longer
solvable in trivial logic. That in turn makes my head 
explode (;-))

I wonder if one could simplify back into a flat set of
selections without visibility rules and a backwards-
chaining "you need to select these too" message emitter,
and if that would be worthwhile.

--dave (who used to do formal logics) c-b
-- 
David Collier-Brown            | Always do right. This will gratify
Sun Microsystems, Toronto      | some people and astonish the rest
davecb@sun.com                 |                      -- Mark Twain
(905) 943-1983, cell: (647) 833-9377, (800) 555-9786 x56583
bridge: (877) 385-4099 code: 506 9191#

  parent reply	other threads:[~2008-05-04 13:05 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-04  7:10 kconfig - a suggestion how to fix the select issue Sam Ravnborg
2008-05-04  8:11 ` Adrian Bunk
2008-05-04  8:27   ` Sam Ravnborg
2008-05-04  9:04     ` Adrian Bunk
2008-05-04 10:38       ` Sam Ravnborg
2008-05-04 11:55         ` Adrian Bunk
2008-05-04 12:17           ` Sam Ravnborg
2008-05-04 12:57             ` Adrian Bunk
2008-05-04 12:37         ` Oleg Verych
2008-05-04 10:12 ` Bernd Petrovitsch
2008-05-04 17:59   ` Matthias Schniedermeyer
2008-05-04 12:55 ` David Collier-Brown [this message]
2008-05-04 15:01   ` Oleg Verych
2008-05-04 19:28 ` Rene Herman
2008-05-04 19:32   ` Sam Ravnborg
2008-05-04 20:14   ` Bernd Eckenfels
2008-05-06  8:19 ` Jan Engelhardt
2008-05-06 15:52   ` Oleg Verych

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=481DB230.30907@sun.com \
    --to=davecb@sun.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sam@ravnborg.org \
    --cc=zippel@linux-m68k.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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.