我在我的.emacs文件中有一些项目,如果我运行了
emacs -nw
命令,就不想让它们运行。如何在elisp中判断这种情况?您上面的回答是正确的,但是如果您想区分其他窗口系统,并且仅在实际使用X时才想运行代码,那么您必须继续进行操作。
(if (eq window-system 'X) (foo))
我想我找到了自己的答案:
(when window-system
(foo))
只有在X中运行时才会执行foo。
display-graphic-p
或任何其他报告帧特定UI相关功能的display-*-p
谓词。” - Nick Frezynski
(if (eq window-system 'X) (foo))
或(if window-system (foo))
或(when window-system (foo))
都没有什么区别。对于那些对细节感兴趣的人,让我告诉你,“C-h a”是你的好朋友。使用它,我搜索了“variable”,找到了'describe-variable,并使用它加上tab-completion找到了window-system变量。然后我只需将window-system
键入scratch缓冲区,然后进行测试。 - Jeremy Grozavescu