annotate src/mem-limits.h @ 4413:5a00cec8e9b0

(fill-region-as-paragraph): When we take one word after the fill column, don't stop at period with just one space. When checking whether at beginning of line, if no fill prefix, ignore intervening whitespace.
author Richard M. Stallman <rms@gnu.org>
date Mon, 02 Aug 1993 05:55:56 +0000
parents 99e7b0227413
children 525a2027ec95
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Includes for memory limit warnings.
2961
e94a593c3952 Updated copyright years.
Jim Blandy <jimb@redhat.com>
parents: 2917
diff changeset
2 Copyright (C) 1990, 1993 Free Software Foundation, Inc.
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 This file is part of GNU Emacs.
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
3370
2df248d76c58 [__bsdi__]: Define BSD4_2.
Richard M. Stallman <rms@gnu.org>
parents: 3055
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 any later version.
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 GNU General Public License for more details.
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19
4229
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
20 #ifdef _LIBC
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
21
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
22 #include <sys/resource.h>
4254
99e7b0227413 [_LIBC]: Define BSD4_2.
Roland McGrath <roland@gnu.org>
parents: 4229
diff changeset
23 #define BSD4_2 /* Tell code below to use getrlimit. */
4229
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
24
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
25 #else
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
26
3055
6e19d9e130c0 Changes for OSF/1:
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
27 #if defined(__osf__) && (defined(__mips) || defined(mips))
6e19d9e130c0 Changes for OSF/1:
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
28 #include <sys/time.h>
6e19d9e130c0 Changes for OSF/1:
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
29 #include <sys/resource.h>
6e19d9e130c0 Changes for OSF/1:
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
30 #endif
6e19d9e130c0 Changes for OSF/1:
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
31
3370
2df248d76c58 [__bsdi__]: Define BSD4_2.
Richard M. Stallman <rms@gnu.org>
parents: 3055
diff changeset
32 #ifdef __bsdi__
2df248d76c58 [__bsdi__]: Define BSD4_2.
Richard M. Stallman <rms@gnu.org>
parents: 3055
diff changeset
33 #define BSD4_2
2df248d76c58 [__bsdi__]: Define BSD4_2.
Richard M. Stallman <rms@gnu.org>
parents: 3055
diff changeset
34 #endif
2df248d76c58 [__bsdi__]: Define BSD4_2.
Richard M. Stallman <rms@gnu.org>
parents: 3055
diff changeset
35
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 #ifndef BSD4_2
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
37 #ifndef USG
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 #include <sys/vlimit.h>
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 #endif /* not USG */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 #else /* if BSD4_2 */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 #include <sys/time.h>
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 #include <sys/resource.h>
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 #endif /* BSD4_2 */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44
4229
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
45 #endif /* _LIBC */
edf8c9e14e02 [_LIBC]: Just include <sys/resource.h>, and skip hairy #ifdef mess.
Roland McGrath <roland@gnu.org>
parents: 3370
diff changeset
46
1393
d2ae5897e43c [!emacs]: Don't define POINTER, SIZE or NULL.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
47 #ifdef emacs
575
a95936ee5079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 486
diff changeset
48 /* The important properties of this type are that 1) it's a pointer, and
a95936ee5079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 486
diff changeset
49 2) arithmetic on it should work as if the size of the object pointed
a95936ee5079 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 486
diff changeset
50 to has a size of 1. */
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51 #ifdef __STDC__
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 typedef void *POINTER;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53 #else
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
54 typedef char *POINTER;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55 #endif
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57 typedef unsigned long SIZE;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 #ifdef NULL
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
60 #undef NULL
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
61 #endif
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 #define NULL ((POINTER) 0)
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64 extern POINTER start_of_data ();
1592
613783a3f00c * mem-limits.h [DATA_SEG_BITS] (EXCEEDS_LISP_PTR): Remember to
Jim Blandy <jimb@redhat.com>
parents: 1450
diff changeset
65 #ifdef DATA_SEG_BITS
613783a3f00c * mem-limits.h [DATA_SEG_BITS] (EXCEEDS_LISP_PTR): Remember to
Jim Blandy <jimb@redhat.com>
parents: 1450
diff changeset
66 #define EXCEEDS_LISP_PTR(ptr) \
613783a3f00c * mem-limits.h [DATA_SEG_BITS] (EXCEEDS_LISP_PTR): Remember to
Jim Blandy <jimb@redhat.com>
parents: 1450
diff changeset
67 (((unsigned int) (ptr) & ~DATA_SEG_BITS) >> VALBITS)
613783a3f00c * mem-limits.h [DATA_SEG_BITS] (EXCEEDS_LISP_PTR): Remember to
Jim Blandy <jimb@redhat.com>
parents: 1450
diff changeset
68 #else
1393
d2ae5897e43c [!emacs]: Don't define POINTER, SIZE or NULL.
Richard M. Stallman <rms@gnu.org>
parents: 734
diff changeset
69 #define EXCEEDS_LISP_PTR(ptr) ((unsigned int) (ptr) >> VALBITS)
1592
613783a3f00c * mem-limits.h [DATA_SEG_BITS] (EXCEEDS_LISP_PTR): Remember to
Jim Blandy <jimb@redhat.com>
parents: 1450
diff changeset
70 #endif
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 #ifdef BSD
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73 #ifndef DATA_SEG_BITS
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents: 575
diff changeset
74 extern char etext;
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75 #define start_of_data() &etext
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76 #endif
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77 #endif
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
79 #else /* Not emacs */
734
64e152d639af entered into RCS
Joseph Arceneaux <jla@gnu.org>
parents: 575
diff changeset
80 extern char etext;
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81 #define start_of_data() &etext
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82 #endif /* Not emacs */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
83
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
84
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
85
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
86 /* start of data space; can be changed by calling malloc_init */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
87 static POINTER data_space_start;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
88
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
89 /* Number of bytes of writable memory we can expect to be able to get */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
90 static unsigned int lim_data;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
91
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
92 #ifdef USG
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
93
1450
a321ed0fa3ae (get_lim_data): Make it static.
Richard M. Stallman <rms@gnu.org>
parents: 1399
diff changeset
94 static void
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
95 get_lim_data ()
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
96 {
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
97 extern long ulimit ();
2917
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
98
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
99 lim_data = -1;
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
100
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
101 /* Use the ulimit call, if we seem to have it. */
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
102 #if !defined (ULIMIT_BREAK_VALUE) || defined (LINUX)
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
103 lim_data = ulimit (3, 0);
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
104 #endif
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
105
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
106 /* If that didn't work, just use the macro's value. */
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
107 #ifdef ULIMIT_BREAK_VALUE
2917
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
108 if (lim_data == -1)
725698689fbd Some more changes from Michael K. Johnson for Linux.
Jim Blandy <jimb@redhat.com>
parents: 1592
diff changeset
109 lim_data = ULIMIT_BREAK_VALUE;
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
110 #endif
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
111
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
112 lim_data -= (long) data_space_start;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
113 }
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
114
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
115 #else /* not USG */
3055
6e19d9e130c0 Changes for OSF/1:
Jim Blandy <jimb@redhat.com>
parents: 2961
diff changeset
116 #if !defined(BSD4_2) && !defined(__osf__)
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
117
1450
a321ed0fa3ae (get_lim_data): Make it static.
Richard M. Stallman <rms@gnu.org>
parents: 1399
diff changeset
118 static void
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
119 get_lim_data ()
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
120 {
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
121 lim_data = vlimit (LIM_DATA, -1);
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122 }
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
123
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
124 #else /* BSD4_2 */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
125
1450
a321ed0fa3ae (get_lim_data): Make it static.
Richard M. Stallman <rms@gnu.org>
parents: 1399
diff changeset
126 static void
486
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
127 get_lim_data ()
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
128 {
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129 struct rlimit XXrlimit;
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
130
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
131 getrlimit (RLIMIT_DATA, &XXrlimit);
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132 #ifdef RLIM_INFINITY
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
133 lim_data = XXrlimit.rlim_cur & RLIM_INFINITY; /* soft limit */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
134 #else
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
135 lim_data = XXrlimit.rlim_cur; /* soft limit */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136 #endif
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137 }
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138 #endif /* BSD4_2 */
80cdb2387043 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
139 #endif /* not USG */