Когда Emacs развернут на весь экран, либо работает в fullscreen, из-за того, что размеры окна не кратны ширине столбца и высоте строки, снизу и справа появляются области, которые не перерисовываются. При выходе из fullscreen туда может «переехать»(и остаться там) mode line. При смене темы, они остаются без изменений. Если окно Emacs не развернуто на весь экран, то таких проблем нет, т.к. размер окна изменяется ступенчато, так, чтобы помещались ровно все строки и столбцы. Если изменить изменить размер окна, а затем снова развернуть Emacs на весь экран, то эти области перерисуются. Вопрос: как их перерисовать программно? Что-то мне подсказывает, что мне нужна функция x-send-client-message. По идее, должна быть возможность сделать запрос на обновление содержимого окна. Спасибо.
Такой код не предлагать, т.к. работает через раз:
(defun refresh-frame ()
(interactive)
(make-frame-invisible)
(make-frame-visible))