Mercurial > emacs
changeset 19043:a2853a75ce57
(info-node, info-xref, info-menu-5):
Define faces with defface.
(Info-mode): Don't define faces here, and don't alter Info-fontify.
Locally set line-move-ignore-invisible.
(Info-fontify-node): Test type of frame here.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 30 Jul 1997 18:15:19 +0000 |
parents | e50604c01474 |
children | 192305191a1f |
files | lisp/info.el |
diffstat | 1 files changed, 24 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/info.el Wed Jul 30 16:14:07 1997 +0000 +++ b/lisp/info.el Wed Jul 30 18:15:19 1997 +0000 @@ -58,6 +58,21 @@ :type 'boolean :group 'info) +(defface info-node + '((t (:bold t :italic t))) + "Face for Info node names." + :group 'info) + +(defface info-menu-5 + '((t (:underline t))) + "Face for the fifth and tenth `*' in an Info menu." + :group 'info) + +(defface info-xref + '((t (:bold t))) + "Face for Info cross-references." + :group 'info) + (defcustom Info-fontify-maximum-menu-size 30000 "*Maximum size of menu to fontify if `Info-fontify' is non-nil." :type 'integer @@ -1786,20 +1801,9 @@ (setq Info-tag-table-buffer nil) (make-local-variable 'Info-history) (make-local-variable 'Info-index-alternatives) - (if (memq (framep (selected-frame)) '(x pc w32)) - (progn - (make-face 'info-node) - (make-face 'info-menu-5) - (make-face 'info-xref) - (or (face-differs-from-default-p 'info-node) - (if (face-differs-from-default-p 'bold-italic) - (copy-face 'bold-italic 'info-node) - (copy-face 'bold 'info-node))) - (or (face-differs-from-default-p 'info-menu-5) - (set-face-underline-p 'info-menu-5 t)) - (or (face-differs-from-default-p 'info-xref) - (copy-face 'bold 'info-xref))) - (setq Info-fontify nil)) + ;; This is for the sake of the invisible text we use handling titles. + (make-local-variable 'line-move-ignore-invisible) + (setq line-move-ignore-invisible t) (Info-set-mode-line) (run-hooks 'Info-mode-hook)) @@ -1988,8 +1992,12 @@ (put-text-property (match-beginning 1) (match-end 1) 'face (cdr (assq (preceding-char) Info-title-face-alist))) - (put-text-property (match-end 1) (match-end 2) - 'invisible t)) + ;; This is a serious problem for trying to handle multiple + ;; frame types at once. We want this text to be invisible + ;; on frames that can display the font above. + (if (memq (framep (selected-frame)) '(x pc w32)) + (put-text-property (match-end 1) (match-end 2) + 'invisible t))) (goto-char (point-min)) (while (re-search-forward "\\*Note[ \n\t]+\\([^:]*\\):" nil t) (if (= (char-after (1- (match-beginning 0))) ?\") ; hack