From 04c569546ad52f6270d8fc6d4aa0750950a0ac05 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 19 Apr 2011 13:48:30 +0300 Subject: [PATCH] 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. --- src/ChangeLog | 8 ++++++++ src/insdel.c | 6 +----- src/syntax.h | 7 ++++--- 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 @@ +2011-04-19 Eli Zaretskii + + * syntax.h (SETUP_SYNTAX_TABLE_FOR_OBJECT): Fix setting of + gl_state.e_property when gl_state.object is Qt. + + * insdel.c (make_gap_larger): Remove limitation of buffer size + to <= INT_MAX. + 2011-04-18 Chong Yidong * 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) { EMACS_INT total_size = Z_BYTE - BEG_BYTE + GAP_SIZE + nbytes_added; if (total_size < 0 /* Don't allow a buffer size that won't fit in a Lisp integer. */ - || total_size != XINT (make_number (total_size)) - /* Don't allow a buffer size that won't fit in an int - even if it will fit in a Lisp integer. - That won't work because so many places still use `int'. */ - || total_size != (EMACS_INT) (int) total_size) + || total_size != XINT (make_number (total_size))) error ("Buffer exceeds maximum size"); } 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]; do \ { \ gl_state.use_global = 0; \ - gl_state.current_syntax_table = BVAR (current_buffer, syntax_table); \ + gl_state.current_syntax_table = BVAR (current_buffer, syntax_table);\ } while (0) /* This macro should be called with FROM at the start of forward @@ -230,7 +230,8 @@ do \ while (0) /* Same as above, but in OBJECT. If OBJECT is nil, use current buffer. - If it is t, ignore properties altogether. + If it is t (which is only used in fast_c_string_match_ignore_case), + ignore properties altogether. This is meant for regex.c to use. For buffers, regex.c passes arguments to the UPDATE_SYNTAX_TABLE macros which are relative to BEGV. @@ -257,7 +258,7 @@ do \ else if (EQ (gl_state.object, Qt)) \ { \ gl_state.b_property = 0; \ - gl_state.e_property = 1500000000; \ + gl_state.e_property = MOST_POSITIVE_FIXNUM; \ gl_state.offset = 0; \ } \ else \ -- 2.11.4.GIT