aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorStefan Monnier2007-10-16 15:42:58 +0000
committerStefan Monnier2007-10-16 15:42:58 +0000
commit67ee9f6e9121a43a5bad61145b55d785d88bfabf (patch)
treea776c1c5a82747dd188a8e34d9499f2f0d6a0928 /src/alloc.c
parent4144e15e96e7d67ff0ebbed15ecc14154ba68da2 (diff)
downloademacs-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.c15
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}