Well, it kind of does. At least, if the default value of the new
attribute is in line with the previous behavior, most faces won't have
to change.
I was talking about the case where the defface we have for that face
DOES use the new attribute. In that case, the default value of the
attribute doesn't matter, since the defface uses some specific value,
and that will always be a non-default value.
Another option that had been voiced is to split the value into two
attributes: :extend-foreground and :extend-background.
But :extend is not just about colors, it is also about underline,
overline, strike-through, and box attributes. In fact, the underline
attribute was an even more important one, because extending it looks
exceptionally ugly (we even had a few bug reports about that).
But that brings me to a question. I think whether the 'region' face has
:extend-background to nil or not is a personal choice. Would the user
have to fight and convince the author of the theme they are using to
change that attribute? Or will it be easy to apply personal
customization and call it a day?
Why would using a theme need anything beyond a simple face
customization to modify :extend (or any other attribute)? The author
of a theme can do what they think is best, but users can always
override that by customizing the face after loading the theme.