Ні, неможливо перезавантажити змінену конфігурацію, і Emacs веде себе так, як ніби ці зміни вже були в наявності під час завантаження Emacs. Коротше кажучи, пакети Emacs мають занадто багато свободи, щоб це було можливо.
Ви згадуєте, що деякі основні режими не сприймають зміни конфігурації. Ймовірною причиною цього є те, що включення режиму встановлює деякі буферні локальні змінні на основі поточних значень певних параметрів. Без повторного ввімкнення такого режиму в кожному буфері, який його використовує, не всі зміни будуть підбиратися. І навіть тоді цілком можливо, що деякі речі залишаються незмінними. Шанси на цю роботу вищі, коли параметри налаштовуються за допомогою custom-set-variables
форми, але це має бути явно реалізовано для кожного варіанту. І поки що ми говорили лише про основні режими та їх параметри ...
Ви можете спробувати реалізувати команду для повторного включення основного режиму кожного буфера. Але навряд чи це повністю б увімкнуло всі зміни, і що ще гірше, вимкнуть усі незначні режими, які ви ввімкнули вручну, і втратить всі види іншого стану.
З цієї причини я навіть рекомендую взагалі не використовувати eval-buffer
ваш файл init, щоб зібрати якомога більше змін. Оцінюйте змінені налаштування індивідуально, використовуючи, eval-last-sexp
і якщо це не працює, тоді вам доведеться перезапустити Emacs.
Як зберегти стан, коли Emacs закритий - це інше питання, яке слід задавати окремо.