Я пытаюсь проверить, доступен ли 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-p не завершится неудачно... или, по крайней мере, подавить ошибку, если указанный вызов завершился с ошибкой. (И какой странный объект server-running-p в любом случае boundp возвращает nil, но вызов его преуспевает?)
Это относится к Emacs 23.2.1, если это имеет значение.
Собственно нашел ответ. По этой причине вы должны использовать fboundp вместо boundp.