Hi, with the current git tree (revision 0aec2aac), I'm running into problems with an infinite loop in xdisp.c which I believe to be fixed by this patch, which is reasonably obvious: diff --git a/src/xdisp.c b/src/xdisp.c index e45cb87..7b221d4 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -4221,6 +4221,8 @@ handle_invisible_prop (struct it *it) if (invis == 2) display_ellipsis_p = true; } + + charpos = end_charpos; } while (invis != 0 && endpos < len); in this loop: do { end_charpos = Fnext_single_property_change (charpos, Qinvisible, it->string, limit); if (INTEGERP (end_charpos)) { endpos = XFASTINT (end_charpos); charpos = end_charpos; prop = Fget_text_property (end_charpos, Qinvisible, it->string); invis = TEXT_PROP_MEANS_INVISIBLE (prop); if (invis == 2) display_ellipsis_p = true; } } while (invis != 0 && endpos < len); Without the patch, we keep calling Fnext_property_change with the same arguments and expecting a different result, which obviously never happens. In fact it seems to me we only need one of charpos and end_charpos as the code currently stands, anyway. However, charpos = f(..., charpos, ...) might cause confusion. I can provide more detail if necessary, but as I said, it's a fairly obvious bug.