 
 ;;(mural-parse-response "MATCH foo bar 1\nMATCH hi bye 2\nDONE hi hi")
 ;; returns '((tag file row) ...)
-(defun mural-parse-response (results)
+(defun mural-parse-response (tagfile results)
   (delq nil
         (mapcar
          (lambda (x)

           (let ((row (split-string x "\t")))
             (if (equal (elt row 0) "MATCH")
                 ;; MATCH tag filename row
                 (list (elt row 1) (elt row 2) (string-to-number (elt row 3)))
               ;; hopefully DONE
               nil)))
         (split-string results "\n"))))

            until (mural-response-complete mural-server-output)
            do (accept-process-output proc .05))
      (if (mural-response-complete mural-server-output)
          (mural-parse-response tagfile mural-server-output)
        (error "mural-server timeout"))
      )))

(defun mural-query-save-tag (query)
  (let ((qresult (mural-query query mural-current-tagfile)))
