comparison lisp/info.el @ 771:943eaba38521

[xemacs-hg @ 2002-03-13 08:51:24 by ben] The big ben-mule-21-5 check-in! Various files were added and deleted. See CHANGES-ben-mule. There are still some test suite failures. No crashes, though. Many of the failures have to do with problems in the test suite itself rather than in the actual code. I'll be addressing these in the next day or so -- none of the test suite failures are at all critical. Meanwhile I'll be trying to address the biggest issues -- i.e. build or run failures, which will almost certainly happen on various platforms. All comments should be sent to ben@xemacs.org -- use a Cc: if necessary when sending to mailing lists. There will be pre- and post- tags, something like pre-ben-mule-21-5-merge-in, and post-ben-mule-21-5-merge-in.
author ben
date Wed, 13 Mar 2002 08:54:06 +0000
parents 9f953fdc1394
children 79940b592197
comparison
equal deleted inserted replaced
770:336a418893b5 771:943eaba38521
1 ;;; info.el --- info package for Emacs. 1 ;;; info.el --- info package for Emacs.
2 ;; Keywords: help 2 ;; Keywords: help
3 3
4 ;; Copyright (C) 1985, 1986, 1993, 1997 Free Software Foundation, Inc. 4 ;; Copyright (C) 1985, 1986, 1993, 1997 Free Software Foundation, Inc.
5 ;; Copyright (C) 2002 Ben Wing.
5 6
6 ;; Author: Dave Gillespie <daveg@synaptics.com> 7 ;; Author: Dave Gillespie <daveg@synaptics.com>
7 ;; Richard Stallman <rms@gnu.ai.mit.edu> 8 ;; Richard Stallman <rms@gnu.ai.mit.edu>
8 ;; Maintainer: Dave Gillespie <daveg@synaptics.com> 9 ;; Maintainer: Dave Gillespie <daveg@synaptics.com>
9 ;; Version: diverged at version 1.07 of 7/22/93 10 ;; Version: diverged at version 1.07 of 7/22/93
615 616
616 ;;;###autoload 617 ;;;###autoload
617 (defun Info-find-node (filename &optional nodename no-going-back tryfile line) 618 (defun Info-find-node (filename &optional nodename no-going-back tryfile line)
618 "Go to an info node specified as separate FILENAME and NODENAME. 619 "Go to an info node specified as separate FILENAME and NODENAME.
619 Look for a plausible filename, or if not found then look for URL's and 620 Look for a plausible filename, or if not found then look for URL's and
620 dispatch to the appropriate fn. NO-GOING-BACK is non-nil if 621 dispatch to the appropriate fn. NO-GOING-BACK is non-nil if recovering
621 recovering from an error in this function; it says do not attempt 622 from an error in this function; it says do not attempt further (recursive)
622 further (recursive) error recovery. TRYFILE is ??" 623 error recovery. TRYFILE indicates that NODENAME might actually be a
624 filename, so if we can't find a node of this name, try going to the `Top'
625 node of a file of this name."
623 626
624 (Info-setup-initial) 627 (Info-setup-initial)
625 628
626 (cond 629 (cond
627 ;; empty filename is simple case 630 ;; empty filename is simple case
698 (equal Info-current-file filename) 701 (equal Info-current-file filename)
699 (let ((buffer-read-only nil)) 702 (let ((buffer-read-only nil))
700 (setq Info-current-file nil 703 (setq Info-current-file nil
701 Info-current-subfile nil 704 Info-current-subfile nil
702 Info-current-file-completions nil 705 Info-current-file-completions nil
703 Info-index-alternatives nil 706 ;; Nooooooooooo! Info-index can extend across more
707 ;; than one file (e.g. XEmacs, Lispref)
708 ;; Info-index-alternatives nil
704 buffer-file-name nil) 709 buffer-file-name nil)
705 (erase-buffer) 710 (erase-buffer)
706 (if (string= "dir" (file-name-nondirectory filename)) 711 (if (string= "dir" (file-name-nondirectory filename))
707 (Info-insert-dir) 712 (Info-insert-dir)
708 (Info-insert-file-contents filename t) 713 (Info-insert-file-contents filename t)
1578 (match-string 1 name) 1583 (match-string 1 name)
1579 name)) 1584 name))
1580 "") 1585 "")
1581 ")" 1586 ")"
1582 (or Info-current-node "")))))) 1587 (or Info-current-node ""))))))
1588
1583 1589
1584 ;; Go to an info node specified with a filename-and-nodename string 1590 ;; Go to an info node specified with a filename-and-nodename string
1585 ;; of the sort that is found in pointers in nodes. 1591 ;; of the sort that is found in pointers in nodes.
1586 1592
1587 ;;;###autoload 1593 ;;;###autoload
2292 (goto-char (point-min)) 2298 (goto-char (point-min))
2293 (while (re-search-forward pattern nil t) 2299 (while (re-search-forward pattern nil t)
2294 (setq matches 2300 (setq matches
2295 (cons (list (buffer-substring (match-beginning 1) 2301 (cons (list (buffer-substring (match-beginning 1)
2296 (match-end 1)) 2302 (match-end 1))
2297 (buffer-substring (match-beginning 2) 2303 (format "(%s)%s" Info-current-file
2298 (match-end 2)) 2304 (buffer-substring
2305 (match-beginning 2)
2306 (match-end 2)))
2299 Info-current-node 2307 Info-current-node
2300 (string-to-int (concat "0" 2308 (string-to-int (concat "0"
2301 (buffer-substring 2309 (buffer-substring
2302 (match-beginning 3) 2310 (match-beginning 3)
2303 (match-end 3))))) 2311 (match-end 3)))))