<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'><br>> (define (f x y)<br>>   (+ 1<br>>      (source-at "foo.scm" 10 2 ;; file line column<br>>                 (/ x y))))<br><br>This
 is a clean approach, however one would have to be careful not to wrap macro symbols this way or else one would cause a "can't 
take the value of a macro" error, no?<br><br>I considered only applying the macro to lists but unbound variable errors won't report 
correct line info in that case. Another option would be to maintain a 
list of scheme macro symbols and ensure the clojure-scheme compiler 
doesn't attach source info to them. Even though it's now possible to run the compiler on Gambit, I want to maintain the possibility of doing the compilation entirely within the JVM, so I won't have any way to resolve symbols at run-time to see if they are macros.<br><br>Perhaps an easier approach 
would be to use a reader-macro, so that source info can be applied 
before regular macro expansion. Is it possible to tell gsc to use a 
custom read table? Or perhaps the ast parser would clobber the line info produced by any reader macros?<br>                                         </div></body>
</html>