Вам необходимо настроить поведение display-buffer
(это функция, вызываемая switch-to-buffer
и друзьями).Второй необязательный аргумент FRAME
должен быть установлен на nil
, чтобы функция учитывала только текущий кадр при поиске уже открытых буферов.Также убедитесь, что для display-buffer-reuse-frames
установлено значение nil
(по умолчанию).
Проверьте встроенную документацию: C-h f display-buffer RET
К сожалению, display-buffer
часто не вызываетсянепосредственно.Вероятно, наилучшим способом действий будет переназначение switch-to-buffer
в ваш пользовательский switch-to-buffer
.