When I copy/paste an inherited symbol, the copied symbol does not inherit the parent anymore.
e.g. I have a resistor library where all resistors derive from a single parent, so I have only one place to update the graphics. Derived resistors might add additional properties, so the easiest way to create a new one is to copy an existing one. This removes however the parent, which is not what I want (and strictly it is speaking not a copy either, since the definition is changed). Is there any way to avoid this ?
I have no KiCad here to check it.
Since ‘always’ I am using ‘Save As…’ and I suppose it will work as you expect. But resistors lists I have done when symbols had aliases and in one KiCad upgrade (probably V5 → V6) all my aliases were changed to derived symbols. Just check ‘Save As…’.
The issue with the copy / paste thing here is that derived symbols can only exist within the same library. You’ll notice that if you ‘Save As…’ to another library, the parent symbol is also duplicated over. There’s no easy way to do if you were to paste a derived symbol in to another library that with how copy / paste is implemented. (As in: we could do it, but it would be a low priority to figure it out).
You can select and copy and paste several items at once. It should be pretty easy to check if a parent and a child are copied/pasted at the same time and keep the link, or am I wrong?
But even if that would work, probably the main problem is that there’s no intuitive way to find out what works, except by trial and error.
Like I said, it’s not that we couldn’t implement it, it’s just that it would probably be low priority. Current focus is on v9-rc1 bugfixing. Worth putting a feature request in on GitLab if you want though.