From xemacs-m  Wed May 28 10:58:58 1997
Received: from jagor.srce.hr (hniksic@jagor.srce.hr [161.53.2.130])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id KAA06693
	for <xemacs-beta@xemacs.org>; Wed, 28 May 1997 10:58:57 -0500 (CDT)
Received: (from hniksic@localhost)
          by jagor.srce.hr (8.8.5/8.8.4)
	  id RAA20766; Wed, 28 May 1997 17:58:56 +0200 (MET DST)
To: XEmacs Developers <xemacs-beta@xemacs.org>
Subject: Re: Not dumping faces
References: <kig7mgjhd9n.fsf@jagor.srce.hr> <rjd8qby5zg.fsf@zuse.dina.kvl.dk>
X-Attribution: Hrv
X-Face: Mie8:rOV<\c/~z{s.X4A{!?vY7{drJ([U]0O=W/<W*SMo/Mv:58:*_y~ki>xDi&N7XG
        KV^$k0m3Oe/)'e%3=$PCR&3ITUXH,cK>]bci&<qQ>Ff%x_>1`T(+M2Gg/fgndU%k*ft
        [(7._6e0n-V%|%'[c|q:;}td$#INd+;?!-V=c8Pqf}3J
X-NSA-Fodder: colonel plutonium NSA Ortega Rule Psix nuclear Qaddafi clones
From: Hrvoje Niksic <hniksic@srce.hr>
Date: 28 May 1997 17:58:56 +0200
In-Reply-To: Per Abrahamsen's message of 28 May 1997 17:24:35 +0200
Message-ID: <kigoh9vfv0f.fsf@jagor.srce.hr>
Lines: 39
X-Mailer: Gnus v5.4.52/XEmacs 20.2

Per Abrahamsen <abraham@dina.kvl.dk> writes:

> Hrvoje Niksic <hniksic@srce.hr> writes:
> 
> > With Per Abrahamens's blessing, I am doing some work on XEmacsifying
> > cus-face.el.  I'd like someone to explain me why dumping face
> > definitions is not allowed.
> 
> Because `defface', under XEmacs[1], only creates a single face, which
> is used on all frames.  It uses the attributes of the selected frame
> at the time `defface' is evaluated to determine what the face should
> look like.  The `currently selected frame' during dump is unlikely to
> bear much resemblance to the frames used in the finished XEmacs.

I figured it might be something like that, thanks.

> If you instead create specifiers for the face that works on all frame
> types, you can probably dump the face safely.  This will also make
> faces declared with `defface' work right when you use different types
> of frames in the same XEmacs session.  All in all, a big win.

I am working on it.  If everything goes well and I don't fall under
the table, we might have the specifier code soon.  Keep your fingers
crossed.

> [1]  In Emacs, it creates frame local faces for all frames that are
> different from the frame used to initialize the global face.  I
> couldn't make this work on XEmacs.

My code will simply create a face, and set its device-specific
specifiers.  For a time I was worried about things like
background-mode, but I see that you can define new specifier tags with 
their predicates.  Problem solved.

-- 
Hrvoje Niksic <hniksic@srce.hr> | Student at FER Zagreb, Croatia
--------------------------------+--------------------------------
"Silence!" cries Freydag. "I did not call thee in for a consultation!" 
"They are my innards! I will not have them misread by a poseur!"

