Index: slime/ChangeLog diff -u slime/ChangeLog:1.1992 slime/ChangeLog:1.1995 --- slime/ChangeLog:1.1992 Sat Feb 20 14:15:59 2010 +++ slime/ChangeLog Mon Feb 22 16:43:30 2010 @@ -1,3 +1,58 @@ +2010-02-22 Tobias C. Rittweiler tcr@freebits.de + + Make swank-ecl.lisp work with latest ECL Git HEAD. + + * swank-ecl.lisp (assert-TAGS-file): Simplified. + (assert-source-directory): New helper. + (c-function-p): New helper. + (c-function): Type based on above. + (source-location): Move bits from FIND-DEFINITIONS-FOR-TYPE to + this function. Use CONVERTING-ERRORS-TO-ERROR-LOCATION. + (find-definitions-for-type): Simplified by using it. + +2010-02-22 Tobias C. Rittweiler tcr@freebits.de + + * swank-backend.lisp (converting-errors-to-error-location): Moved + here from swank-sbcl.lisp so other backends can make use of it, too. + + * swank-sbcl.lisp: The above macro was called slightly + differently, so update uses accordingly. + +2010-02-22 Tobias C. Rittweiler tcr@freebits.de + + Make M-. be able to jump right into the C source for ECL. + + Because it's based on TAGS files, M-. and M-* will DTRT once in a + .c file. + + * swank-ecl.lisp (assert-TAGS-file): New helper. + (classify-definition-name): Ditto. + (find-definitions-for-type): Ditto. Understands Lisp and C + functions. + (find-definitions): Use them. + (source-location): New helper. Extracted from FIND-SOURCE-LOCATION. + (find-source-location): Use it. + (swank-compile-string): Only try to delete temporary files if they + exist. + +2010-02-22 Tobias C. Rittweiler tcr@freebits.de + + Make it possible for SWANK backends to specify locations based on + a TAGS file. + + * slime.el (slime-postprocess-xref, slime-postprocess-xrefs): New + functions. They convert TAGS based locations from SWANK into + file+position based locations because the rest of Slime expects + and works with those. + (slime-find-definitions): Call slime-postprocess-xrefs. + (slime-xref): Ditto. + (slime-etags-to-locations): The function which does the actual + conversion. Extracted from `slime-etags-definitions'. + (slime-etags-definitions): Use it. + + * swank-backend (defimplementation): Add implicit BLOCK. + (:etags-file, :tag): Mentioned for possible values in :LOCATION. + 2010-02-20 Tobias C. Rittweiler tcr@freebits.de
More work on ECL's swank-backend.