Subject: Re: bug#12745: crash in bidi_pop_it during (idle) redisplay

From: Alp Aker <[email-masked]>
Date: Mon, 29 Oct 2012 16:42:23 -0400

> Out of curiosity: what is the purpose of having in an overlay this
> weird character and then to display it as a space?

It's a hack to achieve compatibility with packages that change the
display table entry for the newline character.  When fci-mode is
active it puts, at the end of each line, a stretch glyph and then an
image with the line segment indicating the fill column.  When, e.g.,
whitespace-mode changes the display table entry for newlines to
display a '$' at the end of the line, this would show up *after* the
stretch glyph and image unless we do something to handle that case.
So what fci-mode tries to do is intercept changes to the display table
entry for newlines.  If something like whitespace mode changes newline
display, fci-mode changes the display table back to showing newlines
as blanks, and then updates the display table entry for U+E000 to (in
this case) [?$], so that the end-of-line indication appears where the
user expects it to be.

So the weird character is just a hook on which we can hang display
vectors intended for newlines.  But when the display settings for
newlines are normal it just gets displayed as a space. This is
admittedly a gross manoeuvre, but I couldn't think of any other way to
handle the issue.