diff options
| author | Eli Zaretskii | 1999-12-15 13:14:38 +0000 |
|---|---|---|
| committer | Eli Zaretskii | 1999-12-15 13:14:38 +0000 |
| commit | f9d2fdc464f130fbde700cecc00c031ef7e8e4f2 (patch) | |
| tree | 2102159b730a603bb26d4e7d5162211d958058d7 /src/term.c | |
| parent | e19539f184768f9411860daf9ef9d983e48e2650 (diff) | |
| download | emacs-f9d2fdc464f130fbde700cecc00c031ef7e8e4f2.tar.gz emacs-f9d2fdc464f130fbde700cecc00c031ef7e8e4f2.zip | |
Changes for separate unspecified foreground and background colors
on character terminals:
* dispextern.h (FACE_TTY_DEFAULT_FG_COLOR)
(FACE_TTY_DEFAULT_BG_COLOR): New macros.
* xfaces.c (Qunspecified_fg, Qunspecified_bg): New variables.
(syms_of_xfaces): Initialize and staticpro them.
(tty_defined_color): If the color name is unspecified-fg or
unspecified-bg, return FACE_TTY_DEFAULT_FG_COLOR and
FACE_TTY_DEFAULT_BG_COLOR, respectively, as the pixel value.
(tty_color_name): If the color pixel value is either
FACE_TTY_DEFAULT_FG_COLOR or FACE_TTY_DEFAULT_BG_COLOR, return
Qunspecified_fg or Qunspecified_bg, respectively.
(Finternal_set_lisp_face_attribute): Allow values Qunspecified_fg
and Qunspecified_bg for foreground and background colors.
(realize_default_face): If the foreground and background colors
are not specified, default to Qunspecified_fg and Qunspecified_bg.
(realize_tty_face): By default, set the face colors to
FACE_TTY_DEFAULT_FG_COLOR and FACE_TTY_DEFAULT_BG_COLOR.
[MSDOS]: Handle FACE_TTY_DEFAULT_FG_COLOR and
FACE_TTY_DEFAULT_BG_COLOR when face colors are not defined.
Reverse the colors if the default colors were reversed.
* dispnew.c (init_display): Initialize the frame pixels of the
initial frame to FACE_TTY_DEFAULT_FG_COLOR and
FACE_TTY_DEFAULT_BG_COLOR.
* term.c (turn_on_face): If the default fore- and background
colors are reversed, enter inverse video mode. Don't send color
escape sequences for unspecified foreground and background colors.
(turn_off_face): Handle unspecified-fg and unspecified-bg colors.
* dosfns.c (unspecified_colors): New variable.
(msdos_stdcolor_idx): Handle unspecified-fg and unspecified-bg
color names, return FACE_TTY_DEFAULT_FG_COLOR and
FACE_TTY_DEFAULT_BG_COLOR, respectively.
(msdos_stdcolor_name): Handle FACE_TTY_DEFAULT_FG_COLOR and
FACE_TTY_DEFAULT_BG_COLOR, return Qunspecified_fg and
Qunspecified_bg, respectively.
* msdos.c (IT_set_face): Support FACE_TTY_DEFAULT_FG_COLOR and
FACE_TTY_DEFAULT_BG_COLOR as pixel values.
* faces.el (face-read-integer, read-face-attribute)
(color-defined-p, color-values): Allow color values unspecified-fg
and unspecified-bg, handle them as unspecified.
Diffstat (limited to 'src/term.c')
| -rw-r--r-- | src/term.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/term.c b/src/term.c index 7900643dfdc..04f7a64866d 100644 --- a/src/term.c +++ b/src/term.c | |||
| @@ -1959,7 +1959,9 @@ turn_on_face (f, face_id) | |||
| 1959 | && TN_magic_cookie_glitch_ul <= 0) | 1959 | && TN_magic_cookie_glitch_ul <= 0) |
| 1960 | OUTPUT1_IF (TS_enter_underline_mode); | 1960 | OUTPUT1_IF (TS_enter_underline_mode); |
| 1961 | 1961 | ||
| 1962 | if (face->tty_reverse_p) | 1962 | if (face->tty_reverse_p |
| 1963 | || face->foreground == FACE_TTY_DEFAULT_BG_COLOR | ||
| 1964 | || face->background == FACE_TTY_DEFAULT_FG_COLOR) | ||
| 1963 | OUTPUT1_IF (TS_enter_reverse_mode); | 1965 | OUTPUT1_IF (TS_enter_reverse_mode); |
| 1964 | 1966 | ||
| 1965 | if (TN_max_colors > 0) | 1967 | if (TN_max_colors > 0) |
| @@ -1967,6 +1969,8 @@ turn_on_face (f, face_id) | |||
| 1967 | char *p; | 1969 | char *p; |
| 1968 | 1970 | ||
| 1969 | if (face->foreground != FACE_TTY_DEFAULT_COLOR | 1971 | if (face->foreground != FACE_TTY_DEFAULT_COLOR |
| 1972 | && face->foreground != FACE_TTY_DEFAULT_FG_COLOR | ||
| 1973 | && face->foreground != FACE_TTY_DEFAULT_BG_COLOR | ||
| 1970 | && TS_set_foreground) | 1974 | && TS_set_foreground) |
| 1971 | { | 1975 | { |
| 1972 | p = tparam (TS_set_foreground, NULL, 0, (int) face->foreground); | 1976 | p = tparam (TS_set_foreground, NULL, 0, (int) face->foreground); |
| @@ -1975,6 +1979,8 @@ turn_on_face (f, face_id) | |||
| 1975 | } | 1979 | } |
| 1976 | 1980 | ||
| 1977 | if (face->background != FACE_TTY_DEFAULT_COLOR | 1981 | if (face->background != FACE_TTY_DEFAULT_COLOR |
| 1982 | && face->background != FACE_TTY_DEFAULT_BG_COLOR | ||
| 1983 | && face->background != FACE_TTY_DEFAULT_FG_COLOR | ||
| 1978 | && TS_set_background) | 1984 | && TS_set_background) |
| 1979 | { | 1985 | { |
| 1980 | p = tparam (TS_set_background, NULL, 0, (int) face->background); | 1986 | p = tparam (TS_set_background, NULL, 0, (int) face->background); |
| @@ -2027,8 +2033,10 @@ turn_off_face (f, face_id) | |||
| 2027 | 2033 | ||
| 2028 | /* Switch back to default colors. */ | 2034 | /* Switch back to default colors. */ |
| 2029 | if (TN_max_colors > 0 | 2035 | if (TN_max_colors > 0 |
| 2030 | && (face->foreground != FACE_TTY_DEFAULT_COLOR | 2036 | && ((face->foreground != FACE_TTY_DEFAULT_COLOR |
| 2031 | || face->background != FACE_TTY_DEFAULT_COLOR)) | 2037 | && face->foreground != FACE_TTY_DEFAULT_FG_COLOR) |
| 2038 | || (face->background != FACE_TTY_DEFAULT_COLOR | ||
| 2039 | && face->background != FACE_TTY_DEFAULT_BG_COLOR))) | ||
| 2032 | OUTPUT1_IF (TS_orig_pair); | 2040 | OUTPUT1_IF (TS_orig_pair); |
| 2033 | } | 2041 | } |
| 2034 | 2042 | ||