> We previously signaled user-error in situations where we couldn't
> continue at all. Your addition is in a situation where nothing
> particularly bad happened, so from the POV of a caller, we are now
> signaling a user-error gratuitously. I'm bothered only by the change
> whereby we signal a user-error with the purpose of attracting the
> user's attention, not because we cannot continue.
I don't really see much difference.
In the two cases that already signal user-error, "continuing" would mean doing nothing; there would be no other bad consequence. In the case I've changed, continuing means the same: doing nothing. In all three cases, signaling, instead of continuing, is purely to attract the user's attention.
In my opinion, such code should call switch-to-(prev|next)-buffer instead.
Anyway, there's no point in arguing this; if you feel strongly that the last case should depend on called-interactively-p, I'll change it. But I think we should instead leave it as it is and educate code writers to use the documented calls instead of the user-level commands.