What about having a :link face attribute (property) that is soft, not hard?
What does "soft" or "hard" mean, here? Soft: The appearance of a soft text property like :link would be whatever a user says it is. By default, it might be a set of properties with just one member: the :underline property. Hard: The appearance of a hard text property like :underline always means the same thing: the text is underlined. Users can decide to use it or not use it, but they cannot redefine it. That way, a single (possibly user) definition of the :link attribute would automatically affect any faces that have that property. And it would also be easy (including for users) to selectively apply the :link property to face or mouse-face or both. I think this can be done by making these faces inherit from a face named `link'. I thought that might be the case. Instead of "soft" text properties (which would be definable as a set of soft and hard text properties), an inheriting face could be used. IOW, a face is already a set of text properties (you can say "has" if you don't like "is"), and we already have face inheritance. A potential difference I see is that the thing that inherits is a face, rather than a text property. In the present case, we would define (and use for all links) a `link' face that inherits certain properties (e.g. :underline) by default. I'm not sure that would be equivalent in flexibility to defining an inheriting (= "soft") text property :link, but perhaps it would be. If we can do this (predefine links in a soft way) using face inheritance, then why don't we (after the release), in order to give people more flexibility? _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel