# HG changeset patch # User Juri Linkov # Date 1096950197 0 # Node ID 52649ba67540b02170014117c633c13e335f62f0 # Parent e2c34e75e585f2189f17ef51ac180cf063519ede (Info-history, Info-toc): Fix Info headers. (Info-toc): Narrow buffer before Info-fontify-node. (Info-build-toc): Don't check for special Info file names. Set main-file to nil if Info-find-file returns a symbol. diff -r e2c34e75e585 -r 52649ba67540 lisp/info.el --- a/lisp/info.el Tue Oct 05 04:22:41 2004 +0000 +++ b/lisp/info.el Tue Oct 05 04:23:17 2004 +0000 @@ -1729,7 +1729,7 @@ (let ((inhibit-read-only t)) (erase-buffer) (goto-char (point-min)) - (insert "\n\^_\nFile: history Node: Top, Up: (dir)\n\n") + (insert "\n\^_\nFile: history, Node: Top, Up: (dir)\n\n") (insert "Recently Visited Nodes\n**********************\n\n") (insert "* Menu:\n\n") (let ((hl (delete '("history" "Top") Info-history-list))) @@ -1749,26 +1749,31 @@ "Go to a node with table of contents of the current Info file. Table of contents is created from the tree structure of menus." (interactive) - (let ((curr-file Info-current-file) - (curr-node Info-current-node) + (let ((curr-file (substring-no-properties Info-current-file)) + (curr-node (substring-no-properties Info-current-node)) p) (with-current-buffer (get-buffer-create " *info-toc*") (let ((inhibit-read-only t) (node-list (Info-build-toc curr-file))) (erase-buffer) (goto-char (point-min)) - (insert "\n\^_\nFile: toc Node: Top, Up: (dir)\n\n") + (insert "\n\^_\nFile: toc, Node: Top, Up: (dir)\n\n") (insert "Table of Contents\n*****************\n\n") - (insert "*Note Top::\n") + (insert "*Note Top: (" curr-file ")Top.\n") (Info-insert-toc (nth 2 (assoc "Top" node-list)) ; get Top nodes - node-list 0 (substring-no-properties curr-file))) + node-list 0 curr-file)) (if (not (bobp)) (let ((Info-hide-note-references 'hide) (Info-fontify-visited-nodes nil)) (Info-mode) (setq Info-current-file "toc" Info-current-node "Top") - (Info-fontify-node))) + (goto-char (point-min)) + (narrow-to-region (or (re-search-forward "\n[\^_\f]\n" nil t) + (point-min)) + (point-max)) + (Info-fontify-node) + (widen))) (goto-char (point-min)) (if (setq p (search-forward (concat "*Note " curr-node ":") nil t)) (setq p (- p (length curr-node) 2)))) @@ -1789,14 +1794,12 @@ (defun Info-build-toc (file) "Build table of contents from menus of Info FILE and its subfiles." - (if (equal file "dir") - (error "Table of contents for Info directory is not supported yet")) (with-temp-buffer - (let* ((default-directory (or (and (stringp file) - (file-name-directory - (setq file (Info-find-file file)))) + (let* ((file (and (stringp file) (Info-find-file file))) + (default-directory (or (and (stringp file) + (file-name-directory file)) default-directory)) - (main-file file) + (main-file (and (stringp file) file)) (sections '(("Top" "Top"))) nodes subfiles) (while (or main-file subfiles)