Helmut Eller e9626484@stud3.tuwien.ac.at writes:
Bill_Clementson@peoplesoft.com writes:
ACL 6.2 returns:
((BAR #((:FILE "c:\tmp\foo.lisp") (:POSITION 23))) ((METHOD FOO ((EQL :A))) #((:FILE "c:\tmp\foo.lisp") (:POSITION 40))) ((METHOD FOO ((EQL :B))) #((:FILE "c:\tmp\foo.lisp") (:POSITION 74))) (FOO #((:FILE "c:\tmp\foo.lisp") (:FUNCTION-NAME "FOO"))))
This looks fine. I don't see why Emacs can't locate the methods in your code. Could you post an example?
When I run your code snippet over my methods, with the following command: (find-definitions 'xml-xform::node-xform))
I get the following output (note that :function-name is "NIL" and their are no :POSITION values for any of the methods with the exception of the last (default) method). The generic function is stored in a library file "xml-xform.lisp" while the specialized methods are stored in an example file "resume.lisp". Only the non-specialized (default) method in "resume.lisp" is showing up with a :POSITION value. Don't know if that provides any clues. I'll try to come up with a cut-down, reproducible example that I can send you. It was working fine for me with the patch that I had sent you previously. Is "excl:source-file" not a supported function in ACL 5.0?
(((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::RESUME))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::PERSON))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::BACKGR))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::WORK))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::COMPANY))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::ROLE))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::COMMENT))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'LIST))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::ITEM))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::MISC))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::SKILLS))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::SKILLS-GRP))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::EDUCATION))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::AFFILIATIONS))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::INSTITUTION))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::POS))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::CURRENT))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::MAIL))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::WWW))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T (EQL 'RESUME-HTML::A))) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:FUNCTION-NAME "NIL"))) ((METHOD XML-XFORM:NODE-XFORM (T T)) #((:FILE "c:\usr\home\lisp\xml-xform\examples\resume-html.lisp") (:POSITION 5941))) (XML-XFORM:NODE-XFORM #((:FILE "c:\usr\home\lisp\xml-xform\xml-xform.lisp") (:FUNCTION-NAME "NODE-XFORM"))))
Bill_Clementson@peoplesoft.com writes:
I get the following output (note that :function-name is "NIL" and their are no :POSITION values for any of the methods with the exception of the last (default) method). The generic function is stored in a library file "xml-xform.lisp" while the specialized methods are stored in an example file "resume.lisp". Only the non-specialized (default) method in "resume.lisp" is showing up with a :POSITION value. Don't know if that provides any clues. I'll try to come up with a cut-down, reproducible example that I can send you. It was working fine for me with the patch that I had sent you previously. Is "excl:source-file" not a supported function in ACL 5.0?
excl:source-file works, but scm:find-definition-in-file returns nil for fspecs returned by excl::find-multiple-definitions in ACL5.
Helmut.