diff options
| author | Eli Zaretskii | 2011-04-19 13:48:30 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2011-04-19 13:48:30 +0300 |
| commit | 04c569546ad52f6270d8fc6d4aa0750950a0ac05 (patch) | |
| tree | 8dd6e4d0ef50bd53f7e9c065beea47f717a7e1ba /src | |
| parent | bc4f7f3d586a8d32718e27e99226d1b5ab091db5 (diff) | |
| download | emacs-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/ChangeLog | 8 | ||||
| -rw-r--r-- | src/insdel.c | 6 | ||||
| -rw-r--r-- | 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 @@ | |||
| 1 | 2011-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 | |||
| 1 | 2011-04-18 Chong Yidong <cyd@stupidchicken.com> | 9 | 2011-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]; | |||
| 203 | do \ | 203 | do \ |
| 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 \ | |||
| 230 | while (0) | 230 | while (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 \ |