Mercurial > hg > xemacs-beta
view src/objects-msw.h @ 802:19dfb459d51a
[xemacs-hg @ 2002-04-03 10:47:37 by ben]
fix tty problem et al
internals/internals.texi: Add section on correctly merging a branch back into the trunk.
console-tty.c, eval.c, event-unixoid.c, file-coding.c, file-coding.h, lisp.h, print.c, sysdep.c: Fix data corruption error in print.c from print_depth becoming
negative. Borrow primitives internal_bind_int,
internal_bind_lisp_object from my stderr-proc ws, soon to be
integrated; use them to properly bind print_depth et al.
First fix for TTY problem. The basic problem is I switched things
so that the TTY I/O is filtered through a coding system, for the
support of kterm and such, that speak JIS or similar
encodings. (#### I ***swear*** I had this working way back in
19.12.) Anyway, this introduced buffering issues, in which instead
of one char being read, it tried to read 1024 chars. I tried
setting the stdin descriptor non-blocking, but it doesn't appear
to work on Cygwin. (#### Andy, do you know anything about this?)
So I fixed it elsewhere. If you get weirdness on the TTY, look in
console-tty.c and see how it gets the coding system; maybe there's
a way to change it (and if not, there should be!).
Also fix warning in sysdep.c.
author | ben |
---|---|
date | Wed, 03 Apr 2002 10:47:52 +0000 |
parents | 943eaba38521 |
children | 79c6ff3eef26 |
line wrap: on
line source
/* mswindows-specific Lisp objects. Copyright (C) 1993, 1994 Free Software Foundation, Inc. Copyright (C) 1995 Board of Trustees, University of Illinois. Copyright (C) 1995, 1996 Ben Wing. Copyright (C) 1997, Jonathan Harris. This file is part of XEmacs. XEmacs is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. XEmacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with XEmacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* Synched up with: Not in FSF. */ /* Authorship: Ultimately based on FSF. Rewritten by Ben Wing. Rewritten for mswindows by Jonathan Harris, November 1997 for 21.0. */ #ifndef INCLUDED_objects_msw_h_ #define INCLUDED_objects_msw_h_ #include "objects.h" struct mswindows_color_instance_data { COLORREF color; }; #define MSWINDOWS_COLOR_INSTANCE_DATA(c) \ ((struct mswindows_color_instance_data *) (c)->data) #define COLOR_INSTANCE_MSWINDOWS_COLOR(c) \ (MSWINDOWS_COLOR_INSTANCE_DATA (c)->color) /* The four HFONTS are for the 4 (underlined, strikethrough) combinations. Only the one at index 0, neither underlined nor struk through is created with the font instance. Other fonts are created as necessary during redisplay, using the one at index 0 as prototype */ #define MSWINDOWS_NUM_FONT_VARIANTS 4 struct mswindows_font_instance_data { HFONT hfont [MSWINDOWS_NUM_FONT_VARIANTS]; }; #define MSWINDOWS_FONT_INSTANCE_DATA(c) \ ((struct mswindows_font_instance_data *) (c)->data) #define FONT_INSTANCE_MSWINDOWS_HFONT_I(c,i) \ (MSWINDOWS_FONT_INSTANCE_DATA(c)->hfont[(i)]) #define FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT(c,under,strike) \ FONT_INSTANCE_MSWINDOWS_HFONT_I (c, (!!(strike)<<1)|!!(under)) /* If font creation during redisplay fails, then the following value is used to prevent future attempts to create this font. Redisplay uses the "main" font when encounters this value */ #define MSWINDOWS_BAD_HFONT ((HFONT)INVALID_HANDLE_VALUE) HFONT mswindows_get_hfont (Lisp_Font_Instance *f, int under, int strike); Lisp_Object mswindows_color_to_string (COLORREF color); #endif /* INCLUDED_objects_msw_h_ */