view src/mem-limits.h @ 97657:24f1cb4150ef

Include frame.h before termhooks.h. (mouse_on, mouse_off, mouse_moveto, mouse_init) (msdos_set_cursor_shape, IT_set_face, IT_write_glyphs) (show_mouse_face, IT_clear_end_of_line, IT_clear_screen) (IT_clear_to_end, IT_cursor_to, IT_display_cursor, IT_cmgoto) (IT_set_terminal_modes, IT_reset_terminal_modes) (IT_set_frame_parameters): Use tty->termscript instead of a global variable termscript. (IT_write_glyphs): Use tty->terminal->terminal_coding instead of a global variable terminal_coding. Don't refer to Vnonascii_translation_table. (internal_terminal_init): Set Vwindow_system in current_kboard. Don't use TTY_CHAR_INS_DEL_OK. Set Vinitial_window_system. Announce date and time of session start, if termscript is open. Don't zero out the_only_display_info (it is done in term.c:init_tty). Open termscript only of not already open. Log "SCREEN SAVED" here, instead of IT_set_terminal_modes. Init mouse here instead of dos_ttraw. Don't initialize display if this is an initial tty. Don't set FRAME_FONT. (Vwindow_system_version): Bump to 23. (dos_ttraw): Accept a TTY argument; all callers fixed. If mouse is available, set up mouse_position_hook. (dos_ttraw, IT_set_terminal_modes): If called with initial terminal, do nothing. (IT_set_frame_parameters): Handle the Qtty_type frame parameter by calling internal_terminal_init. (dos_set_window_size, show_mouse_face) (clear_mouse_face, IT_note_mode_line_highlight) (IT_note_mouse_highlight, IT_update_begin, IT_frame_up_to_date) (dos_rawgetc): Use tty_display_info instead of x_display_info. (initialize_msdos_display): New function. (IT_cursor_to, IT_clear_to_end, IT_clear_screen) (IT_clear_end_of_line, IT_insert_glyphs, IT_write_glyphs) (IT_delete_glyphs, IT_ring_bell, IT_reset_terminal_modes) (IT_set_terminal_modes, IT_set_terminal_window, IT_update_begin): Accept additional argument: a pointer to a frame. All callers changed. (request_sigio, unrequest_sigio): Don't define, now defined on sysdep.c. (IT_write_glyphs): Rewrite to use encode_terminal_code.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 23 Aug 2008 16:54:45 +0000
parents ddedcecb18ef
children e038c1a8307c
line wrap: on
line source

/* Includes for memory limit warnings.
   Copyright (C) 1990, 1993, 1994, 1995, 1996, 2001, 2002, 2003, 2004,
                 2005, 2006, 2007, 2008  Free Software Foundation, Inc.

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 3 of the License, or
(at your option) any later version.

GNU Emacs 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 GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */

#ifdef MSDOS
#include <dpmi.h>
extern int etext;
#endif

/* Some systems need this before <sys/resource.h>.  */
#include <sys/types.h>

#ifdef _LIBC

#include <sys/resource.h>
#define BSD4_2			/* Tell code below to use getrlimit.  */

/* Old Linux startup code won't define __data_start.  */
extern int etext, __data_start; weak_extern (__data_start)
#define start_of_data()	(&__data_start ?: &etext)

#else /* not _LIBC */

#ifdef HAVE_SYS_RESOURCE_H
# include <sys/time.h>
# include <sys/resource.h>
#else
# if HAVE_SYS_VLIMIT_H
#  include <sys/vlimit.h>	/* Obsolete, says glibc */
# endif
#endif

#ifdef CYGWIN
#define BSD4_2
#endif

#ifndef BSD4_2
#ifndef USG
#ifndef MSDOS
#ifndef WINDOWSNT
#include <sys/vlimit.h>
#endif /* not WINDOWSNT */
#endif /* not MSDOS */
#endif /* not USG */
#else /* if BSD4_2 */
#include <sys/time.h>
#include <sys/resource.h>
#endif /* BSD4_2 */

#ifdef emacs
/* The important properties of this type are that 1) it's a pointer, and
   2) arithmetic on it should work as if the size of the object pointed
   to has a size of 1.  */
typedef POINTER_TYPE *POINTER;

typedef unsigned long SIZE;

#ifdef NULL
#undef NULL
#endif
#define NULL ((POINTER) 0)

extern POINTER start_of_data ();
#if defined USE_LSB_TAG
#define EXCEEDS_LISP_PTR(ptr) 0
#elif defined DATA_SEG_BITS
#define EXCEEDS_LISP_PTR(ptr) \
  (((EMACS_UINT) (ptr) & ~DATA_SEG_BITS) >> VALBITS)
#else
#define EXCEEDS_LISP_PTR(ptr) ((EMACS_UINT) (ptr) >> VALBITS)
#endif

#ifdef DATA_START
#define start_of_data() ((char *)DATA_START)
#endif

#ifdef BSD_SYSTEM
#ifndef DATA_SEG_BITS
#ifndef DATA_START
extern char etext;
#define start_of_data() &etext
#endif
#endif
#endif

#else  /* not emacs */
extern char etext;
#define start_of_data() &etext
#endif /* not emacs */

#endif /* not _LIBC */


/* arch-tag: fe39244e-e54f-4208-b7aa-02556f7841c5
   (do not change this comment) */