Mercurial > emacs
changeset 60222:56061feffaa0
(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.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Wed, 23 Feb 2005 17:03:17 +0000 |
parents | 317ca910958b |
children | f2ea5deec196 |
files | lisp/info.el |
diffstat | 1 files changed, 22 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- 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 ()