On Sun, Sep 21, 2014 at 12:20 PM, Stefan Monnier wrote: > > > EIEIO will need to remove it's local copy of an old typep, and I could > > certainly convert over to using something list (list foo). I use > > those predicates mostly with typep. > > Could someone explain (and show) to me in detail how/where these > foo-list-p are used in relation to EIEIO? > > > Sure, in ede/base.el, you will find these lines: (defclass ede-project (ede-project-placeholder) ((subproj :initform nil :type list :documentation "Sub projects controlled by this project. For Automake based projects, each directory is treated as a project.") (targets :initarg :targets :type ede-target-list :custom (repeat (object :objectcreatefcn ede-new-target-custom)) :label "Local Targets" :group (targets) :documentation "List of top level targets in this project.") for "targets: you will see: :type ede-target-list which will expand to ede-target-list-p, which is a test for a list of type ede-target. This also occurs semantic/db.e which tracks a list of tables, and in cogre.el, where the graph tracks a list of graph elements. Eric