On Monday 09 July 2007 05:06:14 John Doty wrote:
> > I've debating fixing this (for a while now), by changing it so that
> > you will be able to put any keyword into any *rc file and then all
> > the programs would read *one* system-gafrc file and bugs like this
> > wouldn't be an issue. I won't get rid of the system-programrc
> > files or
> > the local programrc files since they have their use, but what can go
> > into them will be come regular and the same across all the programs.
> > The grossness to this approach is that it pushes more *rc stuff into
> > libgeda and that isn't so nice.
>
> Is it possible to define a Scheme function (say, geda-option) that
> will evaluate another function if it exists, but do nothing if it
> doesn't? So instead of writing:
>
> (keyword args)
>
> you could write:
>
> (geda-option "keyword" args)
>
> Then, an option private to a particular program could still be set in
> gafrc without having to give libgeda knowledge of it, but a program
> that doesn't use that option would be unaffected.
Many options which are currently implemented as special-case functions could
easily be just implemented as Scheme-defined variables which are obtained
from the current Guile environment as and when needed[1].
(define attribute-promotion "enabled")
This is slightly more friendly from the Scheme perspective too, because it
provides more transparency from Scheme scripts.
Of course, you could add a nice wrapper function to libgeda to make the
process easier.
Peter
[1] Obviously, there are exceptions; the component library system for one. It
would be nice to fix this.
Attachment:
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ geda-user mailing list geda-user@xxxxxxxxxxxxxx http://www.seul.org/cgi-bin/mailman/listinfo/geda-user