Mercurial > hg > xemacs-beta
comparison src/sysdep.c @ 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 | 2b676dc88c66 |
children | a634e3b7acc8 |
comparison
equal
deleted
inserted
replaced
801:2b676dc88c66 | 802:19dfb459d51a |
---|---|
2232 extern EMACS_INT consing_since_gc; | 2232 extern EMACS_INT consing_since_gc; |
2233 | 2233 |
2234 Bytecount | 2234 Bytecount |
2235 total_data_usage (void) | 2235 total_data_usage (void) |
2236 { | 2236 { |
2237 static EMACS_INT last_consing_since_gc; | |
2238 static void *last_sbrk; | |
2239 | |
2240 #ifdef NEED_STARTS | 2237 #ifdef NEED_STARTS |
2241 void *data_start = start_of_data (); | 2238 void *data_start = start_of_data (); |
2242 #else | 2239 #else |
2243 void *data_start = minimum_address_seen; | 2240 void *data_start = minimum_address_seen; |
2244 #endif | 2241 #endif |
2245 | 2242 |
2246 #if !defined (WIN32_NATIVE) && !defined (CYGWIN) | 2243 #if !defined (WIN32_NATIVE) && !defined (CYGWIN) |
2247 void *data_end; | 2244 void *data_end; |
2245 | |
2246 static EMACS_INT last_consing_since_gc; | |
2247 static void *last_sbrk; | |
2248 | 2248 |
2249 /* Random hack to avoid calling sbrk constantly (every funcall). #### Is | 2249 /* Random hack to avoid calling sbrk constantly (every funcall). #### Is |
2250 it worth it? */ | 2250 it worth it? */ |
2251 if (!last_sbrk || !(consing_since_gc >= last_consing_since_gc && | 2251 if (!last_sbrk || !(consing_since_gc >= last_consing_since_gc && |
2252 (consing_since_gc - last_consing_since_gc) < 1000)) | 2252 (consing_since_gc - last_consing_since_gc) < 1000)) |