aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2011-04-19 13:48:30 +0300
committerEli Zaretskii2011-04-19 13:48:30 +0300
commit04c569546ad52f6270d8fc6d4aa0750950a0ac05 (patch)
tree8dd6e4d0ef50bd53f7e9c065beea47f717a7e1ba /src
parentbc4f7f3d586a8d32718e27e99226d1b5ab091db5 (diff)
downloademacs-04c569546ad52f6270d8fc6d4aa0750950a0ac05.tar.gz
emacs-04c569546ad52f6270d8fc6d4aa0750950a0ac05.zip
Support buffers > 2GB on 64-bit hosts.
src/insdel.c (make_gap_larger): Remove limitation of buffer size to <= INT_MAX. src/syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of gl_state.e_property when gl_state.object is Qt.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog8
-rw-r--r--src/insdel.c6
-rw-r--r--src/syntax.h7
3 files changed, 13 insertions, 8 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 40174020bf4..4a675cc96c6 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
12011-04-19 Eli Zaretskii <eliz@gnu.org>
2
3 * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of
4 gl_state.e_property when gl_state.object is Qt.
5
6 * insdel.c (make_gap_larger): Remove limitation of buffer size
7 to <= INT_MAX.
8
12011-04-18 Chong Yidong <cyd@stupidchicken.com> 92011-04-18 Chong Yidong <cyd@stupidchicken.com>
2 10
3 * xdisp.c (lookup_glyphless_char_display) 11 * xdisp.c (lookup_glyphless_char_display)
diff --git a/src/insdel.c b/src/insdel.c
index 5ecb01c9538..2662858c2a1 100644
--- a/src/insdel.c
+++ b/src/insdel.c
@@ -404,11 +404,7 @@ make_gap_larger (EMACS_INT nbytes_added)
404 { EMACS_INT total_size = Z_BYTE - BEG_BYTE + GAP_SIZE + nbytes_added; 404 { EMACS_INT total_size = Z_BYTE - BEG_BYTE + GAP_SIZE + nbytes_added;
405 if (total_size < 0 405 if (total_size < 0
406 /* Don't allow a buffer size that won't fit in a Lisp integer. */ 406 /* Don't allow a buffer size that won't fit in a Lisp integer. */
407 || total_size != XINT (make_number (total_size)) 407 || total_size != XINT (make_number (total_size)))
408 /* Don't allow a buffer size that won't fit in an int
409 even if it will fit in a Lisp integer.
410 That won't work because so many places still use `int'. */
411 || total_size != (EMACS_INT) (int) total_size)
412 error ("Buffer exceeds maximum size"); 408 error ("Buffer exceeds maximum size");
413 } 409 }
414 410
diff --git a/src/syntax.h b/src/syntax.h
index 9f328f568c7..42d689cb96c 100644
--- a/src/syntax.h
+++ b/src/syntax.h
@@ -203,7 +203,7 @@ extern char syntax_code_spec[16];
203do \ 203do \
204 { \ 204 { \
205 gl_state.use_global = 0; \ 205 gl_state.use_global = 0; \
206 gl_state.current_syntax_table = BVAR (current_buffer, syntax_table); \ 206 gl_state.current_syntax_table = BVAR (current_buffer, syntax_table);\
207 } while (0) 207 } while (0)
208 208
209/* This macro should be called with FROM at the start of forward 209/* This macro should be called with FROM at the start of forward
@@ -230,7 +230,8 @@ do \
230while (0) 230while (0)
231 231
232/* Same as above, but in OBJECT. If OBJECT is nil, use current buffer. 232/* Same as above, but in OBJECT. If OBJECT is nil, use current buffer.
233 If it is t, ignore properties altogether. 233 If it is t (which is only used in fast_c_string_match_ignore_case),
234 ignore properties altogether.
234 235
235 This is meant for regex.c to use. For buffers, regex.c passes arguments 236 This is meant for regex.c to use. For buffers, regex.c passes arguments
236 to the UPDATE_SYNTAX_TABLE macros which are relative to BEGV. 237 to the UPDATE_SYNTAX_TABLE macros which are relative to BEGV.
@@ -257,7 +258,7 @@ do \
257 else if (EQ (gl_state.object, Qt)) \ 258 else if (EQ (gl_state.object, Qt)) \
258 { \ 259 { \
259 gl_state.b_property = 0; \ 260 gl_state.b_property = 0; \
260 gl_state.e_property = 1500000000; \ 261 gl_state.e_property = MOST_POSITIVE_FIXNUM; \
261 gl_state.offset = 0; \ 262 gl_state.offset = 0; \
262 } \ 263 } \
263 else \ 264 else \