[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [esr@thyrsus.com: Re: CML2 0.2.0]

On Fri, Jun 02, 2000 at 02:02:42PM -0400, Andrew Pimlott wrote:
> Jesse Pollard <pollard@tomcat.admin.navo.hpc.mil>:
> > > I am not familiar in how this works, but it would be cool if those
> > > requirements were marked as "weak" and un-marked if the option relying
> > > on them is.
> > > 
> > > i.e.
> > > I have driver "foo" requiring "bar". If I mark foo, I want bar to be marked.
> > > But if then I change my mind and unmark foo, I wish for bar to be unmarked
> > > (unless explicitly re-marked). But if I select first bar and then foo, then
> > > bar is not to be de-selected when foo is.
> > 
> > Also: if there is a driver baz that also requires bar we would want bar included
> > if EITHER foo or baz were selected, but bar should not be included only
> > if BOTH foo and baz are deslected... Choosing foo should mark bar; Choosing
> > baz should also mark bar; But if foo is deselected, then bar should not be
> > unmarked since baz is still selected...
> I've actually been thinking about something similar, but before this morning
> I didn't have a semantics for it that I liked.  How about this?
> * Implement a stack of "weak" bindings for each symbol, each associated
>   with the symbol that forced it.  A user setting overrides all weak bindings,
>   otherwise more recent ones have priority over older ones.  Whenever a symbol
>   changes value all the weak bindings it forces go away (then it may make new
>   ones). Indicate weak bindings with a distinguished foreground color.

Why simple reference counting of such bindings won't work ?

Reply to: