The code that generates these errors is in backpatch_value(), which is called both from backpatch_zmachine_image() and output_file().
I think this is the only normal (non-internal) error that can happen at output_file() time. It would be sensible to check for this case earlier on, before all the reportage.
We could probably drop UERROR_SFLAG if we made this change. We'd only be looking at each symbol once, so no need to guard again repeated errors. On the down side, it might be difficult to replicate the backpatching logic about which symbols are used at all.
The code that generates these errors is in backpatch_value(), which is called both from backpatch_zmachine_image() and output_file().
I think this is the only normal (non-internal) error that can happen at output_file() time. It would be sensible to check for this case earlier on, before all the reportage.
We could probably drop UERROR_SFLAG if we made this change. We'd only be looking at each symbol once, so no need to guard again repeated errors. On the down side, it might be difficult to replicate the backpatching logic about which symbols are used at all.