From: Nikodemus S. <nik...@ra...> - 2005-06-10 18:53:26
|
On Thu, 9 Jun 2005, Juho Snellman wrote: > Unfortunately it also breaks compiler note annotations when doing C-C C-C. "oops" > * Since the source is being LOADed from a string-input-stream, > LOCATE-COMPILER-NOTE in swank-sbcl needs to handle the case where the > compiler error context doesn't have a filename. Maybe something like: > > (cond ((or (and (pathnamep file) *buffer-name*) > #+swank-backend::source-plist > (eq *buffer-name* (getf sb-c::*source-plist* :emacs-buffer))) > ...) > (...)) > > * Now that we do a LOAD instead of some form of COMPILE, source path > information is no longer preserved. LOAD calls EVAL on each form, > and EVAL does a macroexpand before the form is passed on to the > compiler. FWIW, I think these are both more of an SBCL issue then Slime issue: while it may indeed be reasonable for SWANK-COMPILE-STRING to move back to (COMPILE NIL `(LAMBDA () ,@(READ-FROM-STRING ...))) or equivalent, I'll have a look at getting LOAD & EVAL play nice(r) with source locations. Cheers, -- Nikodemus Schemer: "Buddha is small, clean, and serious." Lispnik: "Buddha is big, has hairy armpits, and laughs." |