title: How do I get a list of Emacs lisp non-interactive functions?
body: <p>How do I get a complete list of non-interactive functions that I can use in Emacs Lisp?</p>
  
  <p>The interactive ones are easy enough to find in the help system, but I want a complete list of all the other functions I can use.  For example <code>concat</code>, <code>car</code>, <code>cdr</code>, etc.  (And preferably with documentation).</p>
  
  <p>Thanks</p>
  
  <p>Ed</p>
  
  <p>Edit:  Answered thanks to Jouni.  I played around with his answer a bit, and got it to sort the results (using the results of his code to help me find the correct sorting function!)</p>
  
  <pre><code>(flet ((first-line (text)
                     (if text
                         (substring text 0 (string-match "\n" text))
                       "")))
    (let ((funclist (list)))
      (mapatoms 
       (lambda (x)
         (and (fboundp x)                     ; does x name a function?
              (not (commandp (symbol-function x))) ; is it non-interactive?
              (subrp (symbol-function x))          ; is it built-in?
              (add-to-list 'funclist 
                           (concat (symbol-name x) " - " (first-line (documentation x))
                                   "\n")))))
      (dolist (item (sort funclist 'string&lt;))
        (insert item))))
  </code></pre>