     (tern-update-argument-hints-async)))
 
 (defun tern-left-buffer ()
-  (declare (special buffer-list-update-hook))
   (when (and tern-buffer-is-dirty (not (buffer-file-name (car (buffer-list)))))
     (setf tern-buffer-is-dirty nil)
     (let ((buffer-list-update-hook ()))

                   (forward-char 1)))))))

(defun tern-show-argument-hints ()
  (declare (special message-log-max))
  (cl-destructuring-bind (paren . type) tern-last-argument-hints
    (let ((parts ())
          (current-arg (tern-find-current-arg paren)))

         (url (url-parse-make-urlobj "http" nil nil tern-server port "/" nil nil nil)))
    (url-http url #'tern-req-finished (list c))))

(defun tern-req-finished (c)
  (defvar url-http-process)
  (defvar url-callback-function)
  (let ((is-error (and (consp c) (eq (car c) :error)))
        (found-body (search-forward "\n\n" nil t))
        (deactivate-mark nil))
