]> code.delx.au - gnu-emacs/blobdiff - src/termchar.h
Another fix for Cygwin.
[gnu-emacs] / src / termchar.h
index 1c8e8646d4ebedd8e111f2024f826c51a8ae3499..feb89e02d0ebce68c3fd6e93f6a45e3bcf62b092 100644 (file)
@@ -16,6 +16,8 @@ GNU General Public License for more details.
 You should have received a copy of the GNU General Public License
 along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
+#include "dispextern.h"
+
 /* Each termcap frame points to its own struct tty_output object in
    the output_data.tty field.  The tty_output structure contains the
    information that is specific to termcap frames. */
@@ -28,6 +30,8 @@ struct tty_output
   /* There is nothing else here at the moment... */
 };
 
+enum { TERMCAP_BUFFER_SIZE = 4096 };
+
 /* Parameters that are shared between frames on the same tty device. */
 
 struct tty_display_info
@@ -73,13 +77,12 @@ struct tty_display_info
   Mouse_HLInfo mouse_highlight;
 
   /* Buffer used internally by termcap (see tgetent in the Termcap
-     manual).  Only init_tty and delete_tty should change this.  */
-  char *termcap_term_buffer;
+     manual).  Only init_tty should use this.  */
+  char termcap_term_buffer[TERMCAP_BUFFER_SIZE];
 
   /* Buffer storing terminal description strings (see tgetstr in the
-     Termcap manual).  Only init_tty and delete_tty should change
-     this.  */
-  char *termcap_strings_buffer;
+     Termcap manual).  Only init_tty should use this.  */
+  char termcap_strings_buffer[TERMCAP_BUFFER_SIZE];
 
   /* Strings, numbers and flags taken from the termcap entry.  */
 
@@ -191,6 +194,28 @@ struct tty_display_info
   /* Nonzero means use ^S/^Q for flow control.  */
 
   unsigned flow_control : 1;
+
+  /* Non-zero means we are displaying a TTY menu on this tty.  */
+  unsigned showing_menu : 1;
+
+  /* Nonzero means spaces in the text must actually be output;
+     can't just skip over some columns to leave them blank.  */
+  unsigned must_write_spaces : 1;
+
+  /* Nonzero if TTY can insert and delete lines.  */
+  unsigned line_ins_del_ok : 1;
+
+  /* Nonzero if TTY can insert and delete chars.  */
+  unsigned char_ins_del_ok : 1;
+
+  /* Nonzero if TTY supports setting the scroll window.  */
+  unsigned scroll_region_ok : 1;
+
+  /* Nonzero if TTY remembers lines scrolled off bottom.  */
+  unsigned memory_below_frame : 1;
+
+  /* Cost of setting the scroll window, measured in characters.  */
+  int scroll_region_cost;      
 };
 
 /* A chain of structures for all tty devices currently in use. */