On Thu, 2009-11-19 at 10:38 -0600, Bill Gatliff wrote: > Now I'm beginning to see the problems with slotting and symbols the way > we're doing them now: they unnecessarily tie the concept of a symbol to > the concept of a component, because the pin numbers that we currently > record in our symbols are also the pin numbers that the component maps > to the pins of the component's package. We have munged together the > concepts of symbol and component in our "symbol" files, but can't seem > to admit to that. > > That's the breakage, methinks.
Symbols defining slots are necessarily heavy symbols, by nature. The slotting mechanism doesn't actually stop you adding numslots=, or "slotdef=" attributes afterwards, in the schematic. In _theory_, these attributes could be added in the same step where your "whatever" plugin transforms your light "nand" symbol into a heavy one. The code which refreshes the pin-numbers when you change these unusually attached attributes is broken (missing) in git HEAD. Various special case checks for "slot=" exist, but none of the others. Nice things start to happen when you refactor the code though.. it starts to work better. The crux of it: http://repo.or.cz/w/geda-gaf/pcjc2.git/commitdiff/a8e4dd845a0dc49798fabc757a851f38567aa10a I'm cheating a little - slot updates are checked for _any_ attribute change on a complex, but it works - and shouldn't miss any cases. The benefit though - is that the updates are _always_ processed, no matter how the attribute was caused to change.. the single attribute editor, multi-attribute editor, file-load, etc. Other such behavioural pieces of code can be added - performing similar tasks, without having to ensure they are called in "n" different locations. _______________________________________________ geda-user mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

