editscreen.cpp and LoadScreen.cpp each end in an "#else //non-editor
version" branch defining EditScreenInit/Handle/Shutdown and the LoadSaveScreen
trio. jascreens.cpp defines the same six under "#ifndef JA2EDITOR", so a
non-editor build compiles both.
Nothing linked the editor copies. The map file for JA2.exe resolves all six
to JA2_Ja2:jascreens.cpp.obj, link.exe having taken the first archive that
answered and never pulled the other. lld-link pulls both and calls it what it
is: six duplicate symbols.
The two sets are not identical -- the editor Handle stubs return ERROR_SCREEN
where jascreens returns TRUE -- so this removes the copies that lose, leaving
the behaviour the linked image already had.