Add a few more overbar syntax conversion calls.
Fixes https://gitlab.com/kicad/code/kicad/issues/8606
This commit is contained in:
parent
fbbe723811
commit
4418707e5e
|
@ -61,4 +61,5 @@
|
|||
//#define SEXPR_SCHEMATIC_FILE_VERSION 20210125 // R/W uuids for pins, labels, wires, etc.
|
||||
//#define SEXPR_SCHEMATIC_FILE_VERSION 20210126 // Fix bug with writing pin uuids.
|
||||
//#define SEXPR_SCHEMATIC_FILE_VERSION 20210406 // Add schematic level uuids.
|
||||
#define SEXPR_SCHEMATIC_FILE_VERSION 20210606 // Change overbar syntax from `~...~` to `~{...}`.
|
||||
//#define SEXPR_SCHEMATIC_FILE_VERSION 20210606 // Change overbar syntax from `~...~` to `~{...}`.
|
||||
#define SEXPR_SCHEMATIC_FILE_VERSION 20210615 // Update overbar syntax in net names
|
||||
|
|
|
@ -295,8 +295,8 @@ void PCB_PARSER::parseEDA_TEXT( EDA_TEXT* aText )
|
|||
wxCHECK_RET( CurTok() == T_effects,
|
||||
wxT( "Cannot parse " ) + GetTokenString( CurTok() ) + wxT( " as EDA_TEXT." ) );
|
||||
|
||||
// In version 20210606 the notation for overbars was changed from `~...~` to `~{...}`. We need to convert
|
||||
// the old syntax to the new one.
|
||||
// In version 20210606 the notation for overbars was changed from `~...~` to `~{...}`.
|
||||
// We need to convert the old syntax to the new one.
|
||||
if( m_requiredVersion < 20210606 )
|
||||
aText->SetText( ConvertToNewOverbarNotation( aText->GetText() ) );
|
||||
|
||||
|
@ -2092,6 +2092,11 @@ void PCB_PARSER::parseNETINFO_ITEM()
|
|||
NeedSYMBOLorNUMBER();
|
||||
wxString name = FromUTF8();
|
||||
|
||||
// Convert overbar syntax from `~...~` to `~{...}`. These were left out of the first merge
|
||||
// so the version is a bit later.
|
||||
if( m_requiredVersion < 20210615 )
|
||||
name = ConvertToNewOverbarNotation( name );
|
||||
|
||||
NeedRIGHT();
|
||||
|
||||
// net 0 should be already in list, so store this net
|
||||
|
@ -2166,7 +2171,14 @@ void PCB_PARSER::parseNETCLASS()
|
|||
|
||||
case T_add_net:
|
||||
NeedSYMBOLorNUMBER();
|
||||
nc->Add( FromUTF8() );
|
||||
|
||||
// Convert overbar syntax from `~...~` to `~{...}`. These were left out of the
|
||||
// first merge so the version is a bit later.
|
||||
if( m_requiredVersion < 20210615 )
|
||||
nc->Add( ConvertToNewOverbarNotation( FromUTF8() ) );
|
||||
else
|
||||
nc->Add( FromUTF8() );
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -3968,17 +3980,26 @@ PAD* PCB_PARSER::parsePAD( FOOTPRINT* aParent )
|
|||
NeedSYMBOLorNUMBER();
|
||||
|
||||
// Test validity of the netname in file for netcodes expected having a net name
|
||||
if( m_board && pad->GetNetCode() > 0 &&
|
||||
FromUTF8() != m_board->FindNet( pad->GetNetCode() )->GetNetname() )
|
||||
if( m_board && pad->GetNetCode() > 0 )
|
||||
{
|
||||
pad->SetNetCode( NETINFO_LIST::ORPHANED, /* aNoAssert */ true );
|
||||
wxLogError( wxString::Format( _( "Net name doesn't match net ID in\n"
|
||||
"file: '%s'\n"
|
||||
"line: %d\n"
|
||||
"offset: %d" ),
|
||||
CurSource(),
|
||||
CurLineNumber(),
|
||||
CurOffset() ) );
|
||||
wxString netName( FromUTF8() );
|
||||
|
||||
// Convert overbar syntax from `~...~` to `~{...}`. These were left out of the
|
||||
// first merge so the version is a bit later.
|
||||
if( m_requiredVersion < 20210615 )
|
||||
netName = ConvertToNewOverbarNotation( netName );
|
||||
|
||||
if( netName != m_board->FindNet( pad->GetNetCode() )->GetNetname() )
|
||||
{
|
||||
pad->SetNetCode( NETINFO_LIST::ORPHANED, /* aNoAssert */ true );
|
||||
wxLogError( wxString::Format( _( "Net name doesn't match net ID in\n"
|
||||
"file: '%s'\n"
|
||||
"line: %d\n"
|
||||
"offset: %d" ),
|
||||
CurSource(),
|
||||
CurLineNumber(),
|
||||
CurOffset() ) );
|
||||
}
|
||||
}
|
||||
|
||||
NeedRIGHT();
|
||||
|
|
|
@ -1541,8 +1541,10 @@ void LEGACY_PLUGIN::loadPAD( FOOTPRINT* aFootprint )
|
|||
ReadDelimitedText( buf, data, sizeof(buf) );
|
||||
|
||||
if( m_board )
|
||||
{
|
||||
wxASSERT( m_board->FindNet( getNetCode( netcode ) )->GetNetname()
|
||||
== FROM_UTF8( StrPurge( buf ) ) );
|
||||
== ConvertToNewOverbarNotation( FROM_UTF8( StrPurge( buf ) ) ) );
|
||||
}
|
||||
}
|
||||
|
||||
else if( TESTLINE( "Po" ) ) // (Po)sition
|
||||
|
@ -1791,6 +1793,7 @@ void LEGACY_PLUGIN::loadMODULE_TEXT( FP_TEXT* aText )
|
|||
txt_end = data + ReadDelimitedText( &m_field, data );
|
||||
m_field.Replace( "%V", "${VALUE}" );
|
||||
m_field.Replace( "%R", "${REFERENCE}" );
|
||||
m_field = ConvertToNewOverbarNotation( m_field );
|
||||
aText->SetText( m_field );
|
||||
|
||||
// after switching to strtok, there's no easy coming back because of the
|
||||
|
@ -2039,7 +2042,10 @@ void LEGACY_PLUGIN::loadNETINFO_ITEM()
|
|||
ReadDelimitedText( buf, data, sizeof(buf) );
|
||||
|
||||
if( net == NULL )
|
||||
net = new NETINFO_ITEM( m_board, FROM_UTF8( buf ), netCode );
|
||||
{
|
||||
net = new NETINFO_ITEM( m_board, ConvertToNewOverbarNotation( FROM_UTF8( buf ) ),
|
||||
netCode );
|
||||
}
|
||||
else
|
||||
{
|
||||
THROW_IO_ERROR( "Two net definitions in '$EQUIPOT' block" );
|
||||
|
@ -2114,7 +2120,7 @@ void LEGACY_PLUGIN::loadPCB_TEXT()
|
|||
if( TESTLINE( "Te" ) ) // Text line (or first line for multi line texts)
|
||||
{
|
||||
ReadDelimitedText( text, line + SZ( "Te" ), sizeof(text) );
|
||||
pcbtxt->SetText( FROM_UTF8( text ) );
|
||||
pcbtxt->SetText( ConvertToNewOverbarNotation( FROM_UTF8( text ) ) );
|
||||
}
|
||||
|
||||
else if( TESTLINE( "nl" ) ) // next line of the current text
|
||||
|
@ -2352,7 +2358,7 @@ void LEGACY_PLUGIN::loadNETCLASS()
|
|||
{
|
||||
// e.g. "AddNet "V3.3D"\n"
|
||||
ReadDelimitedText( buf, line + SZ( "AddNet" ), sizeof(buf) );
|
||||
netname = FROM_UTF8( buf );
|
||||
netname = ConvertToNewOverbarNotation( FROM_UTF8( buf ) );
|
||||
nc->Add( netname );
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue