Open questions: - Since "check that a face spans the whole line" is neither straightforward nor sufficient (cf. diff-mode), I went with a fairly naive heuristic. If anyone wants to describe a more sensible algorithm, or point out counter-examples where this logic breaks down, I'm all ears! - The (or … (when … (let … (when (and …))))) chain looks clumsy but I don't really know how to improve it off the top of my head. Maybe a when-let or two would help? That'd mean requiring Emacs 25.1 though. - (More of a nerd-snipe than an actual question, and definitely not related to this bug report, but if any expert on redisplay can look at bug41810-teardown in repro.el and tell me what is up with those pesky scroll bars, I'd be very grateful.) Finally, I'd like to suggest this second patch to apply on top of the first one. I know there is no consensus that spaces are better than (substring fcp -1), but I still can't think of a situation were the latter looks better.