← Back to team overview

kicad-developers team mailing list archive

Re: Eeschema now case sensitive?

 

On 2/22/2014 9:43 PM, Moses McKnight wrote:
> On 02/22/2014 07:03 AM, Wayne Stambaugh wrote:
>> On 2/21/2014 9:02 PM, Moses McKnight wrote:
>>> Hi,
>>>
>>> I just built the latest kicad using the kicad-instal.sh script on Linux
>>> Mint 16 64-bit, and when I open my schematics, half of the symbols are
>>> now missing.
>>>
>>> I verified that the parts are in the libraries by viewing them in the
>>> module manager and by placing some new ones on the schematic.  It looks
>>> like the Chip Name on all the broken symbols is in all caps, but in the
>>> module manager they are lower case or mixed case - leading me to think
>>> that now the names are case sensitive?  I thought the names were made
>>> all upper case when creating symbols - but I don't remember for sure
>>> now.
>>>
>>> I just checked on another system with version BZR 4631 and the same file
>>> opens properly, so something got broken since then.
>>>
>>> Thanks,
>>> Moses
>>>
>>
>> Moses,
>>
>> The case sensitivity build option was recently (product branch version
>> r4646) turned on by default so KiCad is now case sensitive.  I was under
>> the impression that the code was stable but apparently I was wrong.  So
>> far, I haven't had any issues.  Are the missing symbols from your custom
>> libraries, the standard KiCad libraries, or both.  It might be a good
>> idea to file a bug report with you schematic and offending libraries
>> attached to aid in debugging.
>>
>> Wayne
> 
> Well, I'm not at liberty to post the schematics, but the missing symbols
> are from my custom libraries.  I have an Res (proper resistor :)) symbol
> that is one of the main ones, but there are others as well.  Some
> symbols I made a few years ago and some fairly recently.  It looks like
> all of the symbols in the main libraries are all caps, and some of mine
> are mixed case.  If I remember correctly the name comes from the
> reference field and I did not always use all upper case.
> 
> Another potential problem I just ran across: I tried to change the name
> of my Res symbol to RES in the symbol editor and it did not take even
> though it said it did.

This is a potential bug.  The symbol editor should enforce the case
sensitivity so changing Res to RES should be legal.  I'll look and see
if the code is doing a case insensitive compare here.

> 
> I was able to use a text editor and change the name in my library and
> that fixes my schematics (for that part).

That is probably the be solution should you encounter this issue again.

> 
> It looks like what happened before is that the symbol name was always
> entered in the schematic in upper case, and then when loading the names
> were searched in a case in-sensitive way?  And now I guess the name
> search is case sensitive.  Is there a version number in the files or
> some way to detect an older file and use the old method for loading those?

No.  Who ever wrote the case sensitivity code did not update the version
in the library file header so there is no way of knowing when the case
sensitivity was introduced by file version.  Sorry.

> 
> This brings up something else I've wondered: could there be a cache of
> symbols for eeschema like the footprint cache in pcbnew (or however that
> is done), so that a symbol changing or going away would not break a
> schematic?

I'm not sure what you mean a symbol cache.  Eeschema already creates a
component library cache when you save the schematic which is pretty much
the equivalent of exporting the footprints to a library in Pcbnew except
that it happens automatically.

Wayne

> 
> Thanks,
> Moses
> 



References