 
       (let* ((options-file (ycmd--create-options-file hmac-secret))
              (server-command ycmd-server-command)
-             (args (apply 'list (concat "--options_file=" options-file) ycmd-server-args))
+             (args (apply 'list (concat "--options_file=" options-file)
+                          ycmd-server-args))
              (server-program+args (append server-command args))
-             (proc (apply #'start-process ycmd--server-process proc-buff server-program+args))
+             (proc (apply #'start-process ycmd--server-process-name proc-buff
+                          server-program+args))
              (cont t)
              (start-time (float-time)))
         (while cont

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'.")

process with `delete-process'."
  (condition-case nil
      (let ((start-time (float-time)))
        (interrupt-process ycmd--server-process-name)
        (while (and (ycmd-running?)
                    (> ycmd-delete-process-delay
                       (- (float-time) start-time)))
          (sit-for 0.05))
        (delete-process ycmd--server-process-name))
    (error nil)))

(defun ycmd-running? ()
  "Return t if a ycmd server is already running."
  (--when-let (get-process ycmd--server-process-name)
    (and (processp it) (process-live-p it) t)))

(defun ycmd--keepalive ()
