changeset 86834:ca4d8fae0af9

Leave HAVE_WINDOW_SYSTEM defined. (w32_face_attributes): Use Vtty_defined_color_alist to determine if the terminal colors are initialized. (unspecified_fg, unspecified_bg): Remove unused declarations.
author Jason Rumney <jasonr@gnu.org>
date Thu, 29 Nov 2007 21:57:12 +0000
parents 9a5165586076
children 936ce2c5fcbe
files src/w32console.c
diffstat 1 files changed, 6 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/w32console.c	Thu Nov 29 11:49:23 2007 +0000
+++ b/src/w32console.c	Thu Nov 29 21:57:12 2007 +0000
@@ -35,8 +35,6 @@
 #include "charset.h"
 #include "coding.h"
 #include "disptab.h"
-/* Disable features in frame.h that require a Window System.  */
-#undef HAVE_WINDOW_SYSTEM
 #include "frame.h"
 #include "termhooks.h"
 #include "termchar.h"
@@ -76,6 +74,8 @@
 static CONSOLE_CURSOR_INFO prev_console_cursor;
 #endif
 
+extern Lisp_Object Vtty_defined_color_alist;
+
 /* Determine whether to make frame dimensions match the screen buffer,
    or the current window size.  The former is desirable when running
    over telnet, while the latter is more useful when working directly at
@@ -491,12 +491,10 @@
       && face->background != FACE_TTY_DEFAULT_COLOR)
     char_attr = (char_attr & 0xff0f) + ((face->background % 16) << 4);
 
-
-  /* NTEMACS_TODO: Faces defined during startup get both foreground
-     and background of 0. Need a better way around this - for now detect
-     the problem and invert one of the faces to make the text readable. */
-  if (((char_attr & 0x00f0) >> 4) == (char_attr & 0x000f))
-    char_attr ^= 0x0007;
+  /* Before the terminal is properly initialized, all colors map to 0.
+     If we get a face like this, use the normal terminal attributes.  */
+  if (NILP (Vtty_defined_color_alist))
+    char_attr = char_attr_normal;
 
   if (face->tty_reverse_p)
     char_attr = (char_attr & 0xff00) + ((char_attr & 0x000f) << 4)
@@ -506,10 +504,6 @@
 }
 
 
-/* Emulation of some X window features from xfns.c and xfaces.c.  */
-
-extern char unspecified_fg[], unspecified_bg[];
-
 
 /* Given a color index, return its standard name.  */
 Lisp_Object