Thank you for the objective reasoning, and acknowledging there is an issue. That makes sense, and is a legitimate con to my proposed solution. Other than personal old designs and the 17 example circuits is there anything you are considering when you say:
I should mention that I did a grep search on the 17 example circuits and it seems none of them contain any reference to ‘diode’ (case in-sensitve), and the only reference to ‘spice’ is within:
./raspberrypi-gpio-40pin/raspberrypi-gpio-40pin.pro:78:SpiceForceRefPrefix=0
./raspberrypi-gpio-40pin/raspberrypi-gpio-40pin.pro:79:SpiceUseNetNumbers=0
So, this proposed solution should not break anything in them. When trying to open the above mentioned template project I ironically get a lot of missing symbol errors for other symbols though
For the sake of discussion, I tested how this would work by making a simple example circuit based on the pspice.DIODE symbol and lib files:
I then renamed them to D in the .lib and .dcm files, but giving the diode an alias DIODE for the sake of some backwards compatability. So:
Before
pspice.lib
#
# DIODE
#
DEF DIODE D 0 40 Y N 1 F N
F0 "D" 0 150 50 H V C CNN
F1 "D" 0 -175 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
DRAW
P 2 0 1 0 75 100 75 -100 N
P 3 0 1 0 -75 100 -75 -100 75 0 F
X K 1 -200 0 150 R 50 50 1 1 I
X A 2 200 0 150 L 50 50 1 1 I
ENDDRAW
ENDDEF
pspice.dcm
$CMP DIODE
D Diode symbol for simulation only. Pin order incompatible with official kicad footprints
K simulation
F ~
$ENDCMP
After
pspice.lib
#
# DIODE
#
DEF D D 0 40 Y N 1 F N
F0 "D" 0 150 50 H V C CNN
F1 "D" 0 -175 50 H V C CNN
F2 "" 0 0 50 H I C CNN
F3 "" 0 0 50 H I C CNN
ALIAS DIODE
DRAW
P 2 0 1 0 75 100 75 -100 N
P 3 0 1 0 -75 100 -75 -100 75 0 F
X K 1 -200 0 150 R 50 50 1 1 I
X A 2 200 0 150 L 50 50 1 1 I
ENDDRAW
ENDDEF
pspice.dcm
$CMP D
D Diode symbol for simulation only. Pin order incompatible with official kicad footprints
K simulation
F ~
$ENDCMP
This moves it down the sort list significantly as expected:
When reopening the schematic, the resulting error, as expected, is shown below:
You can press ok and it will recover the previous pspice.DIODE from the project cache, no harm done. Although this does “break” old designs, it seems very elementary to revert back to the old lib files by pressing ok here thanks to this recovery functionality.
Alternatively, if I want to reassign the new lib definitions I can press cancel then go to Tools->Edit Symbol Library References:
and replace them all in one go.
So I guess it is now a debate on whether or not this single pop-up and pressing OK is considered more detrimental than the advantages I have spoke of until this point. Unless you see breaking issues that I have not considered here?