]> git.eshelyaron.com Git - emacs.git/commitdiff
Multi-page isearch support in eww
authorJuri Linkov <juri@linkov.net>
Tue, 30 Dec 2014 23:50:06 +0000 (01:50 +0200)
committerJuri Linkov <juri@linkov.net>
Tue, 30 Dec 2014 23:50:06 +0000 (01:50 +0200)
* lisp/net/eww.el (eww-isearch-next-buffer): New function.
(eww-mode): Set multi-isearch-next-buffer-function to it.
http://lists.gnu.org/archive/html/emacs-devel/2014-12/msg02300.html

lisp/ChangeLog
lisp/net/eww.el

index 9bbc92eb733574751d255937acf6b772704b5c9b..4be97b564a98c805e07a54a2f48d37a57d837878 100644 (file)
@@ -1,3 +1,8 @@
+2014-12-30  Juri Linkov  <juri@linkov.net>
+
+       * net/eww.el (eww-isearch-next-buffer): New function.
+       (eww-mode): Set multi-isearch-next-buffer-function to it.
+
 2014-12-30  Dmitry Gutov  <dgutov@yandex.ru>
 
        * progmodes/xref.el (xref-find-definitions): Mention "no
index b43dba589c2e46e0384633edc05c92eb2334703e..af902ded472439768b468506a3062b67dd99f881 100644 (file)
@@ -705,6 +705,8 @@ the like."
    (setq-local tool-bar-map eww-tool-bar-map))
   ;; desktop support
   (setq-local desktop-save-buffer 'eww-desktop-misc-data)
+  ;; multi-page isearch support
+  (setq-local multi-isearch-next-buffer-function 'eww-isearch-next-buffer)
   (setq truncate-lines t)
   (buffer-disable-undo)
   (setq buffer-read-only t))
@@ -1885,6 +1887,19 @@ Otherwise, the restored buffer will contain a prompt to do so by using
 (add-to-list 'desktop-buffer-mode-handlers
              '(eww-mode . eww-restore-desktop))
 
+;;; Isearch support
+
+(defun eww-isearch-next-buffer (&optional buffer wrap)
+  "Go to the next page to search using `rel' attribute for navigation."
+  (if wrap
+      (condition-case nil
+         (eww-top-url)
+       (error nil))
+    (if isearch-forward
+       (eww-next-url)
+      (eww-previous-url)))
+  (current-buffer))
+
 (provide 'eww)
 
 ;;; eww.el ends here