+2003-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * alloc.c (init_intervals, init_symbol, init_marker):
+ Don't preallocate anything.
+ (Fgarbage_collect, mark_object): Ignore the markbit.
+
+ * bytecode.c (mark_byte_stack, unmark_byte_stack): Ignore the markbit.
+
2003-09-08 Lute Kamstra <Lute.Kamstra@cwi.nl>
* xdisp.c (pint2hrstr): New function.
2003-09-07 Eli Zaretskii <eliz@elta.co.il>
- * editfns.c (region_limit): Support any non-zero value of
- BEGINNINGP.
+ * editfns.c (region_limit): Support any non-zero value of BEGINNINGP.
2003-09-03 Kim F. Storm <storm@cua.dk>
2003-08-29 Gerd Moellmann <gerd.moellmann@t-online.de>
- * xdisp.c (redisplay_internal): Fix change of 2003-04-30. Don't
- tell redisplay display is accurate when it's actually been paused
- for pending input.
+ * xdisp.c (redisplay_internal): Fix change of 2003-04-30.
+ Don't tell redisplay display is accurate when it's actually been
+ paused for pending input.
2003-08-29 Richard M. Stallman <rms@gnu.org>
* data.c (Fmake_variable_buffer_local, Fmake_local_variable)
(Fkill_local_variable, Fmake_variable_frame_local)
- (Flocal_variable_p, Flocal_variable_if_set_p):
+ (Flocal_variable_p, Flocal_variable_if_set_p):
Use indirect_variable to trace thru variable aliases.
* config.in: Updated.
2003-08-28 David Abrahams <dave@boost-consulting.com> (tiny change)
- * coding.c (decode_coding_iso2022): Initialized local variable c2.
+ * coding.c (decode_coding_iso2022): Initialize local variable c2.
(decode_coding_sjis_big5): Likewise.
2003-08-27 Jason Rumney <jasonr@gnu.org>
2003-08-24 Eli Zaretskii <eliz@elta.co.il>
- * term.c (term_init): Remove `const' from buffer_size's
- declaration.
+ * term.c (term_init): Remove `const' from buffer_size's declaration.
* Makefile.in (msdos.o): Depend on intervals.h.
- * msdos.c: Include intervals.h, since STRING_INTERVALS requires
- that.
+ * msdos.c: Include intervals.h, since STRING_INTERVALS requires that.
2003-08-21 Jan Dj\e,Ad\e(Brv <jan.h.d@swipnet.se>
(xmalloc, xfree): Declare.
(malloc): Don't declare.
- * Makefile.in (LWLIB_OPTIONS): Removed (unused).
+ * Makefile.in (LWLIB_OPTIONS): Remove (unused).
(alloca.o): Remove obsolete stuff concerning alloca.s. Depend on
atimer.h, blockinput.h.
* puresize.h (BASE_PURESIZE): Increase to 1100000.
- * buffer.c (Fmove_overlay): Set overlay's next pointer
- unconditionally.
+ * buffer.c (Fmove_overlay): Set overlay's next pointer unconditionally.
2003-08-16 Richard M. Stallman <rms@gnu.org>
2003-08-16 Juri Linkov <juri@jurta.org> (tiny change)
* syntax.c (Fforward_word): Argument changed to optional.
- Set default value to 1.
+ Set default value to 1.
2003-08-15 Kenichi Handa <handa@m17n.org>
2003-07-28 KOBAYASHI Yasuhiro <kobayays@otsukakj.co.jp> (tiny change)
- * xfns.c (xic_set_preeditarea): Add the left fringe width to
- spot.x.
+ * xfns.c (xic_set_preeditarea): Add the left fringe width to spot.x.
2003-07-22 Stefan Monnier <monnier@cs.yale.edu>
static void
init_intervals ()
{
- interval_block
- = (struct interval_block *) lisp_malloc (sizeof *interval_block,
- MEM_TYPE_NON_LISP);
- interval_block->next = 0;
- bzero ((char *) interval_block->intervals, sizeof interval_block->intervals);
- interval_block_index = 0;
+ interval_block = NULL;
+ interval_block_index = INTERVAL_BLOCK_SIZE;
interval_free_list = 0;
- n_interval_blocks = 1;
+ n_interval_blocks = 0;
}
void
init_symbol ()
{
- symbol_block = (struct symbol_block *) lisp_malloc (sizeof *symbol_block,
- MEM_TYPE_SYMBOL);
- symbol_block->next = 0;
- bzero ((char *) symbol_block->symbols, sizeof symbol_block->symbols);
- symbol_block_index = 0;
+ symbol_block = NULL;
+ symbol_block_index = SYMBOL_BLOCK_SIZE;
symbol_free_list = 0;
- n_symbol_blocks = 1;
+ n_symbol_blocks = 0;
}
void
init_marker ()
{
- marker_block = (struct marker_block *) lisp_malloc (sizeof *marker_block,
- MEM_TYPE_MISC);
- marker_block->next = 0;
- bzero ((char *) marker_block->markers, sizeof marker_block->markers);
- marker_block_index = 0;
+ marker_block = NULL;
+ marker_block_index = MARKER_BLOCK_SIZE;
marker_free_list = 0;
- n_marker_blocks = 1;
+ n_marker_blocks = 0;
+ fprintf(stderr, "union Lisp_Misc = %d\n", sizeof (union Lisp_Misc));
}
/* Return a newly allocated Lisp_Misc object, with no substructure. */
/* clear_marks (); */
- /* Mark all the special slots that serve as the roots of accessibility.
-
- Usually the special slots to mark are contained in particular structures.
- Then we know no slot is marked twice because the structures don't overlap.
- In some cases, the structures point to the slots to be marked.
- For these, we use MARKBIT to avoid double marking of the slot. */
+ /* Mark all the special slots that serve as the roots of accessibility. */
for (i = 0; i < staticidx; i++)
mark_object (*staticvec[i]);
register struct gcpro *tail;
for (tail = gcprolist; tail; tail = tail->next)
for (i = 0; i < tail->nvars; i++)
- if (!XMARKBIT (tail->var[i]))
- {
- mark_object (tail->var[i]);
- XMARK (tail->var[i]);
- }
+ mark_object (tail->var[i]);
}
#endif
}
for (backlist = backtrace_list; backlist; backlist = backlist->next)
{
- if (!XMARKBIT (*backlist->function))
- {
- mark_object (*backlist->function);
- XMARK (*backlist->function);
- }
+ mark_object (*backlist->function);
+
if (backlist->nargs == UNEVALLED || backlist->nargs == MANY)
i = 0;
else
i = backlist->nargs - 1;
for (; i >= 0; i--)
- if (!XMARKBIT (backlist->args[i]))
- {
- mark_object (backlist->args[i]);
- XMARK (backlist->args[i]);
- }
+ mark_object (backlist->args[i]);
}
mark_kboards ();
|| GC_MARK_STACK == GC_USE_GCPROS_CHECK_ZOMBIES)
{
register struct gcpro *tail;
-
- for (tail = gcprolist; tail; tail = tail->next)
- for (i = 0; i < tail->nvars; i++)
- XUNMARK (tail->var[i]);
}
#endif
unmark_byte_stack ();
- for (backlist = backtrace_list; backlist; backlist = backlist->next)
- {
- XUNMARK (*backlist->function);
- if (backlist->nargs == UNEVALLED || backlist->nargs == MANY)
- i = 0;
- else
- i = backlist->nargs - 1;
- for (; i >= 0; i--)
- XUNMARK (backlist->args[i]);
- }
VECTOR_UNMARK (&buffer_defaults);
VECTOR_UNMARK (&buffer_local_symbols);
int cdr_count = 0;
loop:
- XUNMARK (obj);
if (PURE_POINTER_P (XPNTR (obj)))
return;