system xref maintains source mapping for nested procedures too
authorAndy Wingo <wingo@pobox.com>
Thu, 23 Sep 2010 16:00:41 +0000 (18:00 +0200)
committerAndy Wingo <wingo@pobox.com>
Fri, 24 Sep 2010 11:24:48 +0000 (13:24 +0200)
commit783eeee65757039880a0fe875c18fa101c554f6e
treedaa35d874e63448fc1c04e40037a3f160a7ff6b1
parent3b60001f1ed74050461ee485ccc0e477c2ea30ae
system xref maintains source mapping for nested procedures too

* module/system/xref.scm (*closure-sources-db*): New global, like
  *sources-db* but for nested procedures. It's a separate map because
  these procs need to be treated differently in trap handlers -- you
  match on the bytecode, not on the program object.
  (add-source, forget-source): Take the db as an argument (the normal db
  or the closures db).
  (add-sources, forget-sources): Record sources for nested procedures to
  in *closures-db*.
  (untaint-sources, ensure-sources-db): Adapt for new closures db.
  (lookup-source-procedures): Factored out.
  (source-closures): New exported procedure, returns closures at the
  given source location.
module/system/xref.scm