> The origin of the faces without a foreground setting is commit > 382ceb2cdbedc06b06d9fb424d83f531339a3311 by Juri Linkov > while working on https://debbugs.gnu.org/cgi/bugreport.cgi?bug=10181. > > I've cc'd him here. Juri, can you comment? Thanks for pointing me at this issue since I had not realized this is related to something affected by my previous changes. > I'm especially interested to hear your thoughts on why the change made > things nicer (what you said in > https://debbugs.gnu.org/cgi/bugreport.cgi?bug=10181#84). The core point of my 2014-year message was that with the specified foreground, Ediff removes font-lock highlighting on non-current differences. The need for keeping the font-lock foreground colors is evident when looking at these font-lock colors in buffers where the effect of font-lock is noticeable, such as changes in the source code files. But I completely agree that the current contrast is too low on a dark theme. Fortunately, now we have a feature that will help to fix this problem: the face attribute :distant-foreground specifies the alternative foreground color that is used only when the background color is too close to the foreground color, thus making the text readable in this case. > Or, perhaps the ediff faces should vary the background based on > (background light) and (background dark)? The background colors could be adjusted as well for dark backgrounds. After changing background colors to darker colors and adding :distant-foreground I tried different default foreground colors with M-x set-foreground-color RET dark grey RET and it seems everything looks readable. Do you see more problems with the following patch?