]> git.eshelyaron.com Git - emacs.git/commitdiff
(eww) Reimplement the history functionality
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 25 Jun 2013 14:59:13 +0000 (16:59 +0200)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 25 Jun 2013 14:59:13 +0000 (16:59 +0200)
* net/eww.el (eww-back-url): Implement the history by stashing all
the data into a list.

lisp/ChangeLog
lisp/net/eww.el

index 864822bed20e279cce91885da4f964bfdfb0da38..fc57dc2b1633f53b2c126a68aef9c1082e669eb3 100644 (file)
@@ -1,3 +1,8 @@
+2013-06-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * net/eww.el (eww-back-url): Implement the history by stashing all
+       the data into a list.
+
 2013-06-25  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * files-x.el (read-file-local-variable-value): Use read-from-minibuffer
index d573f095bbda8c5a73fc10cc1e0bed0e959f8aab..4663e25e6c94e2cf6222313cf64ca21c3e8e905a 100644 (file)
@@ -339,7 +339,9 @@ word(s) will be searched for via `eww-search-prefix'."
 (defun eww-browse-url (url &optional new-window)
   (when (and (equal major-mode 'eww-mode)
             eww-current-url)
-    (push (list eww-current-url (point))
+    (push (list :url eww-current-url
+               :point (point)
+               :text (buffer-string))
          eww-history))
   (eww url))
 
@@ -354,8 +356,12 @@ word(s) will be searched for via `eww-search-prefix'."
   (interactive)
   (when (zerop (length eww-history))
     (error "No previous page"))
-  (let ((prev (pop eww-history)))
-    (url-retrieve (car prev) 'eww-render (list (car prev) (cadr prev)))))
+  (let ((prev (pop eww-history))
+       (inhibit-read-only t))
+    (erase-buffer)
+    (insert (plist-get prev :text))
+    (goto-char (plist-get prev :point))
+    (setq eww-current-url (plist-get prev :url))))
 
 (defun eww-next-url ()
   "Go to the page marked `next'.