Hrvoje Niksic <hniksic(a)srce.hr> writes:
Note that it would be possible to compatibly add new specifier tags
for all domains, e.g. by a new DOMAINS optional argument to
`define-specifier-tag',
Something like that yes.
However, the problem is that the current specifier implementation has
to be extended to support such on-the-fly fetching of relevant data.
I believe Kirill did some work on this, but it was never finished.
I am not sure it is needed to be that dynamic. I thing adding a hook
to each specifier that is called when that specifier is changed would
be sufficient. Then you could put a hook on the background color
specifier of the default face such that when it gets changed you
simply recompute the tags, invalidate all the caches and redisplay the
whole shebang.
This hook could also be used to do other things. For instance imagine
that the fallback value of the font specifier of a face is another
specifier "font-model-font". Thus specifier is autoconstructed from
the face's family, weight and size specifiers, which have hooks on
them so that when they get changed the font-model code recomputes
font-model-font.
Jan