"Andy Piper" <andy(a)xemacs.org> writes:
> > - M-x customize-face default
> > Right-click on [State]. Select "Show all display specs"
> > -> Invalid function: "Show all display specs"
>
> I would guess that Jan's customize fixes are responsible for
this. Stephen?
Seems unlikely to me.
Ah, but at least you replied :). Thanks for the analysis.
andy
> > xemacs,
> > - customization of Font Family of default face is not honored. I had
> > previously customized it to "Letter Gothic MT". Under 21.4.5, it is
> > displayed as "Letter Gothic MT". Under 21.4.6-rc1, it is displayed
as
> > "Courier New".
I don't have a windows build to reproduce this, however I can
reproduce the problem with 'gtk build.
In that case the problem is that customize is using font.el to do the
conversion and that does not recognize 'gtk as a device type and
silently fails.
Applying this fix makes it work
--- /local/xemacs/sunsite/xemacs-21.4/gtk/lisp/font.el~ Sun
Nov 25 17:27:33 2001
+++ /local/xemacs/sunsite/xemacs-21.4/gtk/lisp/font.el Sun
Nov 25 17:27:33 2001
@@ -99,6 +99,7 @@
(defconst font-window-system-mappings
'((x . (x-font-create-name x-font-create-object))
+ (gtk . (x-font-create-name x-font-create-object))
(ns . (ns-font-create-name ns-font-create-object))
(mswindows . (mswindows-font-create-name
mswindows-font-create-object))
(pm . (x-font-create-name x-font-create-object)) ;
Change? FIXME
Could something similar be happening for Windows?
If so, how did customize work before this?
The cleanest way to solve this is to have make-face-size and
make-face-family use a device type specific routine a long the lines
of make-face-italic. That way the use of font.el can be dropped.
I don't think "my patch" is really causing
> When XEmacs 21.4.6rc1 is built on my system --with-gtk then default
> faces are setup correctly to GTK values, but when they are
changed with a
> subsequent M-x customize-face or custom-set-faces form the change has no
> visible effect.
either!
> If the set-face-background forms within gtk-init-device-faces aren't
> passed the gtk device as the optional locale argument (see patch) then
> everything is hunkydory and subsequent customization of the default
> faces *do* have a visible effect.
There is something else weird going on with the face frobbing. I am
going to investigate.
[time passes]
I think the problem is entirely similar to the problem we had before
with 'italic'.
Customize might need to call frob-face-property as well.
Until then,
> + ;; Removed device locales - a naive attempt to keep Custom happy.
This seems like a good idea for the moment. Gtk doesn't support
multiple device anyway AFAIK. However,
> (set-face-foreground 'highlight
> - (nth prelight (plist-get style 'text))
> - device)
> + (nth prelight (plist-get style 'text)))
> + ;device)
This not quite 100% right. It really should have been adding a '(gtk
default) tag set from the beginning, i.e. make it
(set-face-foreground 'highlight
(nth prelight (plist-get style 'text))
nil '(gtk default))
etc
Jan