Subject: Re: bug#7587: 23.2; `format-mode-line' makes Emacs crash

From: Eli Zaretskii <[email-masked]>
Date: Mon, 20 Dec 2010 20:33:22 +0200

> From: Chong Yidong <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Mon, 20 Dec 2010 23:29:48 +0800
> 
> I mean, format-mode-line with a non-nil FACE argument doesn't seem to be
> used anywhere.

Not in Emacs sources, no.  But it's a feature that some application
could plausibly want.

> > Given some history of discussions here, and the fact that no one seems
> > to be sure how this code should really work and why, I wonder why you
> > went ahead with the change without discussing it first.  I'm afraid
> > that this change breaks backward compatibility for no good reason.
> 
> Given that the backward compatible behavior is to segfault, this
> breakage might be acceptable.

It only crashed if some faces were remapped, otherwise it would "just
work".  (And it isn't a segfault, it's a deliberate call to `abort'.)

> Less flippantly, the FACE argument, if non-nil, is still applied as a
> text property to the returned string.

Which makes me wonder why we need to pass to init_iterator anything
but DEFAULT_FACE_ID...

> So I don't think there's going to be any noticeable difference
> (again, we don't have any concrete use cases, so it's difficult to
> say).  The docstring change might not even be necessary.

If FACE is still applied, then the doc string change (and part of what
I wrote in NEWS and the ELisp manual) should indeed be reverted.