         rst))))
 
 (defun mural-tagfile-for-filename (filename)
+  "Given a source file, return the name of the associated
+tagfile.  This matches based on sharing the same parent
+directory, so /home/bob/project/foo.c will match the tag file in
+/home/bobo/project/TAGS.  If no match is found, return nil"
   (let ((resolved-fname (file-truename filename)))
     (car (filter
           (lambda (tagfile)
-            ;; file-truename resolves symlinks so we make sure to compare the same thing
+            ;; file-truename resolves symlinks so we make sure to
+            ;; compare the same thing
             (eq 0 (string-match
                    (file-truename (file-name-directory tagfile))
                    resolved-fname)))
           (mapcar 'car mural-tagfile-to-process)))))
 
 (defun mural-query (query tagfile)
+  "Run a fuzzy QUERY against TAGFILE and return the results as
+specified in mural-parse-response"
   (if (equal "" query)
       '()
     (let ((proc (mural-get-server tagfile))

         (split-string results "\n"))))

(defun mural-response-complete (result)
  (integerp (string-match "^DONE" result)))

(defun mural-read-tag (file-base)

                 mural-tagfile-to-process))))

(defun mural-get-server (tagfile)
  "Return the process for the given tagfile, if necessary creating/restarting it"
  (let ((proc (cdr (assoc tagfile mural-tagfile-to-process))))
    (if (or (not proc)
            (not (eq (process-status proc) 'run)))
