* 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.
Do that if width is nil as well.
(x-display-mm-height, x-display-mm-width): Update values.
(x-colors): Compute the list from msdos-color-values.
(x-select-enable-clipboard): Doc fix.
(x-frob-font-weight, x-font-family-list): New functions.
frame-set-background-mode instead. All callers changed.
(msdos-face-setup): Don't force color display parameter, it is set
by frame-set-background-mode.
(make-msdos-frame): Call x-handle-reverse-video and
face-set-after-frame-default. Delete frame if creation failed.
of dos-codepage-setup.
(cjk-codepages-alist): New variable, an alist of Far-Eastern
codepages for which there's no need to set up cpNNN coding
systems.
(dos-codepage-setup): Support Far-Eastern DOS terminals.
syntax table and bind unibyte-display-via-language-environment
here, rather than at top level, so that resetting to unibyte in
.emacs works as expected.
alist used to display characters for which there's no glyphs in
the current codepage.
(IT-display-table-setup): New function, sets up the DOS terminal
for a given codepage.
(dos-codepage-setup): New function, sets up the MULE environment
for the current value of dos-codepage.
(top-level if): In the multibyte mode, turn on
unibyte-display-via-language-environment. In the unibyte mode,
set up the special syntax tables to map lower- to upper case and
back.
x-cut-buffer-or-selection-value.
(w32-standard-fontset-spec): New variable.
(w32-create-initial-fontsets, mouse-set-font): Check whether
new-fontset is available.
(w32-use-w32-font-dialog): Enable use of set-variable.