Нет, невозможно перезагрузить измененную конфигурацию и заставить Emacs вести себя так, как если бы эти изменения уже были на момент загрузки Emacs. Короче говоря, пакеты Emacs имеют слишком много свободы, чтобы это было осуществимо.
Вы упоминаете, что некоторые основные режимы не принимают изменения конфигурации. Вероятная причина этого заключается в том, что включение режима устанавливает некоторые локальные переменные буфера на основе текущих значений определенных параметров. Без повторного включения такого режима в каждом буфере, который его использует, не все изменения будут приняты. И даже тогда вполне возможно, что некоторые вещи останутся неизменными. Шансы этой работы выше, когда параметры настраиваются с помощью custom-set-variables
формы, но это должно быть реализовано явно для каждого параметра. И пока мы говорили только о главных режимах и их вариантах ...
Вы можете попытаться реализовать команду для повторного включения основного режима каждого буфера. Но маловероятно, что это полностью активирует все изменения, и что еще хуже, отключит все второстепенные режимы, которые вы включили вручную, и потеряет все виды других состояний.
По этой причине я бы даже рекомендовал вообще не использовать eval-buffer
ваш файл инициализации, чтобы получить как можно больше изменений. Оцените измененные настройки индивидуально, используя, eval-last-sexp
и если это не сработает, тогда вам нужно перезапустить Emacs.
Как сохранить состояние, когда Emacs закрыт, - это другой вопрос, который следует задавать отдельно.