Файл инициализации Emacs не загружается при запуске - PullRequest
3 голосов
/ 14 ноября 2011

Я пытаюсь запустить Emacs v22.2 на компьютере с Windows 7. Однако файл init не загружается при запуске (загрузка вручную с помощью M-x load-file работает нормально).

Я пробовал использовать оба:

~\.emacs, ~\_emacs 
~\.emacs.d.init.el 

но проблема сохраняется.

Оценка (insert (getenv "HOME")) возвращает ожидаемое значение.

Ответы [ 3 ]

4 голосов
/ 15 ноября 2011

В зависимости от того, как вы открываете emacs в Windows 7, он будет искать файл .emacs в разных местах.Если вызвать его из оболочки (в cygwin, Msys и т. Д.), Он будет выглядеть в расположении $ HOME (~), если вы запустите его из каталога установки, нажав на значок, он найдет этот файл в% APPDATA% location (обычно C: \ Users \ ваше имя пользователя \ AppData \ Roaming).Это может привести вас в веселую погоню повсюду.Я обнаружил, что лучше всего определить, где вы хотите хранить файл, и создать символические ссылки (используя утилиту windows mklink) на все другие возможные места.

1 голос
/ 14 ноября 2011

Я только что установил исправленную версию Emacs в Windows 7, указал переменную окружения HOME=c:\klang, извлек мои файлы конфигурации, созданные десятилетиями, из github и добавил

(and (= emacs-major-version 23) 
  (defun server-ensure-safe-dir (dir) "Noop" t))

до ~/.emacs.d/init.el и все в порядке.

Вам не хватает какого-то компонента из mule.el, просто установите новую версию emacs, чтобы исправить это.

Если HOME не задан в общепринятой среде, (getenv "APPDATA"), вероятно, вступит во владение и emacs попытается прочитать ваш файл инициализации где-то в этом каталоге.

0 голосов
/ 13 апреля 2019

Я столкнулся с аналогичной проблемой (на windows 10). Проблема заключалась в том, что Emacs при запуске читал ~\.emacs вместо ~\.emacs.d\init.el. Перенос содержимого ~\.emacs на ~\.emacs.d\init.el и удаление ~\.emacs решило проблему.

...