comparison src/msdos.c @ 26902:264b83a3a688

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.
author Eli Zaretskii <eliz@gnu.org>
date Wed, 15 Dec 1999 13:14:38 +0000
parents f5dded41adcc
children 9e0e23a92539
comparison
equal deleted inserted replaced
26901:cfaf05bc5ac2 26902:264b83a3a688
683 the colors of the default face, except that if highlight is on, 683 the colors of the default face, except that if highlight is on,
684 invert the foreground and the background. Note that we assume 684 invert the foreground and the background. Note that we assume
685 all 16 colors to be available for the background, since Emacs 685 all 16 colors to be available for the background, since Emacs
686 switches on this mode (and loses the blinking attribute) at 686 switches on this mode (and loses the blinking attribute) at
687 startup. */ 687 startup. */
688 if (fg == (unsigned long)-1) 688 if (fg == FACE_TTY_DEFAULT_COLOR || fg == FACE_TTY_DEFAULT_FG_COLOR)
689 fg = highlight || fp->tty_reverse_p ? FRAME_BACKGROUND_PIXEL (sf) 689 fg = highlight || fp->tty_reverse_p ? FRAME_BACKGROUND_PIXEL (sf)
690 : FRAME_FOREGROUND_PIXEL (sf); 690 : FRAME_FOREGROUND_PIXEL (sf);
691 if (bg == (unsigned long)-1) 691 else if (fg == FACE_TTY_DEFAULT_BG_COLOR)
692 fg = highlight ? FRAME_FOREGROUND_PIXEL (sf) : FRAME_BACKGROUND_PIXEL (sf);
693 if (bg == FACE_TTY_DEFAULT_COLOR || fg == FACE_TTY_DEFAULT_BG_COLOR)
692 bg = highlight || fp->tty_reverse_p ? FRAME_FOREGROUND_PIXEL (sf) 694 bg = highlight || fp->tty_reverse_p ? FRAME_FOREGROUND_PIXEL (sf)
693 : FRAME_BACKGROUND_PIXEL (sf); 695 : FRAME_BACKGROUND_PIXEL (sf);
696 else if (bg == FACE_TTY_DEFAULT_FG_COLOR)
697 fg = highlight ? FRAME_BACKGROUND_PIXEL (sf) : FRAME_FOREGROUND_PIXEL (sf);
694 if (termscript) 698 if (termscript)
695 fprintf (termscript, "<FACE %d%s: %d/%d>", 699 fprintf (termscript, "<FACE %d%s: %d/%d>",
696 face, highlight ? "H" : "", fp->foreground, fp->background); 700 face, highlight ? "H" : "", fp->foreground, fp->background);
697 if (fg >= 0 && fg < 16) 701 if (fg >= 0 && fg < 16)
698 { 702 {