diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2020-09-03 12:10:26 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2020-09-03 12:15:09 -0700 |
commit | c47be1b8440883b07b6cf918235a13b65e3d7be6 (patch) | |
tree | 8bc1f190dc4d5792d8935425693c5650f9e0253c /src/fringe.c | |
parent | c449a00aa51185486d76ebf602d84e189af702c0 (diff) | |
download | emacs-c47be1b8440883b07b6cf918235a13b65e3d7be6.tar.gz |
Revert recent GC-related changes (Bug#43152)
* src/alloc.c (live_string_holding, live_cons_holding)
(live_symbol_holding, live_large_vector_holding)
(live_small_vector_holding):
Go back to old approach of treating every would-be pointer to any
byte in the object (though not to just past the object end) as
addressing the object.
(live_float_p): Require that the would-be float point
to the start of the Lisp_Float, and not anywhere else.
(live_vector_pointer, live_float_holding, mark_objects):
Remove. All uses removed.
(mark_maybe_object, mark_maybe_objects):
Bring back these functions.
* src/lisp.h (SAFE_ALLOCA_LISP_EXTRA): Do not clear the
new slots, as they're now checked via mark_maybe_objects,
not via mark_objects.
Diffstat (limited to 'src/fringe.c')
-rw-r--r-- | src/fringe.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/fringe.c b/src/fringe.c index 75496692d53..c3d64fefc82 100644 --- a/src/fringe.c +++ b/src/fringe.c @@ -1733,7 +1733,11 @@ If nil, also continue lines which are exactly as wide as the window. */); void mark_fringe_data (void) { - mark_objects (fringe_faces, max_fringe_bitmaps); + int i; + + for (i = 0; i < max_fringe_bitmaps; i++) + if (!NILP (fringe_faces[i])) + mark_object (fringe_faces[i]); } /* Initialize this module when Emacs starts. */ |