-;;; button.el --- Clickable buttons
+;;; button.el --- clickable buttons
;;
;; Copyright (C) 2001 Free Software Foundation, Inc.
;;
\f
;; Globals
-(defface button '((t :underline t))
+(defface button '((((type pc) (class color))
+ (:foreground "lightblue"))
+ (t :underline t))
"Default face used for buttons.")
;;;###autoload
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.
(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)