     (if view-root
         (let ((url (request-view-url view-root view-depth view-style view-min-sharability view-max-sharability view-min-weight view-max-weight)))
 (setq hack-url url)
+            (setq view-current-line (line-number-at-pos))
             (http-get
                 (concat (base-url) "set"
                     "?key=" (w3m-url-encode-string key)

        ((string-equal style "links-inverse") "targets-inverse")))

(defun request-view (root depth style minv maxv minw maxw)
    (http-get (request-view-url root depth style minv maxv minw maxw) 'receive-view))

(defun request-view-url  (root depth style minv maxv minw maxw)

                    (let ((view-json (json-read-from-string view)))
                        (write-view (cdr (assoc 'children view-json)) 0))
                    (beginning-of-buffer)
                    (setq visible-cursor t)
                    ;; Try to move to the corresponding line in the previous view.
                    ;; This is not always possible and not always helpful, but it is often both.
                    (beginning-of-line view-current-line)
