(symbol-file): Remove unused variable `functions'.
[bpt/emacs.git] / lisp / button.el
index 998d639..17460fc 100644 (file)
@@ -1,4 +1,4 @@
-;;; button.el --- Clickable buttons
+;;; button.el --- clickable buttons
 ;;
 ;; Copyright (C) 2001 Free Software Foundation, Inc.
 ;;
@@ -50,7 +50,9 @@
 \f
 ;; Globals
 
-(defface button '((t :underline t))
+(defface button '((((type pc) (class color))
+                  (:foreground "lightblue"))
+                 (t :underline t))
   "Default face used for buttons.")
 
 ;;;###autoload
@@ -119,12 +121,12 @@ In addition, the keyword argument :supertype may be used to specify a
 button-type from which NAME inherits its default property values
 \(however, the inheritance happens only when NAME is defined; subsequent
 changes to a supertype are not reflected in its subtypes)."
-  (let* ((catsym (make-symbol (concat (symbol-name name) "-button")))
-        (supertype
+  (let ((catsym (make-symbol (concat (symbol-name name) "-button")))
+       (super-catsym
+        (button-category-symbol
          (or (plist-get properties 'supertype)
-             (plist-get properties :supertype)))
-        (super-catsym
-         (if supertype (button-category-symbol supertype) 'default-button)))
+             (plist-get properties :supertype)
+             'button))))
     ;; Provide a link so that it's easy to find the real symbol.
     (put name 'button-category-symbol catsym)
     ;; Initialize NAME's properties using the global defaults.
@@ -140,6 +142,9 @@ changes to a supertype are not reflected in its subtypes)."
        (when (eq prop :supertype)
          (setq prop 'supertype))
        (put catsym prop (pop properties))))
+    ;; Make sure there's a `supertype' property
+    (unless (get catsym 'supertype)
+      (put catsym 'supertype 'button))
     name))
 
 (defun button-type-put (type prop val)