Subject: pkg/17995: gEDA gnetlist incorrectly handles curly brace when used as a symbol
To: None <gnats-bugs@gnats.netbsd.org>
From: None <bkd@rse.com>
List: netbsd-bugs
Date: 08/19/2002 13:33:27
>Number:         17995
>Category:       pkg
>Synopsis:       gEDA gnetlist incorrectly handles curly brace when used as a symbol
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Aug 19 13:34:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Brad Davis
>Release:        NetBSD 1.6Beta4
>Organization:
M L Riechers Systems Engineering
>Environment:
NetBSD jterm.rse.com 1.6_BETA4 NetBSD 1.6_BETA4 (GENERIC) #0: Wed Jul 31 16:13:33 EDT 2002     jdf@cterm.rse.com:/usr/local/src/NetBSD/NetBSD-release-1-6/src/sys/arch/i386/compile/GENERIC i386
>Description:
concerning pkgsrc/cad: gschem version 20020414, and gnetlist version
20020414, gaf: if you use gschem to put a curly brace -- i.e. { or } --
in your schematic, then, apparently, all is well:  the curly brace shows
up on your drawing, and all seems well.

However, if you use gnetlist to generate the net list, then gnetlist
confuses the _symbolic_ use of the curly brace with its understanding
of the curly brace as a _metacharacter_ -- opening or closing a group.

If you then edit the gschem .sch file to escape the curly braces, say
with a backslash, (\{ or \}), then gnetlist seems to accept the file
just fine, but now gschem displays _both_ the backslash _and_ the curly
brace.
>How-To-Repeat:
1. Start gschem on a drawing.

2. Enter a curly brace as free text onto the drawing.

3. Save the drawing.

4. Run gnetlist on the drawing.

5. Watch gnetlist complain about attributes and whatnot.

6. Edit the drawing ascii file to proceed the curly braces used as
   drawing symbols with a backslash.

7. Run gnetlist again.  Observe that it shuts up (unless there are
   other errors, of course.)

8. Start gschem afresh on the edited drawing.  Observe big harry
   backslash(es) where you don't want them.
>Fix:
Improve the gnetlist input scanner to ignore curly braces if they are
part of a literal T xxxx yyyy \n{ symbol placement in the ascii text.

Also, take a look at gschem to see if its scan is also damaged.
>Release-Note:
>Audit-Trail:
>Unformatted: