
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.