From 5480b8ef252bece2ad225af8898b71ad931f3924 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Wed, 31 Dec 2014 01:50:06 +0200 Subject: [PATCH] Multi-page isearch support in eww * 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 | 5 +++++ lisp/net/eww.el | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 9bbc92eb733..4be97b564a9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2014-12-30 Juri Linkov + + * net/eww.el (eww-isearch-next-buffer): New function. + (eww-mode): Set multi-isearch-next-buffer-function to it. + 2014-12-30 Dmitry Gutov * progmodes/xref.el (xref-find-definitions): Mention "no diff --git a/lisp/net/eww.el b/lisp/net/eww.el index b43dba589c2..af902ded472 100644 --- a/lisp/net/eww.el +++ b/lisp/net/eww.el @@ -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 -- 2.39.2