When parsing symbol libraries, the libId() function incorrectly interprets symbol names that contain underscores followed by numeric segments, even when the symbol is not intended to represent a child symbol.
For example, when parsing a symbol library containing a symbol named "ABC_00_00_00" the current parsing logic mistakenly classifies it as a child symbol and splits it incorrectly into:
entryName = "ABC_00"
unitId = 0
styleId = 0
Steps to Reproduce
- Create a symbol library with a symbol named
ABC_00_00_00
- Parse the library using
SymbolLib.from_file()
- Observe that
Symbol.entryName is incorrectly parsed and split into name and numeric suffixes
When parsing symbol libraries, the
libId()function incorrectly interprets symbol names that contain underscores followed by numeric segments, even when the symbol is not intended to represent a child symbol.For example, when parsing a symbol library containing a symbol named "ABC_00_00_00" the current parsing logic mistakenly classifies it as a child symbol and splits it incorrectly into:
Steps to Reproduce
ABC_00_00_00SymbolLib.from_file()Symbol.entryNameis incorrectly parsed and split into name and numeric suffixes