There are two ways of retrieving location information for definitions in the running LispWorks image:
dspec:dspec-definition-locations
, or
dspec:name-definition-locations
The difference is that name queries will find the locations of all the part definitions as well as the definition named, whereas dspec queries will only find the locations for the definition named (there might be many if it has been redefined).
To provide for sub-definitions hidden in another definition, such as
defstruct
accessors, all location queries produce a list of pairs of dspecs and locations, each pair naming a definition within the corresponding location that contains the definition looked for. So a query for an accessor called
foo-bar
might produce the pair:
((defstruct foo) #P"/usr/users/hacker/hacks/hack.lisp")