home *** CD-ROM | disk | FTP | other *** search
- I suppose it would be reasonable for emacs to store the bold/italic/etc face
- values of the first screen into the "global" face list to provide a reasonable
- dfault for them.
-
- I guess I think that screen-specific face attributes are a fairly dubious
- feature, and since I don't use them, I'm not sure whether the implications of
- this change would matter.
-
- Basically, if you had things set up so that the FOO screen used a 10pt font,
- and the BAR screen used a 14pt font, and all other screens used a 12pt font by
- default, then the `bold' faces on those various screens would use different
- fonts (and the "global" bold face wouldn't have a font specified at all, since
- `bold' is one of the faces computed by the `create-screen-hook' (well, really
- by `x-initialize-other-random-faces')).
-
- So, since the font-lock-keyword-face is created by copying the bold face, and
- is not re-copied on a per-screen basis via the `create-screen-hook', it would
- end up getting the font (and font-size) of whichever screen was created first,
- instead of the same font as the bold face on the current screen, and you'd
- have mixed 12 and 14pt text on newly-created screens.
-
- This is better than the current behavior, which is that font-lock-keyword-face
- has no font at all on screens that are created after the
- font-lock-keyword-face is initialized. But...
-
- If code on the create-screen-hook were to re-copy the screen-specific version
- of the font-lock-keyword-face from bold each time a screen were created, then
- everything would always work as expected, even wrt the font sizes. But that's
- a lot of work, that I don't think should be imposed on everyone who wants to
- make a new face which is "a copy of bold."
-
- I think the root of the problem here might be that we're using the X font
- specifications (which suck) instead of attaching more symbolic attributes to
- faces, like "this face is bold" instead of "this face is this exact font,
- which we think is a bold version of the default font in the default size which
- we've computed via a whole slew of dubious heuristics."
-
- But the same problem would rear its head again if you had some face that you
- wanted to be green in some screens and blue in others, and had a second face
- that you wanted to be a "copy" of that. What does it mean for it to be a
- copy? Should it always have the same attributes as the first face, even on
- newly created screens where that first face has some totally new value?
-
- What a mess.
-
- -- Jamie
-
-