revert part of 7ff017002ddc980 that caused missed references
authorAndy Wingo <wingo@pobox.com>
Sun, 28 Sep 2008 21:08:14 +0000 (23:08 +0200)
committerAndy Wingo <wingo@pobox.com>
Sun, 28 Sep 2008 21:08:14 +0000 (23:08 +0200)
commit877ffa3f9c8b1d58aedff2821ee1811c6f3c3622
treea454936f1370ac062f549ba7920be03ed90607bc
parentcda52b2fdae8dc6e6f9cb630112c1d43419145c6
revert part of 7ff017002ddc980 that caused missed references

* libguile/programs.c (scm_c_make_closure): If the program is actually
  not a program, abort. This can happen if GC misses a reference, as
  currently seems to happen.

* libguile/vm.c (vm_mark): Revert part of
  7ff017002ddc980f684120653549a10c6c7cde5c, which changed the call to
  scm_mark_locations. I'm 99% *sure* this is wrong, but it seems to
  prevent missed references when recompiling the .go files in guile
  itself. Needs revisiting soon, but for the time being we can go back to
  where we were a couple of days ago.

* libguile/vm-i-system.c (halt, vector, vector-mark): Sync the registers
  before calling into C, as it may GC.
libguile/programs.c
libguile/vm-i-system.c
libguile/vm.c