我正在尝试server-running-p在调用之前检查我的.emacs文件中是否可用.我已经有以下内容:
(if (not (server-running-p))
    (server-start))
但在我使用Emacs的某些计算机上,调用(server-running-p)会出错,因为所述调用不可用.所以我想server-running-p在调用之前检查是否可用.我认为boundp会尝试,但即使通话成功,也会调用(boundp 'server-running-p)return .什么是检查调用不会失败的正确方法...或者至少在所述调用失败时抑制错误.(无论如何,返回的是什么样的奇怪物体,但称它成功了?)nil(server-running-p)server-running-pserver-running-pboundpnil
这是在Emacs 23.2.1上,如果它有任何区别.
实际上找到了答案.出于某种原因,你必须使用fboundp它来代替它boundp.
ryu*_*ash 23
boundp检查变量是否绑定.既然server-running-p是你想要使用的功能fboundp.像这样:
(if (and (fboundp 'server-running-p) 
         (not (server-running-p)))
   (server-start))
小智 14
一种更简单的方法是使用"require"来确保加载服务器代码.这是我使用的:
(require 'server)
(unless (server-running-p)
    (server-start))
| 归档时间: | 
 | 
| 查看次数: | 2696 次 | 
| 最近记录: |