summaryrefslogtreecommitdiff
path: root/lisp/info.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1996-02-12 20:57:39 +0000
committerRichard M. Stallman <rms@gnu.org>1996-02-12 20:57:39 +0000
commit1e876f8348ed57830b76a91acca053667d81e0ed (patch)
tree3928b76fa613a09482c97a7b245d4754491d449b /lisp/info.el
parentd06f14b7df82fecebed1b58c5f995435d08aa998 (diff)
downloademacs-1e876f8348ed57830b76a91acca053667d81e0ed.tar.gz
(Info-find-index-name): New subroutine, from Info-index-next.
Match any type of definition, not just Function and Command. (Info-index-next): Use Info-find-index-name. (Info-find-node, Info-index, Info-index-next): Use `...' in err msgs.
Diffstat (limited to 'lisp/info.el')
-rw-r--r--lisp/info.el32
1 files changed, 18 insertions, 14 deletions
diff --git a/lisp/info.el b/lisp/info.el
index 54c383eb2ed..62d87b3a7c1 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -374,7 +374,7 @@ In standalone mode, \\<Info-mode-map>\\[Info-exit] exits Emacs itself."
(if (not (eq (current-buffer) (get-buffer "*info*")))
(setq guesspos
(Info-read-subfile guesspos))))
- (error "No such node: \"%s\"" nodename))))
+ (error "No such node: `%s'" nodename))))
(goto-char (max (point-min) (- guesspos 1000)))
;; Now search from our advised position (or from beg of buffer)
;; to find the actual node.
@@ -1328,7 +1328,7 @@ Give a blank topic name to go to the Index node itself."
(or matches
(progn
(Info-last)
- (error "No \"%s\" in index" topic)))
+ (error "No `%s' in index" topic)))
;; Here it is a feature that assoc is case-sensitive.
(while (setq found (assoc topic matches))
(setq exact (cons found exact)
@@ -1353,24 +1353,28 @@ Give a blank topic name to go to the Index node itself."
(forward-line (nth 3 (car Info-index-alternatives)))
(forward-line 3) ; don't search in headers
(let ((name (car (car Info-index-alternatives))))
- (if (or (re-search-forward (format
- "\\(Function\\|Command\\): %s\\( \\|$\\)"
- (regexp-quote name)) nil t)
- (search-forward (format "`%s'" name) nil t)
- (and (string-match "\\`.*\\( (.*)\\)\\'" name)
- (search-forward
- (format "`%s'" (substring name 0 (match-beginning 1)))
- nil t))
- (search-forward name nil t))
- (beginning-of-line)
- (goto-char (point-min)))))
- (message "Found \"%s\" in %s. %s"
+ (Info-find-index-name name)))
+ (message "Found `%s' in %s. %s"
(car (car Info-index-alternatives))
(nth 2 (car Info-index-alternatives))
(if (cdr Info-index-alternatives)
"(Press `,' for more)"
"(Only match)")))
+(defun Info-find-index-name (name)
+ "Move point to the place within the current node where NAME is defined."
+ (if (or (re-search-forward (format
+ "[a-zA-Z]+: %s\\( \\|$\\)"
+ (regexp-quote name)) nil t)
+ (search-forward (format "`%s'" name) nil t)
+ (and (string-match "\\`.*\\( (.*)\\)\\'" name)
+ (search-forward
+ (format "`%s'" (substring name 0 (match-beginning 1)))
+ nil t))
+ (search-forward name nil t))
+ (beginning-of-line)
+ (goto-char (point-min))))
+
(defun Info-undefined ()
"Make command be undefined in Info."
(interactive)