Index: lisp/faces.el =================================================================== RCS file: /usr/CVSroot/XEmacs/xemacs-20/lisp/faces.el,v retrieving revision 1.17 diff -u -u -r1.17 faces.el --- lisp/faces.el 1998/06/30 06:35:21 1.17 +++ lisp/faces.el 1998/07/05 00:00:18 @@ -1674,16 +1674,14 @@ (x-get-resource "backgroundToolBarColor" "BackgroundToolBarColor" 'string)) - (face-background 'toolbar) - "Gray80"))) + (face-background 'toolbar)))) (purecopy '("foregroundToolBarColor" (or (and (featurep 'x) (x-get-resource "foregroundToolBarColor" "ForegroundToolBarColor" 'string)) - (face-foreground 'toolbar) - "Black"))) + (face-foreground 'toolbar)))) ))) (when (featurep 'tty) Index: lisp/x-faces.el =================================================================== RCS file: /usr/CVSroot/XEmacs/xemacs-20/lisp/x-faces.el,v retrieving revision 1.11 diff -u -u -r1.11 x-faces.el --- lisp/x-faces.el 1998/05/27 20:41:54 1.11 +++ lisp/x-faces.el 1998/07/05 00:00:24 @@ -473,7 +473,8 @@ ;; frames or devices because then, common resource specs like ;; "*Foreground: black" will have unwanted effects. ;; - (if (and (eq (face-name face) 'default) + (if (and (or (eq (face-name face) 'default) + (eq (face-name face) 'gui-element)) (or (null locale) (eq locale 'global))) (progn (or fn (setq fn (x-get-resource Index: lisp/msw-faces.el =================================================================== RCS file: /usr/CVSroot/XEmacs/xemacs-20/lisp/msw-faces.el,v retrieving revision 1.9 diff -u -u -r1.9 msw-faces.el --- lisp/msw-faces.el 1998/06/20 00:58:24 1.9 +++ lisp/msw-faces.el 1998/07/05 00:00:25 @@ -34,11 +34,6 @@ (defun mswindows-init-device-faces (device) (set-face-font 'default '((mswindows default) . "Courier New:Regular:10") 'global) - ;; gui elements - (set-face-foreground 'gui-element '((mswindows default) . "Black") 'global) - (set-face-background 'gui-element '((mswindows default) . "Gray75") 'global) - (set-face-foreground 'default '((mswindows default) . "black") 'global) - (set-face-background 'default '((mswindows default) . "white") 'global) ) Index: src/faces.c =================================================================== RCS file: /usr/CVSroot/XEmacs/xemacs-20/src/faces.c,v retrieving revision 1.24 diff -u -u -r1.24 faces.c --- src/faces.c 1998/06/13 04:28:44 1.24 +++ src/faces.c 1998/07/05 00:00:35 @@ -1944,6 +1944,27 @@ build_string ("gui element face"), Qnil); + /* Provide some last-resort fallbacks for gui-element face which + mustn't default to default. */ + { + Lisp_Object fg_fb = Qnil, bg_fb = Qnil; + +#ifdef HAVE_X_WINDOWS + fg_fb = acons (list1 (Qx), build_string ("black"), fg_fb); + bg_fb = acons (list1 (Qx), build_string ("Gray80"), bg_fb); +#endif +#ifdef HAVE_TTY + fg_fb = acons (list1 (Qtty), Fvector (0, 0), fg_fb); + bg_fb = acons (list1 (Qtty), Fvector (0, 0), bg_fb); +#endif +#ifdef HAVE_MS_WINDOWS + fg_fb = acons (list1 (Qmswindows), build_string ("black"), fg_fb); + bg_fb = acons (list1 (Qmswindows), build_string ("Gray75"), bg_fb); +#endif + set_specifier_fallback (Fget (Vgui_element_face, Qforeground, Qnil), fg_fb); + set_specifier_fallback (Fget (Vgui_element_face, Qbackground, Qnil), bg_fb); + } + /* Now create the other faces that redisplay needs to refer to directly. We could create them in Lisp but it's simpler this way since we need to get them anyway. */