X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/4e6835dbc4e02adcca7770c555963a37ad7fb8b9..cb94103f1744a17f140a94ba322a87e612d39d51:/src/term.c diff --git a/src/term.c b/src/term.c index e407aec2fe..d829332f55 100644 --- a/src/term.c +++ b/src/term.c @@ -6,7 +6,7 @@ This file is part of GNU Emacs. GNU Emacs 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) +the Free Software Foundation; either version 3, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, @@ -38,6 +38,7 @@ Boston, MA 02110-1301, USA. */ #include "dispextern.h" #include "window.h" #include "keymap.h" +#include "blockinput.h" /* For now, don't try to include termcap.h. On some systems, configure finds a non-standard termcap.h that the main build @@ -990,11 +991,13 @@ write_glyphs (string, len) conversion_buffer = encode_terminal_code (string, n, coding); if (coding->produced > 0) { + BLOCK_INPUT; fwrite (conversion_buffer, 1, coding->produced, stdout); if (ferror (stdout)) clearerr (stdout); if (termscript) fwrite (conversion_buffer, 1, coding->produced, termscript); + UNBLOCK_INPUT; } len -= n; string += n; @@ -1089,11 +1092,13 @@ insert_glyphs (start, len) if (coding->produced > 0) { + BLOCK_INPUT; fwrite (conversion_buffer, 1, coding->produced, stdout); if (ferror (stdout)) clearerr (stdout); if (termscript) fwrite (conversion_buffer, 1, coding->produced, termscript); + UNBLOCK_INPUT; } OUTPUT1_IF (TS_pad_inserted_char); @@ -2164,15 +2169,22 @@ DEFUN ("tty-display-color-cells", Ftty_display_color_cells, #ifndef WINDOWSNT +/* Declare here rather than in the function, as in the rest of Emacs, + to work around an HPUX compiler bug (?). See + http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg00410.html */ +static int default_max_colors; +static int default_max_pairs; +static int default_no_color_video; +static char *default_orig_pair; +static char *default_set_foreground; +static char *default_set_background; + /* Save or restore the default color-related capabilities of this terminal. */ static void tty_default_color_capabilities (save) int save; { - static char - *default_orig_pair, *default_set_foreground, *default_set_background; - static int default_max_colors, default_max_pairs, default_no_color_video; if (save) {