(custom-face-value-create): If face name doesn't end with "face", add
[bpt/emacs.git] / lisp / info.el
index c375bd8..e02ae97 100644 (file)
@@ -2245,7 +2245,7 @@ Allowed only if variable `Info-enable-edit' is non-nil."
     ("time-stamp" . "autotype") ("quickurl" . "autotype")
     ("tempo" . "autotype") ("hippie-expand" . "autotype")
     ("cvs" . "pcl-cvs")
-    "ebrowse" "cl" "idlwave" "reftex" "widget" "woman")
+    "ebrowse" "eshell" "cl" "idlwave" "reftex" "speedbar" "widget" "woman")
   "List of Info files that describe Emacs commands.
 An element can be a file name, or a list of the form (PREFIX . FILE)
 where PREFIX is a name prefix and FILE is the file to look in.
@@ -2360,23 +2360,29 @@ the variable `Info-file-list-for-emacs'."
           (Info-goto-emacs-command-node command)))))
 \f
 (defface Info-title-1-face
-  '((((type tty pc) (class color)) (:foreground "lightred" :weight bold))
+  '((((type tty pc) (class color)) (:foreground "yellow" :weight bold))
     (t (:height 1.2 :inherit Info-title-2-face)))
   "Face for Info titles at level 1."
   :group 'info)
 
 (defface Info-title-2-face
-  '((((type tty pc) (class color)) (:foreground "yellow" :weight bold))
+  '((((type tty pc) (class color)) (:foreground "lightblue" :weight bold))
     (t (:height 1.2 :inherit Info-title-3-face)))
   "Face for Info titles at level 2."
   :group 'info)
 
 (defface Info-title-3-face
-  '((((type tty pc) (class color)) (:foreground "lightblue" :weight bold))
-    (t (:height 1.2 :weight bold :inherit variable-pitch)))
+  '((((type tty pc) (class color)) (:weight bold))
+    (t (:height 1.2 :inherit Info-title-4-face)))
   "Face for Info titles at level 3."
   :group 'info)
 
+(defface Info-title-4-face
+  '((((type tty pc) (class color)) (:weight bold))
+    (t (:weight bold :inherit variable-pitch)))
+  "Face for Info titles at level 4."
+  :group 'info)
+
 (defun Info-fontify-node ()
   (save-excursion
     (let ((buffer-read-only nil)
@@ -2408,19 +2414,20 @@ the variable `Info-file-list-for-emacs'."
                    (put-text-property tbeg nend 'local-map keymap))))
              ))))
       (goto-char (point-min))
-      (while (re-search-forward "\n\\([^ \t\n].+\\)\n\\(\\*+\\|=+\\|-+\\)$"
+      (while (re-search-forward "\n\\([^ \t\n].+\\)\n\\(\\*+\\|=+\\|-+\\|\\.+\\)$"
                                nil t)
        (let ((c (preceding-char))
              face)
          (cond ((= c ?*) (setq face 'Info-title-1-face))
                ((= c ?=) (setq face 'Info-title-2-face))
-               (t        (setq face 'Info-title-3-face)))
+               ((= c ?-) (setq face 'Info-title-3-face))
+               (t        (setq face 'Info-title-4-face)))
          (put-text-property (match-beginning 1) (match-end 1)
                             'face face))
        ;; 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))
+       (if (memq (framep (selected-frame)) '(x pc w32 mac))
            (add-text-properties (match-end 1) (match-end 2)
                                 '(invisible t intangible t))))
       (goto-char (point-min))
@@ -2443,10 +2450,10 @@ the variable `Info-file-list-for-emacs'."
                  (put-text-property (match-beginning 0)
                                     (1+ (match-beginning 0))
                                     'face 'info-menu-5))
-             (put-text-property (match-beginning 1) (match-end 1)
-                                'face 'info-xref)
-             (put-text-property (match-beginning 1) (match-end 1)
-                                'mouse-face 'highlight))))
+             (add-text-properties (match-beginning 1) (match-end 1)
+                                  '(face info-xref
+                                    mouse-face highlight
+                                    help-echo "mouse-2: go to this node")))))
       (set-buffer-modified-p nil))))
 \f