diff options
| author | Stefan Monnier | 2007-10-16 15:42:58 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2007-10-16 15:42:58 +0000 |
| commit | 67ee9f6e9121a43a5bad61145b55d785d88bfabf (patch) | |
| tree | a776c1c5a82747dd188a8e34d9499f2f0d6a0928 /src/alloc.c | |
| parent | 4144e15e96e7d67ff0ebbed15ecc14154ba68da2 (diff) | |
| download | emacs-67ee9f6e9121a43a5bad61145b55d785d88bfabf.tar.gz emacs-67ee9f6e9121a43a5bad61145b55d785d88bfabf.zip | |
* lisp.h (enum Lisp_Misc_Type): Del Lisp_Misc_Some_Buffer_Local_Value.
(XMISCANY): New macro.
(XMISCTYPE): Use it.
(struct Lisp_Misc_Any): New type.
(union Lisp_Misc): Use it.
(struct Lisp_Buffer_Local_Value): Add `local_if_set' bit.
* data.c (Fboundp, store_symval_forwarding, swap_in_global_binding)
(find_symbol_value, set_internal, default_value, Fset_default)
(Fmake_variable_buffer_local, Fmake_local_variable)
(Fkill_local_variable, Fmake_variable_frame_local, Flocal_variable_p)
(Flocal_variable_if_set_p, Fvariable_binding_locus):
The SOME_BUFFER_LOCAL_VALUEP distinction is replaced by local_if_set.
* alloc.c (allocate_buffer): Set the size and tag.
(allocate_misc, mark_maybe_object, mark_object, survives_gc_p):
Use XMISCANY.
(die): Follow the GNU convention for error messages.
* print.c (print_object): SOME_BUFFER_LOCAL_VALUEP -> local_if_set.
* buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Don't set the
tag any more.
(set_buffer_internal_1):
* frame.c (store_frame_param):
* eval.c (specbind):
* xdisp.c (select_frame_for_redisplay): Drop SOME_BUFFER_LOCAL_VALUEP.
Diffstat (limited to 'src/alloc.c')
| -rw-r--r-- | src/alloc.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/alloc.c b/src/alloc.c index 8e00733a60b..48857ecff14 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -1153,6 +1153,8 @@ allocate_buffer () | |||
| 1153 | struct buffer *b | 1153 | struct buffer *b |
| 1154 | = (struct buffer *) lisp_malloc (sizeof (struct buffer), | 1154 | = (struct buffer *) lisp_malloc (sizeof (struct buffer), |
| 1155 | MEM_TYPE_BUFFER); | 1155 | MEM_TYPE_BUFFER); |
| 1156 | b->size = sizeof (struct buffer) / sizeof (EMACS_INT); | ||
| 1157 | XSETPVECTYPE (b, PVEC_BUFFER); | ||
| 1156 | return b; | 1158 | return b; |
| 1157 | } | 1159 | } |
| 1158 | 1160 | ||
| @@ -3352,7 +3354,7 @@ allocate_misc () | |||
| 3352 | --total_free_markers; | 3354 | --total_free_markers; |
| 3353 | consing_since_gc += sizeof (union Lisp_Misc); | 3355 | consing_since_gc += sizeof (union Lisp_Misc); |
| 3354 | misc_objects_consed++; | 3356 | misc_objects_consed++; |
| 3355 | XMARKER (val)->gcmarkbit = 0; | 3357 | XMISCANY (val)->gcmarkbit = 0; |
| 3356 | return val; | 3358 | return val; |
| 3357 | } | 3359 | } |
| 3358 | 3360 | ||
| @@ -4209,7 +4211,7 @@ mark_maybe_object (obj) | |||
| 4209 | break; | 4211 | break; |
| 4210 | 4212 | ||
| 4211 | case Lisp_Misc: | 4213 | case Lisp_Misc: |
| 4212 | mark_p = (live_misc_p (m, po) && !XMARKER (obj)->gcmarkbit); | 4214 | mark_p = (live_misc_p (m, po) && !XMISCANY (obj)->gcmarkbit); |
| 4213 | break; | 4215 | break; |
| 4214 | 4216 | ||
| 4215 | case Lisp_Int: | 4217 | case Lisp_Int: |
| @@ -5654,14 +5656,13 @@ mark_object (arg) | |||
| 5654 | 5656 | ||
| 5655 | case Lisp_Misc: | 5657 | case Lisp_Misc: |
| 5656 | CHECK_ALLOCATED_AND_LIVE (live_misc_p); | 5658 | CHECK_ALLOCATED_AND_LIVE (live_misc_p); |
| 5657 | if (XMARKER (obj)->gcmarkbit) | 5659 | if (XMISCANY (obj)->gcmarkbit) |
| 5658 | break; | 5660 | break; |
| 5659 | XMARKER (obj)->gcmarkbit = 1; | 5661 | XMISCANY (obj)->gcmarkbit = 1; |
| 5660 | 5662 | ||
| 5661 | switch (XMISCTYPE (obj)) | 5663 | switch (XMISCTYPE (obj)) |
| 5662 | { | 5664 | { |
| 5663 | case Lisp_Misc_Buffer_Local_Value: | 5665 | case Lisp_Misc_Buffer_Local_Value: |
| 5664 | case Lisp_Misc_Some_Buffer_Local_Value: | ||
| 5665 | { | 5666 | { |
| 5666 | register struct Lisp_Buffer_Local_Value *ptr | 5667 | register struct Lisp_Buffer_Local_Value *ptr |
| 5667 | = XBUFFER_LOCAL_VALUE (obj); | 5668 | = XBUFFER_LOCAL_VALUE (obj); |
| @@ -5847,7 +5848,7 @@ survives_gc_p (obj) | |||
| 5847 | break; | 5848 | break; |
| 5848 | 5849 | ||
| 5849 | case Lisp_Misc: | 5850 | case Lisp_Misc: |
| 5850 | survives_p = XMARKER (obj)->gcmarkbit; | 5851 | survives_p = XMISCANY (obj)->gcmarkbit; |
| 5851 | break; | 5852 | break; |
| 5852 | 5853 | ||
| 5853 | case Lisp_String: | 5854 | case Lisp_String: |
| @@ -6297,7 +6298,7 @@ die (msg, file, line) | |||
| 6297 | const char *file; | 6298 | const char *file; |
| 6298 | int line; | 6299 | int line; |
| 6299 | { | 6300 | { |
| 6300 | fprintf (stderr, "\r\nEmacs fatal error: %s:%d: %s\r\n", | 6301 | fprintf (stderr, "\r\n%s:%d: Emacs fatal error: %s\r\n", |
| 6301 | file, line, msg); | 6302 | file, line, msg); |
| 6302 | abort (); | 6303 | abort (); |
| 6303 | } | 6304 | } |