
just for the archives :) my original cc didn't work, but the p.s. is obsolete now -ts ,-----
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.
Well, that would make many things easier/more portable. And it would make it work with eql-specializers on acl62. Ok, I'll give it a try. What do you think of the current style of making it a xref add-on? Would you prefer a stand-alone gf browser buffer? (or do you have no opinion on this issue?) -Thomas p.s.: cc'ing to slime-devel@common-lisp.net doesn't seem to work. at least I couldn't see any newer messages in the archive and the never appear on gmane.lisp.slime.devel