Comment 10 for bug 378735

Revision history for this message
leppie (leppie) wrote :

Hi

Eli convinced me the procedure entry is not really useful, due to macros. So it does not really matter how to define a procedure 'body' in terms of define, lambda, case-lambda. (I might need this for the native debugger, still not sure)

On the plus side, I made a little mod to handle case 2.

You will need to expose your 'make-annotation' procedure.

In do-macro-call, replace:

(add-mark (gen-mark) x expr)

with:

(add-mark (gen-mark)
  (if (and (pair? x)
           (stx? expr)
           (annotation? (stx-expr expr)))
      (make-annotation x (annotation-source (stx-expr expr)) x)
      x)
  expr))

This works well for the simple case. It appears to work for multiple macro transforms too.

Not sure how correct this is.

Testing continues!

Cheers

leppie

PS: this hack was purely possible, because of the debugging support! Thanks again :)