From xemacs-m  Tue May 27 08:59:11 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 IAA21720
	for <xemacs-beta@xemacs.org>; Tue, 27 May 1997 08:59:10 -0500 (CDT)
Received: (from hniksic@localhost)
          by jagor.srce.hr (8.8.5/8.8.4)
	  id PAA07588; Tue, 27 May 1997 15:59:09 +0200 (MET DST)
To: XEmacs Developers <xemacs-beta@xemacs.org>
Subject: Facemenu dependency in custom
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-Windows: the art of incompetence.
From: Hrvoje Niksic <hniksic@srce.hr>
Date: 27 May 1997 15:59:08 +0200
Message-ID: <kigu3jpm2xf.fsf@jagor.srce.hr>
Lines: 36
X-Mailer: Gnus v5.4.52/XEmacs 20.2

I don't think custom should depend on facemenu in XEmacs.  If I
understand correctly what custom/widget uses facemenu for, it seems
not worth the hassle to call it.  Why should customizing a face have
the ugly side-effect of altering the `Edit' menu?  Or clobbering `M-g' 
(not longer true, thanks to Steve)?  Or invoking facemenu anyway?

For example, this patch should make things cleaner:

--- wid-edit.el.x	Tue May 27 11:52:59 1997
+++ wid-edit.el	Tue May 27 11:57:40 1997
@@ -2793,11 +2793,14 @@
   :sample-face-get 'widget-color-item-button-face-get)
 
 (defun widget-color-item-button-face-get (widget)
-  ;; We create a face from the value.
-  (require 'facemenu)
-  (condition-case nil
-      (facemenu-get-face (intern (concat "fg:" (widget-value widget))))
-    (error 'default)))
+  (let ((symbol (intern (concat "fg:" (widget-value widget)))))
+    (if (string-match "XEmacs" emacs-version)
+	(prog1 symbol
+	  (or (find-face symbol)
+	      (set-face-foreground (make-face symbol) (widget-value widget))))
+      (condition-case nil
+	  (facemenu-get-face symbol)
+	(error 'default)))))
 
 (define-widget 'color 'push-button
   "Choose a color name (with sample)."


-- 
Hrvoje Niksic <hniksic@srce.hr> | Student at FER Zagreb, Croatia
--------------------------------+--------------------------------
I'm a Lisp variable -- bind me!

