У Розенталя есть правило:
Если прямая речь находится внутри слов автора, то перед ней ставится двоеточие, а после нее — или запятая, или тире, или запятая и тире (по условиям контекста)
Однако это правило как-то однобоко воспроизведено. Так, непонятно, снимают ли дополнительный знак - запятую (даже если он требуется по условиям контекста) многоточие, вопросительный знак и восклицательный.
Анализирую этот пример:
И только когда он шептал: «Мама! Мама!» — ему становилось как будто легче (Ч.) — тире после вопросительного/восклицательного знака, которым заканчивается прямая речь;
По условиям контекста здесь требуется запятая после прямой речи, так как это СП, но запятая не стоит, ставится только тире.
Возьмем пример из текста Овчинниковой:
Из района в район, из дома в дом передавали как пароль: «Собраться в назначенный час...», и по улицам осаждённого города двигались дети...
Здесь автор ставит запятую, потому что она требуется по условиям контекста (СП), но не ставит тире, хотя есть многоточие. И что это? Ошибка?
Непонятно, каким правилом руководствоваться в том случае, когда на постановку знака влияет контекст?