]> code.delx.au - gnu-emacs/blobdiff - src/mem-limits.h
Move entries for files in ../misc to the ChangeLog there.
[gnu-emacs] / src / mem-limits.h
index 578cf59f12e52c5d783ac4b4aff7538612d0d4d2..f1bad9bf6b9d7f340f382bf6a63aeff2e66868d3 100644 (file)
@@ -1,11 +1,12 @@
 /* Includes for memory limit warnings.
 /* Includes for memory limit warnings.
-   Copyright (C) 1990, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
+   Copyright (C) 1990, 1993, 1994, 1995, 1996, 2001, 2002, 2003, 2004,
+                 2005, 2006, 2007  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
 
 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,
 any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
@@ -15,8 +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; see the file COPYING.  If not, write to
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.  */
 
 #ifdef MSDOS
 #include <dpmi.h>
 
 #ifdef MSDOS
 #include <dpmi.h>
@@ -81,7 +82,9 @@ typedef unsigned long SIZE;
 #define NULL ((POINTER) 0)
 
 extern POINTER start_of_data ();
 #define NULL ((POINTER) 0)
 
 extern POINTER start_of_data ();
-#ifdef DATA_SEG_BITS
+#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) & ~DATA_SEG_BITS) >> VALBITS)
 #else
@@ -109,91 +112,5 @@ extern char etext;
 #endif /* not _LIBC */
 
 
 #endif /* not _LIBC */
 
 
-/* start of data space; can be changed by calling malloc_init */
-static POINTER data_space_start;
-
-/* Number of bytes of writable memory we can expect to be able to get */
-static unsigned long lim_data;
-
-#ifdef NO_LIM_DATA
-static void
-get_lim_data ()
-{
-  lim_data = -1;
-}
-#else /* not NO_LIM_DATA */
-
-#ifdef USG
-
-static void
-get_lim_data ()
-{
-  extern long ulimit ();
-
-  lim_data = -1;
-
-  /* Use the ulimit call, if we seem to have it.  */
-#if !defined (ULIMIT_BREAK_VALUE) || defined (GNU_LINUX)
-  lim_data = ulimit (3, 0);
-#endif
-
-  /* If that didn't work, just use the macro's value.  */
-#ifdef ULIMIT_BREAK_VALUE
-  if (lim_data == -1)
-    lim_data = ULIMIT_BREAK_VALUE;
-#endif
-
-  lim_data -= (long) data_space_start;
-}
-
-#else /* not USG */
-#ifdef WINDOWSNT
-
-static void
-get_lim_data ()
-{
-  extern unsigned long reserved_heap_size;
-  lim_data = reserved_heap_size;
-}
-
-#else
-#if !defined (BSD4_2) && !defined (__osf__)
-
-#ifdef MSDOS
-void
-get_lim_data ()
-{
-  _go32_dpmi_meminfo info;
-
-  _go32_dpmi_get_free_memory_information (&info);
-  lim_data = info.available_memory;
-}
-#else /* not MSDOS */
-static void
-get_lim_data ()
-{
-  lim_data = vlimit (LIM_DATA, -1);
-}
-#endif /* not MSDOS */
-
-#else /* BSD4_2 */
-
-static void
-get_lim_data ()
-{
-  struct rlimit XXrlimit;
-
-  getrlimit (RLIMIT_DATA, &XXrlimit);
-#ifdef RLIM_INFINITY
-  lim_data = XXrlimit.rlim_cur & RLIM_INFINITY; /* soft limit */
-#else
-  lim_data = XXrlimit.rlim_cur;        /* soft limit */
-#endif
-}
-#endif /* BSD4_2 */
-#endif /* not WINDOWSNT */
-#endif /* not USG */
-#endif /* not NO_LIM_DATA */
-
 /* arch-tag: fe39244e-e54f-4208-b7aa-02556f7841c5
    (do not change this comment) */
 /* arch-tag: fe39244e-e54f-4208-b7aa-02556f7841c5
    (do not change this comment) */