Lisp HUG Maillist Archive

Missing DSPEC functionality

Dear lispworks users,

I'm using ilisp/emacs as my interface to lispworks.
There's one bit of functionality which is missing which
I really want: the DSPEC related functionality.

ilisp makes use of the function DSPEC:FIND-DSPEC-LOCATIONS
to find the pathnames of the files containing a specific
symbol.  Unfortunately, if I do something like

XOS 7 > (dspec:find-dspec-locations 'activate)
(((DEFGENERIC ACTIVATE) #P"BE:COMMON;CUSTOMER-OBJECTS.LISP.NEWEST"))

I get only the defgeneric form.

This:
XOS 12 > (dspec:find-dspec-locations '(method activate (customer)))
(((METHOD ACTIVATE (CUSTOMER)) #P"BE:COMMON;CUSTOMER-OBJECTS.LISP.NEWEST"))

Gives me the primary method on class CUSTOMER.

This, for example,

XOS 17 > (dspec:find-dspec-locations '(method activate :before (customer)))
(((METHOD ACTIVATE :BEFORE (CUSTOMER)) #P"/home/kooks/SystemBuilds/XOS/Bullseye/src/Common/behaviour-objects.lisp"))

Gives me a before method.

Now, the question: is there another function I can call
to get ALL dspecs referring to the symbol 'activate at once?

e.g. (dspec:find-all-dspec-locations 'activate)
=>
(((DEFGENERIC ACTIVATE) #P"BE:COMMON;CUSTOMER-OBJECTS.LISP.NEWEST")
 ((METHOD ACTIVATE (CUSTOMER)) #P"BE:COMMON;CUSTOMER-OBJECTS.LISP.NEWEST")
 ((METHOD ACTIVATE :BEFORE (CUSTOMER)) #P"/home/kooks/SystemBuilds/XOS/Bullseye/src/Common/behaviour-objects.lisp"))

The DSPEC package is very poorly documented, so I can't find info on
how to implement this.  Any ideas?

Thanks,
--
			Alain Picard
			Memetrics


Re: Missing DSPEC functionality

* Alain Picard wrote:


> Now, the question: is there another function I can call
> to get ALL dspecs referring to the symbol 'activate at once?

Once you've found something and worked out it's a GF, could you not
use the MOP to find all the methods, derive pretty names for them
(suitable for DSPEC), and then invoke DSPEC on those to find the
complete set.

Yes, this is a hack...

--tim


Re: Missing DSPEC functionality

Unable to parse email body. Email id is 407

Updated at: 2020-12-10 09:02 UTC