aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorDmitry Antipov2012-08-01 11:57:09 +0400
committerDmitry Antipov2012-08-01 11:57:09 +0400
commit8271d59040b3d83fb3fc8cb23723538183b12ad4 (patch)
tree909df79d98251334a8e2dc393d54ec47cc441756 /src/alloc.c
parent0d26d7c4dc79554439ad96fb7d9f75aa2085e0ca (diff)
downloademacs-8271d59040b3d83fb3fc8cb23723538183b12ad4.tar.gz
emacs-8271d59040b3d83fb3fc8cb23723538183b12ad4.zip
Use INTERNAL_FIELD for symbols.
* src/lisp.h (SVAR): New macro. Adjust users. * src/alloc.c, src/bytecode.c, src/cmds.c, src/data.c, src/doc.c, src/eval.c: * src/fns.c, src/keyboard.c, src/lread.c, src/xterm.c: Users changed. * admin/coccinelle/symbol.cocci: Semantic patch to replace direct access to Lisp_Object members of struct Lisp_Symbol to SVAR.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/alloc.c b/src/alloc.c
index d824a6a491e..8207f022a12 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -3518,11 +3518,11 @@ Its value and function definition are void, and its property list is nil. */)
3518 MALLOC_UNBLOCK_INPUT; 3518 MALLOC_UNBLOCK_INPUT;
3519 3519
3520 p = XSYMBOL (val); 3520 p = XSYMBOL (val);
3521 p->xname = name; 3521 SVAR (p, xname) = name;
3522 p->plist = Qnil; 3522 SVAR (p, plist) = Qnil;
3523 p->redirect = SYMBOL_PLAINVAL; 3523 p->redirect = SYMBOL_PLAINVAL;
3524 SET_SYMBOL_VAL (p, Qunbound); 3524 SET_SYMBOL_VAL (p, Qunbound);
3525 p->function = Qunbound; 3525 SVAR (p, function) = Qunbound;
3526 p->next = NULL; 3526 p->next = NULL;
3527 p->gcmarkbit = 0; 3527 p->gcmarkbit = 0;
3528 p->interned = SYMBOL_UNINTERNED; 3528 p->interned = SYMBOL_UNINTERNED;
@@ -4321,7 +4321,7 @@ live_symbol_p (struct mem_node *m, void *p)
4321 && offset < (SYMBOL_BLOCK_SIZE * sizeof b->symbols[0]) 4321 && offset < (SYMBOL_BLOCK_SIZE * sizeof b->symbols[0])
4322 && (b != symbol_block 4322 && (b != symbol_block
4323 || offset / sizeof b->symbols[0] < symbol_block_index) 4323 || offset / sizeof b->symbols[0] < symbol_block_index)
4324 && !EQ (((struct Lisp_Symbol *) p)->function, Vdead)); 4324 && !EQ (SVAR (((struct Lisp_Symbol *)p), function), Vdead));
4325 } 4325 }
4326 else 4326 else
4327 return 0; 4327 return 0;
@@ -6073,8 +6073,8 @@ mark_object (Lisp_Object arg)
6073 break; 6073 break;
6074 CHECK_ALLOCATED_AND_LIVE (live_symbol_p); 6074 CHECK_ALLOCATED_AND_LIVE (live_symbol_p);
6075 ptr->gcmarkbit = 1; 6075 ptr->gcmarkbit = 1;
6076 mark_object (ptr->function); 6076 mark_object (SVAR (ptr, function));
6077 mark_object (ptr->plist); 6077 mark_object (SVAR (ptr, plist));
6078 switch (ptr->redirect) 6078 switch (ptr->redirect)
6079 { 6079 {
6080 case SYMBOL_PLAINVAL: mark_object (SYMBOL_VAL (ptr)); break; 6080 case SYMBOL_PLAINVAL: mark_object (SYMBOL_VAL (ptr)); break;
@@ -6105,9 +6105,9 @@ mark_object (Lisp_Object arg)
6105 break; 6105 break;
6106 default: abort (); 6106 default: abort ();
6107 } 6107 }
6108 if (!PURE_POINTER_P (XSTRING (ptr->xname))) 6108 if (!PURE_POINTER_P (XSTRING (SVAR (ptr, xname))))
6109 MARK_STRING (XSTRING (ptr->xname)); 6109 MARK_STRING (XSTRING (SVAR (ptr, xname)));
6110 MARK_INTERVAL_TREE (STRING_INTERVALS (ptr->xname)); 6110 MARK_INTERVAL_TREE (STRING_INTERVALS (SVAR (ptr, xname)));
6111 6111
6112 ptr = ptr->next; 6112 ptr = ptr->next;
6113 if (ptr) 6113 if (ptr)
@@ -6473,7 +6473,7 @@ gc_sweep (void)
6473 /* Check if the symbol was created during loadup. In such a case 6473 /* Check if the symbol was created during loadup. In such a case
6474 it might be pointed to by pure bytecode which we don't trace, 6474 it might be pointed to by pure bytecode which we don't trace,
6475 so we conservatively assume that it is live. */ 6475 so we conservatively assume that it is live. */
6476 int pure_p = PURE_POINTER_P (XSTRING (sym->s.xname)); 6476 int pure_p = PURE_POINTER_P (XSTRING (sym->s.INTERNAL_FIELD (xname)));
6477 6477
6478 if (!sym->s.gcmarkbit && !pure_p) 6478 if (!sym->s.gcmarkbit && !pure_p)
6479 { 6479 {
@@ -6482,7 +6482,7 @@ gc_sweep (void)
6482 sym->s.next = symbol_free_list; 6482 sym->s.next = symbol_free_list;
6483 symbol_free_list = &sym->s; 6483 symbol_free_list = &sym->s;
6484#if GC_MARK_STACK 6484#if GC_MARK_STACK
6485 symbol_free_list->function = Vdead; 6485 SVAR (symbol_free_list, function) = Vdead;
6486#endif 6486#endif
6487 ++this_free; 6487 ++this_free;
6488 } 6488 }
@@ -6490,7 +6490,7 @@ gc_sweep (void)
6490 { 6490 {
6491 ++num_used; 6491 ++num_used;
6492 if (!pure_p) 6492 if (!pure_p)
6493 UNMARK_STRING (XSTRING (sym->s.xname)); 6493 UNMARK_STRING (XSTRING (sym->s.INTERNAL_FIELD (xname)));
6494 sym->s.gcmarkbit = 0; 6494 sym->s.gcmarkbit = 0;
6495 } 6495 }
6496 } 6496 }
@@ -6675,10 +6675,10 @@ which_symbols (Lisp_Object obj, EMACS_INT find_max)
6675 XSETSYMBOL (tem, sym); 6675 XSETSYMBOL (tem, sym);
6676 val = find_symbol_value (tem); 6676 val = find_symbol_value (tem);
6677 if (EQ (val, obj) 6677 if (EQ (val, obj)
6678 || EQ (sym->function, obj) 6678 || EQ (SVAR (sym, function), obj)
6679 || (!NILP (sym->function) 6679 || (!NILP (SVAR (sym, function))
6680 && COMPILEDP (sym->function) 6680 && COMPILEDP (SVAR (sym, function))
6681 && EQ (AREF (sym->function, COMPILED_BYTECODE), obj)) 6681 && EQ (AREF (SVAR (sym, function), COMPILED_BYTECODE), obj))
6682 || (!NILP (val) 6682 || (!NILP (val)
6683 && COMPILEDP (val) 6683 && COMPILEDP (val)
6684 && EQ (AREF (val, COMPILED_BYTECODE), obj))) 6684 && EQ (AREF (val, COMPILED_BYTECODE), obj)))