Mercurial > emacs
changeset 21704:e2283c4df334
(Info-fontify-node): For menu items, use info-xref font.
Use info-node font for the node's own name,
and do not make it mouse-sensitive.
(Info-find-node): Update Info-history after switching buffer.
(info): If no arg, and *info* buffer exists, just go to it and don't alter it.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 22 Apr 1998 03:19:43 +0000 |
parents | aea35bf72489 |
children | 71eacf46567c |
files | lisp/info.el |
diffstat | 1 files changed, 25 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/info.el Wed Apr 22 02:46:30 1998 +0000 +++ b/lisp/info.el Wed Apr 22 03:19:43 1998 +0000 @@ -286,10 +286,12 @@ in all the directories in that path." (interactive (if current-prefix-arg (list (read-file-name "Info file name: " nil nil t)))) - (pop-to-buffer "*info*") (if file - (Info-goto-node (concat "(" file ")")) - (Info-directory))) + (progn (pop-to-buffer "*info*") + (Info-goto-node (concat "(" file ")"))) + (if (get-buffer "*info*") + (pop-to-buffer "*info*") + (Info-directory)))) ;;;###autoload (defun info-standalone () @@ -353,16 +355,16 @@ (if found (setq filename found) (error "Info file %s does not exist" filename)))) + ;; Go into info buffer. + (or (eq major-mode 'Info-mode) (pop-to-buffer "*info*")) + (buffer-disable-undo (current-buffer)) + (or (eq major-mode 'Info-mode) + (Info-mode)) ;; Record the node we are leaving. (if (and Info-current-file (not no-going-back)) (setq Info-history (cons (list Info-current-file Info-current-node (point)) Info-history))) - ;; Go into info buffer. - (or (eq major-mode 'Info-mode) (pop-to-buffer "*info*")) - (buffer-disable-undo (current-buffer)) - (or (eq major-mode 'Info-mode) - (Info-mode)) (widen) (setq Info-current-node nil) (unwind-protect @@ -1997,16 +1999,20 @@ (save-excursion (let ((buffer-read-only nil)) (goto-char (point-min)) - (if (looking-at "^File: [^,: \t]+,?[ \t]+") - (progn - (goto-char (match-end 0)) - (while - (looking-at "[ \t]*[^:, \t\n]+:[ \t]+\\([^:,\t\n]+\\),?") - (goto-char (match-end 0)) - (put-text-property (match-beginning 1) (match-end 1) - 'face 'info-xref) - (put-text-property (match-beginning 1) (match-end 1) - 'mouse-face 'highlight)))) + (when (looking-at "^File: [^,: \t]+,?[ \t]+") + (goto-char (match-end 0)) + (while + (looking-at "[ \t]*\\([^:, \t\n]+\\):[ \t]+\\([^:,\t\n]+\\),?") + (goto-char (match-end 0)) + (if (save-excursion + (goto-char (match-beginning 1)) + (save-match-data (looking-at "Node:"))) + (put-text-property (match-beginning 2) (match-end 2) + 'face 'info-node) + (put-text-property (match-beginning 2) (match-end 2) + 'face 'info-xref) + (put-text-property (match-beginning 2) (match-end 2) + 'mouse-face 'highlight)))) (goto-char (point-min)) (while (re-search-forward "\n\\([^ \t\n].+\\)\n\\(\\*+\\|=+\\|-+\\)$" nil t) @@ -2040,7 +2046,7 @@ (1+ (match-beginning 0)) 'face 'info-menu-5)) (put-text-property (match-beginning 1) (match-end 1) - 'face 'info-node) + 'face 'info-xref) (put-text-property (match-beginning 1) (match-end 1) 'mouse-face 'highlight)))) (set-buffer-modified-p nil))))