     (get-buffer-create buffer)
     (with-current-buffer buffer
       (erase-buffer)
-      (mapcar 'ycmd--display-single-file-parse-result results))
+      (mapc 'ycmd--display-single-file-parse-result results))
     (display-buffer buffer)))
 
 (defun ycmd-parse-buffer ()

        (erase-buffer)
        (insert (pp-to-string content))))))

(defvar ycmd--server-actual-port 0
  "The actual port being used by the ycmd server.
This is set based on the output from the server itself.")

(defvar ycmd--hmac-secret nil
  "This is populated with the hmac secret of the current connection.
Users should never need to modify this, hence the defconst.  It is
not, however, treated as a constant by this code.  This value
gets set in ycmd-open.")

(defconst ycmd--server-process "ycmd-server"
  "The Emacs name of the server process.
This is used by functions like `start-process', `get-process'
and `delete-process'.")

(defvar-local ycmd--notification-timer nil
  "Timer for notifying ycmd server to do work, e.g. parsing files.")

(defvar ycmd--keepalive-timer nil
  "Timer for sending keepalive messages to the server.")

(defvar ycmd--on-focus-timer nil
  "Timer for deferring ycmd server notification to parse a buffer.")

(defconst ycmd--server-buffer-name "*ycmd-server*"
  "Name of the ycmd server buffer.")

(defun ycmd-major-mode-to-file-types (mode)
  "Map a major mode MODE to a list of file-types suitable for ycmd.


This is suitable as an entry in `ycmd-file-parse-result-hook'."
  (with-silent-modifications
    (set-text-properties (point-min) (point-max) nil))
  (mapc 'ycmd--decorate-single-parse-result results)
  results)

(defun ycmd--display-single-file-parse-result (result)
