Я только что установил Aquamacs на своем Mac.
У меня есть .emacs файл в моем доме, который содержит все мои настройки. Среди них я имею:
(custom-set-faces
'(default ((t (:stipple nil :background "black" :foreground "grey70" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 140 :width normal :foundry "apple" :family "Monaco"))))
'(font-lock-builtin-face ((t (:foreground "grey50"))))
'(font-lock-comment-face ((t (:foreground "darkgreen"))))
'(font-lock-constant-face ((t (:foreground "grey50"))))
'(font-lock-doc-face ((t (:foreground "grey50"))))
'(font-lock-doc-string-face ((t (:foreground "yellow2"))))
'(font-lock-function-name-face ((t (:foreground "SteelBlue"))))
'(font-lock-keyword-face ((t (:foreground "red"))))
'(font-lock-preprocessor-face ((t (:foreground "SteelBlue"))))
'(font-lock-reference-face ((t (:foreground "LightSkyBlue"))))
'(font-lock-string-face ((t (:foreground "yellow2"))))
'(font-lock-type-face ((t (:foreground "violet"))))
'(font-lock-variable-name-face ((t (:foreground "orange"))))
'(font-lock-warning-face ((t (:foreground "grey50"))))
'(isearch ((t (:background "yellow4" :foreground "black"))))
'(mode-line ((t (:background "grey90" :foreground "black"))))
'(text-mode-default ((t nil)))
'(zmacs-region ((t (:background "grey70" :foreground "black")))))
Этот блок, кажется, не применяется автоматически.
Если я выбираю строки из .emacs и вручную оцениваю их, все хорошо работает. Мое предположение - то, что эти опции переопределяются в некотором другом месте.
Как я могу отладить это? Где я должен бороться?
ОБНОВЛЕНИЕ:
Согласно этому, предпочтения должны быть загружены в следующем порядке:
~/.emacs (deprecated -- meaning 'should not be used
for new installations, but will continue to be supported' -- in Aquamacs on OS X)
customizations saved by request or automatically by Aquamacs in customizations.el
/Library/Preferences/Emacs/Preferences.el
/Library/Preferences/Aquamacs Emacs/Preferences.el
~/Library/Preferences/Emacs/Preferences.el
~/Library/Preferences/Aquamacs Emacs/Preferences.el
Мой ~/Library/Preferences/Aquamacs Emacs/Preferences.el
похож (по умолчанию):
(load "~/.emacs")
Таким образом, это действительно не имеет смысла мне...
У меня была та же проблема при выбирании цвета точки. Затем я нашел файл customizations.el, изменил настройки строки цвет точки там, и все хорошо работало. Я не знаю, будет ли Ваш файл на том же месте, но мой был найден здесь:
/Users/viviannevilar/Library/Preferences/Aquamacs Emacs/customizations.el
Хорошо. Это - то, что я сделал в конце. Главным образом я "импортировал" поверхности в настройки Aquamacs путем выполнения:
Все хорошо работает после перезапуска Aquamacs. Стон.
Благодаря любому здесь.
В зарубке ненавидит программное обеспечение: Aquamacs "Emacs", Nick нашел, что пользовательские поверхности набора работали в Emacs, но не в Aquamacs.
Поскольку Nick сделал, Вы могли бы также попробовать свой код пользовательских поверхностей набора в окне взаимодействия Lisp, будучи осторожными как относительно его проблемы ^J (который является вне моего уровня экспертных знаний в Lisp).
При использовании имени шрифта можно проверить, что Aquamacs понимает это при помощи emacs -fn fontname
. В случае ошибки просто перестали работать пользовательские поверхности набора, и Emacs затем продолжает использовать шрифт, который он использовал бы иначе.
Полная последовательность запуска Emacs документируется в сводный раздел Запуска руководства Lisp Emacs. Это руководство не документирует Aquamacs-определенные расширения.
В комментарии Вы упоминаете что, делая Ваши настройки от term-setup-hook' still doesn't work. So what overrides them is either in
рычаг установки окна' или на Aquamacs-определенном шаге.
Aquamacs имеет некоторую определенную настройку для поверхностей, которые могут переопределять Ваши настройки, сделанные через стандартный механизм Emacs. Они могут быть выключены включением (aquamacs-autoface-mode 0)
в Вашем .emacs
или через меню “Options / Appearance / Auto Faces / Auto Faces”.
Wiki Emacs имеет некоторую информацию о том, чтобы заставлять Aquamacs вести себя как другой Emacsen.
Для получения информации о .emacs файле и поиске и устранении неисправностей, см. эту статью emacswiki.org.
См. также эту статью, Файл Init, ~/.emacs, для возможных конфликтов.
Во время запуска Emacs инициализирует себя согласно данному распоряжению кода/файла. Если часть кода, выполненного в Вашем .emacs 'файл, должна быть отложена, пока первоначальный код установки терминальной или оконной системы не был выполнен, но не, то Вы испытаете эту проблему (этот порядок выполнения кода/файла не осуществляется после запуска).
Для отсрочки выполнения кода Lisp Emacs до окончания установки терминальной или оконной системы рассматривайте код как список лямбды и установите значение или переменной рычага установки термина или рычага установки окна к этой функции лямбды. Например,
(add-hook 'term-setup-hook (lambda () (when (string-match "\\`vt220" (or (getenv "TERM") "")) ;; Make vt220's "Do" key behave like M-x: (global-set-key [do] 'execute-extended-command))))