Thomas Schilling tjs_ng@yahoo.de writes:
- "Takes a method description and tries to remove this method.
+MSPEC string must be a string representation of a list with the format +(METHOD NAME {QUALIFIER}* SPECIALIZER-LIST).
[...]
(fboundp (second sexp)))
(let* ((gf (fdefinition (second sexp)))
(qualifiers (loop for q in (cddr sexp)
while (not (listp q))
collect q))
(specializers (car (last sexp)))
(method (find-method
gf qualifiers
(mapcar (lambda (x)
;;FIXME: is it really a good idea
;;to call eval here?
(if (consp x)
(list 'eql (eval (cdr x)))
(find-class x)))
specializers)
Passing the "method descriptions" as a strings between Emacs and Lisp is a bit problematic (read-case, package ...). If I where to build a GF browser I'd keep the list of methods as first class values on the Lisp side. The index in the list could then be used to refer to a particular method.
Helmut.