# HG changeset patch # User Juri Linkov # Date 1109178197 0 # Node ID 56061feffaa0b499ae2692306d5287cc57e882ef # Parent 317ca910958b28cacb512f7e822de582b16fef9e (Info-isearch-search): New defcustom. (Info-isearch-search): Call the default isearch function when Info-isearch-search is nil. (Info-isearch-wrap): Use variable Info-isearch-search. diff -r 317ca910958b -r 56061feffaa0 lisp/info.el --- a/lisp/info.el Wed Feb 23 09:13:52 2005 +0000 +++ b/lisp/info.el Wed Feb 23 17:03:17 2005 +0000 @@ -201,6 +201,15 @@ :type 'regexp :group 'info) +(defcustom Info-isearch-search t + "*If non-nil, isearch invoked in Info mode uses `Info-search' function. +This allows isearch to search through multiple nodes. +When isearch fails, it wraps and restarts the search from the +top/final node depending on search direction." + :version "22.1" + :type 'boolean + :group 'info) + (defcustom Info-mode-hook ;; Try to obey obsolete Info-fontify settings. (unless (and (boundp 'Info-fontify) (null Info-fontify)) @@ -1637,23 +1646,21 @@ (Info-search regexp bound noerror count 'backward)) (defun Info-isearch-search () - (cond - (isearch-word - (if isearch-forward 'word-search-forward 'word-search-backward)) - (isearch-regexp - (lambda (regexp bound noerror) - (condition-case nil - (progn - (Info-search regexp bound noerror nil - (unless isearch-forward 'backward)) - (point)) - (error nil)))) - (t - (if isearch-forward 'search-forward 'search-backward)))) + (if (and Info-isearch-search (not isearch-word)) + (lambda (string &optional bound noerror count) + (condition-case nil + (progn + (Info-search (if isearch-regexp string (regexp-quote string)) + bound noerror count + (unless isearch-forward 'backward)) + (point)) + (error nil))) + (let ((isearch-search-fun-function nil)) + (isearch-search-fun)))) (defun Info-isearch-wrap () - (if isearch-regexp - (if isearch-forward (Info-top-node) (Info-final-node)) + (when (and Info-isearch-search (not isearch-word)) + (if isearch-forward (Info-top-node) (Info-final-node)) (goto-char (if isearch-forward (point-min) (point-max))))) (defun Info-isearch-push-state ()