Jim Fulton wrote at 2008-8-19 17:57 -0400: > .... >> While I respect that this feature may have been chosen carefully, it >> nevertheless seems more like a misfeature. Chris' expectation was >> reasonable and ought not to be violated without a good cause. > >queryAdapter is used to look up named adapters. It is also a simpler >version of queryMultiAdapter, which looks up adapters for multiple >objects. In neither of these cases does it make sense to consider the >interfaces already provided by the object being adapted. It makes no >sense to me for queryAdapter to have different semantics depending on >whether the name argument is provided (and is non-blank).
As the "implements" directive does not specify a name, one could think that the default name is declared. Then, your naming argument would go away. As the "I(obj, ...)" syntax is more comfortable and more natural than the "get[Multi]Adapter(obj, I, ...)", it may even be adequate to give "I(...)" an optional "name" parameter. Then, we could get rid of the "{get|query}[Multi]Adapter" altogether and consistently use "I(....)" with appropriate optional parameters -- what a simplification and homogenization :-) -- Dieter _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )