X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fastmail.com; h= content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:reply-to:subject:to :x-me-sender:x-me-sender:x-sasl-enc:x-sasl-enc; s=fm1; bh=NdQR9M OVnPJGvwvYyJSe9FH2Z5jnSwxc565cj/PW0vI=; b=1uSq7IG9euR7vjkMUi/ZNU Wv+gGsHNmIJjE4vTtZkOZ1SRIaq4neS8h1RTitFecGzbqWCquRVux0LoQmriZ8en Hu98IyUro2pm4++UraI+xmfM1R/7Vs0P1E5xEsjDLKnwYlrtKz5Vk3tWGPg7sF1j qFr48SmkI86yteBjQKC3MVjX8tV+ApadvPHs1Ibm7nu/CQ7zbslWv0/YO7SCtqZB hpHe9vOXbUMKHdPcNAxdURhppWX4CdRfEOSuZr2scknzCsR0hDTsYEyLNMX6vmBt LAnMsJ3QKZjgncTrenbwejJ7rcxLcjc2XQ5X5OZ3ZqkO/qnojSPQPsX/Ve885F4A == X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :reply-to:subject:to:x-me-sender:x-me-sender:x-sasl-enc :x-sasl-enc; s=fm1; bh=NdQR9MOVnPJGvwvYyJSe9FH2Z5jnSwxc565cj/PW0 vI=; b=J5606PWKvqGDsLcv4F/v1e3/fJqLBadwjKwQiKtDpn7yoKSM7J5GWNqlt XWSmxnBocfEaItAsyOoeN0wM7uHzIDf7XdPFiFntNSxOlFJDbtNvCcRbfRuJXFat sau9mQXVtavpeE3Ry4qy3Sl+Q064HV1UhLLkrqCYx3zpmvA2h18xzFFkbu998chQ E2mDN4skrpKAJ84d8QxK55/zAUCfOXiTcORGacbjnGsdHa99ls0VcTbW/CQGeiXL GmknaBm4rAvN0tt8PlnwIuWXhy834mDuQO9Kbbd7K3xxQHA/LVpzwdp0zXjOqF6J pbxJjCOzsl9FnzTw3xS9QQaZJ+T0A== X-ME-Sender: X-Sasl-enc: hTIxOQ4SqWBoLqO/fGRXgTL5iSRlTEhpONpAOd/720GC 1502918659 Subject: Re: [geda-user] [pcb] mainline: redundant attributes: bug or feature? (fwd) To: geda-user AT delorie DOT com References: <5994AA88 DOT 1090602 AT xs4all DOT nl> From: "Girvin Herr (gherrl AT fastmail DOT com) [via geda-user AT delorie DOT com]" Message-ID: <806564ad-a555-31dd-b705-e472773b445b@fastmail.com> Date: Wed, 16 Aug 2017 14:18:10 -0700 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <5994AA88.1090602@xs4all.nl> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On 08/16/2017 01:26 PM, Bert Timmerman (bert DOT timmerman AT xs4all DOT nl) [via geda-user AT delorie DOT com] wrote: > Girvin Herr (gherrl AT fastmail DOT com) [via geda-user AT delorie DOT com] wrote: >> >> >> On 08/16/2017 08:15 AM, Frank Miles (fpm AT u DOT washington DOT edu) [via >> geda-user AT delorie DOT com] wrote: >>> On 08/14/2017 10:28 PM, Nicklas Karlsson >>> (nicklas DOT karlsson17 AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: >>>>> I suspect my thoughts were this: the user API should require/expect >>>>> unique keys (hence get-by-value) but the low level stuff should be >>>>> able >>>>> to preserve (erroneous) redundant keys when loading/saving a *.pcb >>>>> file. >>>>> Making load/store git friendly is a goal in pcb. >>>> Attribute with same name added several times may in sort of be >>>> interpreted as a list of values. In gschem it is possible to add >>>> several attributes with same name but it never make sense and it's >>>> not possible to know for sure which value is used. >>> Greetings, >>> As a user, I might add my 2-cents to this discussion by saying that >>> I use multiple instances of the "Comment" symbol attribute in my >>> schematics. I would hate to see this capability be removed. Comment >>> attributes to not span multiple text lines. Therefore, I need to add >>> as many "Comment" attributes as I need lines of text. >>> >>> Another item may be that earlier someone posted that only the first >>> instance of an attribute is used and subsequent instances are >>> ignored. Why not the last instance is used and previous instances >>> are ignored, as in many other configuration scripts. That way the >>> latest version would be used and the system would be more forgiving. >>> A warning, not an error should suffice. >>> >>> Girvin Herr >>> >>> ---------------------------- >>> >>> I also make heavy use of multiple "Comment" entries for a given >>> component. >>> >>> An even nicer alternative (for me) would be to enable custom >>> attribute types. >>> Currently I use these entries to add hooks that tie entries in our >>> local component >>> database with the schematics - a custom attribute type would be >>> cleaner. >>> >>> -Frank >> Frank, >> Actually, I think you can make up your own attribute names, if that >> is what you are asking by "attribute type". I did it a while back >> when I wasn't satisfied with the single "Device=" or "Value=" and >> wanted more info like "Power=", "Tolerance=", etc. The attribute name >> entry box is a list of attributes but it starts blank and one can >> enter any name one wishes, within reason. However, gsymcheck barfed >> on my new attribute names. It only supports the canned attribute >> names. So, if you don't use gsymcheck, then add your own attributes. >> >> Devs: It would be nice if gsymcheck would allow new names, or maybe >> default with a warning and allow a command line option to turn such >> warnings off. I would like to make a script to use gsymcheck to test >> all my symbols before packaging them, but that is not possible as it >> stands, because it returns non-0 on those unknown attribute errors. >> >> HTH. >> Girvin Herr >> > Hi Girvin, > > IIRC, adding attribute keys to a file "attribs" seems to work for me. > > I have keys like: > > footprint > value > mfg > mfg_PN > vendor > vendor_PN > price > documentation > source > comment > > in them. > > I hope this helps you a bit. > > Kind regards, > > Bert Timmerman. Bert, Are you saying that any attribute defined in this "attribs" file shows up in the add attribute dialog list of attributes? If so, that is a good way of adding custom attributes. I did a system search for attribs* and got one hit: /usr/local/doc/geda-gaf-1.8.2/examples/gTAG/attribs I looked at it and has a series of attribute names, but I am not sure how that applies. I will have to do some research in the docs to see how I can use this. Thanks. Girvin