summaryrefslogtreecommitdiffstats
path: root/tl.vim
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2016-10-21 07:14:34 -0700
committerKaz Kylheku <kaz@kylheku.com>2016-10-21 07:14:34 -0700
commit21f800ed2d5adb542a931d50dc1f5abaaae9a2d3 (patch)
treea69b3b1c5fcca134ccec98b5ba923b123d05b02b /tl.vim
parent5b7d98ead12b4760fe764640e3ec91e358843384 (diff)
downloadtxr-21f800ed2d5adb542a931d50dc1f5abaaae9a2d3.tar.gz
txr-21f800ed2d5adb542a931d50dc1f5abaaae9a2d3.tar.bz2
txr-21f800ed2d5adb542a931d50dc1f5abaaae9a2d3.zip
struct bug: mismanagement of static slot store.
The bug_unless statement was found to go off, indicating an internal problem. Indeed, the store of inherited static slots were being set to non-nil by incorrect copying in two places. This is harmless in and of itself; it's just a way of being tidy. If a slot's value is located elsewhere, then the local store must be nil. * struct.c (static_slot_home_fixup): After fetching a fresh copy of the home type's stslot entry, clear the store to nil. (make_struct_type): Likewise. (struct_type_mark): Use assert for this rather than bug_unless, because it happens in the middle of garbage collection. Throwing an exception out of the middle of gc is a nonstarter.
Diffstat (limited to 'tl.vim')
0 files changed, 0 insertions, 0 deletions