"Stephen J. Turnbull" <turnbull(a)sk.tsukuba.ac.jp> writes:
Many of the face functions associated with Custom (some of which
have leaked into other libraries, such as lisp/faces.el) use
terminology different from that documented in Info | Lispref |
Specifiers. For example, some functions (eg `face-spec-set')
specialize the specifier concept of "locale" to "frame" (in the
sense that the argument which represents the specifier's locale is
called "frame"; I don't think the semantics are altered at all). In
other cases the representation of objects is changed. Eg,
specifiers characterize the display with a tag-set [simple list]
like `(x color)' while Custom uses alists like `((type x) (class
color))'.
Unlike Per, I think it would be just fine to make the internal Custom
functions specifier-friendly. The interface should remain unchanged,
of course.
(1) Why does Custom do this with faces?
Because I found it very very very hard to do it otherwise.
(2) Can the interface of a function like `faces-spec-set' in
lisp/faces.el be changed? (It's one of the ones moved from
cus-face.el.) I would like it to use the specifier interface (some
combination of FACE LOCALE TAG-SET EXACT-P HOW-TO-ADD) but I suspect
that that would cause problems in Custom. Would it be a problem to
add a (partially redundant) &optional tag-set argument?
It would probably not be a problem, as long as you make sure that old
interface works for backward compatibility.
--
Hrvoje Niksic <hniksic(a)srce.hr> | Student at FER Zagreb, Croatia
--------------------------------+--------------------------------
HOW YOU CAN TELL THAT IT'S GOING TO BE A ROTTEN DAY:
#15 Your pet rock snaps at you.