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