]> git.eshelyaron.com Git - emacs.git/commitdiff
(define-button-type): Make sure every user-defined button type has a supertype.
authorMiles Bader <miles@gnu.org>
Thu, 1 Nov 2001 07:00:07 +0000 (07:00 +0000)
committerMiles Bader <miles@gnu.org>
Thu, 1 Nov 2001 07:00:07 +0000 (07:00 +0000)
lisp/ChangeLog
lisp/button.el

index b9f79bfd49b8ec083a46a68cd2a8f9043cfabdc9..733e31bf774156f0e50fd6eadc9a79b4c2763b8a 100644 (file)
@@ -1,3 +1,8 @@
+2001-11-01  Miles Bader  <miles@gnu.org>
+
+       * button.el (define-button-type): Make sure every user-defined
+       button type has a supertype.
+
 2001-10-31  Jason Rumney  <jasonr@gnu.org>
 
        * international/mule-cmds.el (locale-language-names): Add chs and
index aa9ade82ed14f085c7162a92fa5fc6b7a6b912bc..ef0f3d11c65f497c6f5544fb7324916519e13198 100644 (file)
@@ -121,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.
@@ -142,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)