of t and nil values.
(facemenu-set-face): Handle START and END interactively.
(facemenu-set-foreground): Don't use a face; specify color directly.
(facemenu-set-background): Likewise.
(facemenu-set-face-from-menu): Doc fix.
(facemenu-active-faces): Use face-attribute-vector
to handle bare attributes not in faces.
(facemenu-get-face): Don't handle face names fg:... and bg:... specially.
(facemenu-add-new-face): New argument MENU.
New way to handle adding colors to the color menus.
* term/pc-win.el (msdos-setup-initial-frame): New function, run by
term-setup-hook. Call msdos-remember-default-colors and
msdos-handle-reverse-video.
(msdos-face-setup): Parts of code moved to
msdos-setup-initial-frame.
(msdos-handle-reverse-video): New function, modeled after
x-handle-reverse-video.
(make-msdos-frame): Don't use initial-frame-alist and
default-frame-alist. Call msdos-handle-reverse-video.
(msdos-color-aliases): Remove.
(msdos-color-translate, msdos-approximate-color): Remove.
(msdos-color-values): Use 16-bit RGB values. RGB values updated
for better approximation of X colors.
(msdos-face-setup): Call tty-color-clear. Remove code that sets
up tty-color-alist (it is now on startup.el).
(x-display-color-p, x-color-defined-p, x-color-values,
x-defined-colors, face-color-supported-p, face-color-gray-p):
Remove.
* facemenu.el (facemenu-read-color, list-colors-display): Use
defined-colors for all frame types.
(facemenu-color-equal): Use color-values for all frame types.
* faces.el (read-face-attribute): For :foreground and :background
attributes and frames on character terminals, translate the color
to the closest supported one before looking it up in the list of
valid values.
(face-valid-attribute-values): Call defined-colors for all types
of frames.
(defined-colors, color-defined-p, color-values, display-color-p):
New finctions.
(x-defined-colors, x-color-defined-p, x-color-values,
x-display-color-p): Aliases for the above.
* startup.el (command-line): Register terminal colors for frame
types other than x and w32, but only if the terminal supports
colors. Call tty-color-define instead of face-register-tty-color.
* term/x-win.el (xw-defined-colors): Renamed from
x-defined-colors.
* term/w32-win.el (xw-defined-colors): Likewise.
* term/tty-colors.el: New file.
* loadup.el: Load term/tty-colors.
definition to allow regexps; add regexps for some packages that
define a lot of faces.
(facemenu-add-new-face): Test new face against regexps.
(list-colors-display): Rather than creating a zillion faces, use
new (foreground-color . COLOR) and (background-color . COLOR)
face properties.
Make them at top level.
(facemenu-key): Variable deleted.
(facemenu-keybindings, facemenu-new-faces-at-end)
(facemenu-unlisted-faces, facemenu-remove-face-function): Doc fixes.
`facemenu-discard-redundant-faces'. This version, written by
Simon Marshall, is faster and does not require optional
argument for recursive re-entry. New argument FRAME allows
check to be done relative to face definitions in any frame.
(facemenu-unlisted-faces): Remove font-lock faces from
the default list. The list of face names was out of sync; to
prevent this from happenning again I made font-lock.el, and other
packages that create "private" faces, put them on the list
themselves. This should give them a better chance of being
updated when the packages are changed.
Add Remove Special menu item.
(facemenu-remove-special): New function.
(facemenu-set-face-from-menu): If prefix arg, treat region as inactive.
(facemenu-set-face): Likewise.
(facemenu-keymap, facemenu-foreground-menu, facemenu-background-menu):
Add ... after Other.
(facemenu-menu): Change name to Text Properties.
(facemenu-remove-really-all): New function.
(facemenu-special-menu): Add Remove All menu item.
(facemenu-indentation-menu): Make item names clearer.
Pick new key names too.
(facemenu-menu): Split up definition.
Move `Remove All' item here.
(facemenu-special-menu): Delete `Remove All' item.
(facemenu-remove-all): Renamed from facemenu-remove-really-all.
(facemenu-remove-props): Renamed from facemenu-remove-all.
(facemenu-self-insert-face): New function.
(facemenu-set-face): Use facemenu-self-insert-face.
(facemenu-set-face-from-menu): Likewise.
(facemenu-after-change): Function deleted. Don't use it as hook.
Keybinding for bold-italic changed from M-g o to M-g l; M-g o is
now "other".
(facemenu-justification-menu, facemenu-indentation-menu):
New submenus, moved from enriched.el
(list-colors-display, facemenu-color-equal): New functions.
(facemenu-menu): Added "Display Faces" item.
(facemenu-new-faces-at-end): New variable.
(facemenu-add-new-face): Obey facemenu-new-faces-at-end.
(facemenu-menu, facemenu-keymap, facemenu-face-menu)
(facemenu-foreground-menu, facemenu-background-menu)
(facemenu-special-menu): Now have function definitions as prefix keys.
(facemenu-menu, facemenu-update): Refer to submenus by their names
rather than including their values.
(facemenu-set-face): Error if read-only; add item to menu if necessary.
(facemenu-get-face): Always return FACE.
(facemenu-add-new-face): Don't add if facemenu-unlisted-faces is t.
(facemenu-unlisted-faces): Doc fix.
Revise keybindings; doc fix.
(facemenu-new-faces-at-end): New vbl. (facemenu-add-new-face): Use it.
(facemenu-set-face, facemenu-set-face-from-menu): Check read-only.
(facemenu-set-face): Doc fix.
(facemenu-face-menu, facemenu-foreground-menu,
facemenu-background-menu, facemenu-special-menu): New or renamed
variables for submenus.
(facemenu-color-alist): Renamed from facemenu-colors.
(facemenu-add-new-face): New function.
(facemenu-update): Don't redo top-level menu;
nothing should change. Move menu setup to defvars. Use
facemenu-add-new-face. Changed global binding to C-down-mouse-3.
(facemenu-menu): "Update" item removed; should
no longer be needed interactively.
(facemenu-complete-face-list): Just return faces, not keybindings.