title: How to check if a function (e.g. server-running-p) is available under Emacs?
body: <p>I'm trying to check if <code>server-running-p</code> is available in my .emacs file before calling it. I already have the following:</p>
  
  <pre><code>(if (not (server-running-p))
      (server-start))
  </code></pre>
  
  <p>But on some computers where I use Emacs, calling <code>(server-running-p)</code> gives an error because said call is not available. So I want to check if <code>server-running-p</code> is available before calling it. I thought <code>boundp</code> would do the try, but calling <code>(boundp 'server-running-p)</code> return <code>nil</code> even though the <code>(server-running-p)</code> call succeeds. What's the right way to check that calling <code>server-running-p</code> won't fail... or at least to suppress the error if said call fails. (And what kind of weird object is <code>server-running-p</code> anyway that <code>boundp</code> returns <code>nil</code>, but calling it succeeds?)</p>
  
  <p>This is on Emacs 23.2.1, if it makes any difference.</p>
  
  <hr>
  
  <p>Actually found the answer. You have to use <code>fboundp</code> for this instead of <code>boundp</code>, for some reason.</p>