4.4.3.2 Highlight Inheritance

By default (this is also the case in the ‘raw’ theme), all highlight properties are turned off: text is output in whatever way is standard on the current terminal.

When you set a face’s highlight property however, it is inherited by all the sub-faces. This is in fact the most natural behavior. For instance, if you set the foreground of the ‘synopsis’ face to red, you probably expect the whole synopsis line to be output in red, including the header, program etc. parts. If not, you need to explicitly neutralize the unwanted effect, for instance by saying something like this:

:face (synopsis :foreground red
                :face (program :foreground reset)
                :face (postfix :foreground cyan))

In other words, you can consider that the way some piece of text is output is not specified exactly by its associated face, but rather by the merging of all active properties from the whole corresponding face tree. This is exactly how Emacs faces work by the way.