1

语境

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

问题

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

4

2 回答 2

2

您可以访问环境变量EMACSPATH,在 Mac 上,它包含Emacs.app(或任何应用程序被调用)作为路径的一部分。我想你可以做类似的事情:

(if (string-match "TerminalEmacs\\.app" (getenv "EMACSPATH"))
   ...)
于 2013-09-14T05:07:46.213 回答
1

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

您可以执行以下操作:

(if (string-match "TerminalEmacs\\.app" (car command-line-args))
    ...)
于 2014-04-22T20:25:14.580 回答