Mercurial > emacs
changeset 100509:9c2f92d8fc34
(Info-isearch-search): Implement lax version of
incremental word search in Info.
(Info-isearch-start): Set Info-isearch-initial-node to the
current node when search is nonincremental to not stop at the
initial node in this case.
(Info-mode-map): Unbind "\M-s" from `Info-search'.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Fri, 19 Dec 2008 00:18:52 +0000 |
parents | 00c300ec74ba |
children | 4237a91e0f39 |
files | lisp/info.el |
diffstat | 1 files changed, 10 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/info.el Thu Dec 18 22:57:53 2008 +0000 +++ b/lisp/info.el Fri Dec 19 00:18:52 2008 +0000 @@ -1815,7 +1815,12 @@ (replace-regexp-in-string "^\\W+\\|\\W+$" "" string) nil t) - "\\b") + ;; Lax version of word search + (if (or isearch-nonincremental + (eq (length string) + (length (isearch-string-state + (car isearch-cmds))))) + "\\b")) bound noerror count (unless isearch-forward 'backward)) (Info-search (if isearch-regexp string (regexp-quote string)) @@ -1845,7 +1850,10 @@ (progn (Info-find-node file node) (sit-for 0)))) (defun Info-isearch-start () - (setq Info-isearch-initial-node nil)) + (setq Info-isearch-initial-node + ;; Don't stop at initial node for nonincremental search. + ;; Otherwise this variable is set after first search failure. + (and isearch-nonincremental Info-current-node))) (defun Info-isearch-filter-predicate (beg-found found) "Skip invisible text, node header line and Tag Table node." @@ -3241,8 +3249,6 @@ (define-key map "r" 'Info-history-forward) (define-key map "s" 'Info-search) (define-key map "S" 'Info-search-case-sensitively) - ;; For consistency with Rmail. - (define-key map "\M-s" 'Info-search) (define-key map "\M-n" 'clone-buffer) (define-key map "t" 'Info-top-node) (define-key map "T" 'Info-toc)