在emacs中获取emacs应用程序的名称

时间:2013-09-14 04:44:56

标签: macos emacs

上下文

我复制了Emacs.app并将其重命名为TerminalEmacs.app,这样我就可以通过输入" t"来访问Alfred的(emacs)终端。这样我将所有终端框架/窗口保存在一个emacs进程(TerminalEmacs.app)中,我的工作在另一个(Emacs.app)。

问题

我想仅在从TerminalEmacs.app启动emacs进程时才运行一些初始化,所以我想从emacs中检查emacs应用程序进程的名称。

2 个答案:

答案 0 :(得分:2)

您可以在Mac上访问环境变量EMACSPATH,它包含Emacs.app(或称为应用程序的任何内容)作为路径的一部分。我猜你可以这样做:

(if (string-match "TerminalEmacs\\.app" (getenv "EMACSPATH"))
   ...)

答案 1 :(得分:1)

变量command-line-args最初包含原始应用程序名称和所有参数。这些参数稍后会在处理时从列表中删除,但应用程序名称仍然是列表的一部分。

您可以执行以下操作:

(if (string-match "TerminalEmacs\\.app" (car command-line-args))
    ...)