如何知道在.emacs文件中运行emacs还是aquamacs?

如何知道在.emacs文件中运行emacs还是aquamacs?,emacs,elisp,Emacs,Elisp,我想在Cocoa emacs和Aquamacs之间创建不同的环境。他们都读~/.emacs,所以我尝试了类似的东西 (unless (symbolp 'aquamacs-version) ; code for emacs ) 但它似乎不起作用 我如何知道我是否运行了emacs或aquamacs?aquamacs将显示为.emacs,但您可以将所有aquamacs特定的自定义设置放在aquamacs Preferences.el文件中: 安装Aquamacs特定首选项 以及Aquamacs Em

我想在Cocoa emacs和Aquamacs之间创建不同的环境。他们都读~/.emacs,所以我尝试了类似的东西

(unless (symbolp 'aquamacs-version)
; code for emacs
)
但它似乎不起作用


我如何知道我是否运行了emacs或aquamacs?

aquamacs将显示为.emacs,但您可以将所有aquamacs特定的自定义设置放在aquamacs Preferences.el文件中:

安装Aquamacs特定首选项 以及Aquamacs Emacs路径中的包, 其他(应通过 Emacs路径中的其他碳(Emacsen)。 首选项(.emacs)

这些首选项将在中加载 发出命令:

~/.emacs(不推荐使用--含义 '不应用于新的 安装,但将继续 支持“--在操作系统X上的Aquamacs中) 通过请求或保存的自定义设置 自动由Aquamacs在 定制 /库/Preferences/Emacs/Preferences.el /库/首选项/Aquamacs Emacs/Preferences.el ~/Library/Preferences/Emacs/Preferences.el ~/Library/Preferences/Aquamacs Emacs/Preferences.el


我无法对此进行测试,但如果您不能通过
系统类型
窗口系统
来识别AquaMac,那么我想您可以通过用于运行它的命令来确定它。假设可执行文件/链接实际上被命名为“aquamacs”,那么我认为类似这样的东西应该可以做到这一点:

(unless (equal (car command-line-args) "aquamacs")
  ...)
否则,请尝试
M-x apropos value aquamacs RET
搜索包含该字符串的任何变量,以用于类似的比较。

我会尝试
(boundp'aquamacs版本)
(symbolp'aquamacs版本)
将始终为真<代码>(boundp'aquamacs版本)仅当符号已绑定到(“指定”)值时才为真。因此,您的代码基本上可以被
(progn nil)
替换,因为条件始终为真


如果
aquamacs版本
是一个函数,而不是一个变量,请使用
(fboundp'aquamacs版本)

我相信您需要的是:

(when (featurep 'aquamacs)
   ...)

我需要对cocoa-emacs使用AucTeX,并为其添加-(添加到列表“加载路径”//usr/share/emacs/site-lisp”)(加载“AucTeX.el”nil t)。由于AquaMac预先配备了AucTeX,我不希望AquaMac运行此代码。这就是我需要检查是否运行emacs或aquamacs的主要原因。为什么不试试碳emacs呢?默认情况下,它也有auctex,并且几乎是“香草”emacs,再加上一些包。然后,您可以在.emacs中使用(需要“auctex”)。我认为在你进入latex模式之前auctex都不会加载。