Как я могу узнать, запускаю ли я emacs или aquamacs в файле .emacs? - PullRequest
5 голосов
/ 15 июля 2010

Я хочу создать другую среду между Cocama Emacs и Aquamacs.Они оба читают ~ / .emacs, поэтому я попробовал что-то вроде этого.

(unless (symbolp 'aquamacs-version)
; code for emacs
)

Но, похоже, это не работает.

Как я могу узнать, запускаю ли я emacs или aquamacs?

Ответы [ 5 ]

8 голосов
/ 16 июля 2010

Я бы попробовал (boundp 'aquamacs-version).

4 голосов
/ 13 мая 2011

Я считаю, что вы ищете:

(when (featurep 'aquamacs)
   ...)
2 голосов
/ 20 июля 2010

(symbolp 'aquamacs-version) всегда будет верным.(boundp 'aquamacs-version) будет истинным, только если символ был привязан («назначен») к значению.Таким образом, ваш код может быть заменен на (progn nil), так как условие всегда истинно.

Если aquamacs-version является функцией, а не переменной, используйте (fboundp 'aquamacs-version).

2 голосов
/ 15 июля 2010

aquamacs будет читать .emacs, но вы можете поместить все свои специфические настройки aquamacs в файл aquamacs Preferences.el:

Установить специфичные для Aquamacs настройки и пакеты в путях Aquamacs Emacs, другие (которые должны быть загружены другой Углеродный Emacsen) в путях Emacs. Предпочтения (.emacs)

Эти настройки загружены в данный заказ:

~ / .emacs (устарело - означает не должен использоваться для новых установки, но будет продолжать поддерживается '- в Aquamacs на OS X) настройки сохраняются по запросу или автоматически Aquamacs в customizations.el /Library/Preferences/Emacs/Preferences.el / Library / Preferences / Aquamacs Emacs / Preferences.el ~ / Library / Preferences / Emacs / Preferences.el ~ / Library / Preferences / Aquamacs Emacs / Preferences.el

0 голосов
/ 16 июля 2010

Я не в состоянии проверить это, но если вы не можете идентифицировать Aquamacs по system-type или window-system, тогда я думаю, что вы можете определить это по команде, использованной для его запуска. Предполагая, что исполняемый файл / ссылка на самом деле называется «aquamacs», я думаю, что-то вроде этого должно сработать:

(unless (equal (car command-line-args) "aquamacs")
  ...)

Если это не удалось, попробуйте M-x apropos-value aquamacs RET найти любые переменные, содержащие эту строку, для использования в аналогичном сравнении.

...