diff --git a/ChangeLog.n b/ChangeLog.n index e38a3c59148101981b441454eb880a2550e0ca94..197a2f1c1d3334e8ceb818e6b2bab1c957f6e63c 100644 --- a/ChangeLog.n +++ b/ChangeLog.n @@ -3,7 +3,14 @@ don't forget to change the version in utils/packages.lisp if you do anything user visible. ******************************************************************************* +2009-05-06 Andreas Fuchs <afuchs@franz.com> + * clim/ptypes.lisp: Add keyword arg 'omit-map-over-ptype-supertypes-p + (interned in clim-internals). + * clim/standard-types.lisp: Use that keyword to suppress generation of + conflicting presentation method: Removes a warning from the build + (bug18430). + 2009-05-01 Kevin Layer <layer@gemini.franz.com> * utils/packages.lisp: don't use version-from-file diff --git a/clim/ptypes1.lisp b/clim/ptypes1.lisp index 3c2e22e812d4252ab96cd3415f9ff2ec5b6a5065..e0b725b49b4f6b2cf0241ef9b628de940fd2a815 100644 --- a/clim/ptypes1.lisp +++ b/clim/ptypes1.lisp @@ -694,6 +694,8 @@ (defmacro define-presentation-type (name parameters &key options inherit-from description history parameters-are-types + ((omit-map-over-ptype-supertypes-p omit-map-over-ptype-supertypes-p) + nil) &environment environment) (check-type name (or symbol (satisfies acceptable-presentation-type-class)) "a symbol or a non-built-in class") @@ -776,8 +778,9 @@ ',description ',history ',parameters-are-types ',parameter-massagers ',options-massagers) - ,@(generate-map-over-presentation-type-supertypes-method-if-needed - name class function-var parameters-var options-var type-var environment) + ,@(unless omit-map-over-ptype-supertypes-p + (generate-map-over-presentation-type-supertypes-method-if-needed + name class function-var parameters-var options-var type-var environment)) #-CLIM-extends-CLOS ,@(generate-presentation-type-inheritance-methods name class parameters-var options-var environment) diff --git a/clim/standard-types.lisp b/clim/standard-types.lisp index 630748fbf52d7c90efb3c659ca254b6a1cf42ae5..80fc437338b9a608eef67b7df49aa70cefb63990 100644 --- a/clim/standard-types.lisp +++ b/clim/standard-types.lisp @@ -1541,6 +1541,8 @@ ;;--- Maybe this should have WRITE options (define-presentation-type form () :options ((auto-activate nil boolean)) + ;; Don't define a map-over-ptype-supertypes method; we have our own, below. + omit-map-over-ptype-supertypes-p t ;; Handling of AUTO-ACTIVATE is done below... :inherit-from `((expression) :auto-activate ,auto-activate))