Subject: bug#12450: Remove configure's --without-sync-input option.

From: Eli Zaretskii <[email-masked]>
Date: Sun, 16 Sep 2012 11:05:55 +0300

> Date: Sun, 16 Sep 2012 00:47:57 -0700
> From: Paul Eggert <[email-masked]>
> CC: Richard Stallman <[email-masked]>, [email-masked], 
>  [email-masked]
> 
> On 09/15/2012 11:33 PM, Eli Zaretskii wrote:
> >>>> -#ifdef REL_ALLOC
> >>>> > >> -  malloc_hysteresis = 32;
> >>>> > >> -#else
> >>>> > >> -  malloc_hysteresis = 0;
> >>>> > >> -#endif
> >> > 
> >> > malloc_hysteresis is used only by the non-SYNC_INPUT code.
> > No, it is also used indirectly, via __malloc_extra_blocks, in
> > gmalloc.c and in ralloc.c.
> 
> No, it is not used indirectly.  emacs_blocked_malloc is the only
> function that uses malloc_hysteresis to set __malloc_extra_blocks.
> And emacs_blocked_malloc is invoked only in the non-SYNC_INPUT code.

Which means that gmalloc.c, and any memory allocation based on that,
will work differently with that function removed, unless we keep
__malloc_extra_blocks at its present value.  The amount of extra
blocks reserved by gmalloc has nothing to do with emacs_blocked_malloc
(or at least no one came up with explanation why it does).  In the
absence of such an explanation, you are suggesting to remove code
whose effect on platforms that use gmalloc is not fully understood.

> > But there's something I don't understand about this snippet.  Why does
> > it set the value to 32 conditioned by REL_ALLOC ...
> 
> A nice property of removing the non-SYNC_INPUT code is that
> we don't need to worry about cruft like that, because it's
> not being used and we can remove it.

If we don't understand that "cruft", how can we claim in good faith
it's cruft, and how can we remove or modify it in non-trivial ways and
still claim with straight face that we are making Emacs more stable
and reliable?

Perhaps you don't care about platforms that use gmalloc.  Otherwise, I
don't understand your line of thinking at all.