From: Jason Rumney Date: Thu, 29 Nov 2007 21:57:25 +0000 (+0000) Subject: Leave HAVE_WINDOW_SYSTEM defined. X-Git-Tag: emacs-pretest-23.0.90~9247 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b510360c6bf66da86512b837c9533cbd24b776fe;p=emacs.git 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. --- diff --git a/src/ChangeLog b/src/ChangeLog index e4d37ade79e..c44fdba9200 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2007-11-29 Jason Rumney + + * w32console.c: 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. + 2007-11-29 Andreas Schwab * keyboard.c (apply_modifiers): Fix typo. diff --git a/src/w32console.c b/src/w32console.c index 3567426a074..77cc5001f8f 100644 --- a/src/w32console.c +++ b/src/w32console.c @@ -35,8 +35,6 @@ Boston, MA 02110-1301, USA. #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 DWORD prev_console_mode; 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 @@ w32_face_attributes (f, face_id) && 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 @@ w32_face_attributes (f, face_id) } -/* 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