[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

gEDA-user: Fixing the attribute censorship bug


The "attribute censorship bug" is what I call the problem that given a refdes that corresponds to multiple symbol instances, gnetlist only looks for attributes from the first instance it finds, ignoring the rest. One common place this causes trouble is in footprints for slotted components: if the footprints on the different slots don't agree, or if the footprint is missing from the first instance, the result may not be what the user intended.

The latest development release (1.7.0) has the capability to detect this problem, and it works in the case of an attribute that is consistent, but perhaps not present on all instances. In the case of conflicting attributes all it does is issue a warning, and otherwise repeats the old behavior. I don't think this constitutes a complete fix: the wrong attribute may still show up in the output.

The attached script not only emits a message, but substitutes "attribute_conflict" for the attribute in question. Since that's not normally a legitimate value, it should help the user to detect the problem.


gnetlist -m censor_fix.scm (other gnetlist args)

I haven't tested it much, so please report any problems. And, of course, you're welcome to change its behavior to suit your flow. It requires at least version 1.7.0.

Attachment: censor-fix.scm
Description: Binary data

John Doty              Noqsi Aerospace, Ltd.

geda-user mailing list