Changeset 3671
- Timestamp:
- 2005年04月09日 10時14分44秒 (4 years ago)
- Files:
-
- branches/2.2/src/alloc.c (modified) (6 diffs)
- branches/2.2/src/fileio.c (modified) (1 diff)
- branches/2.2/src/lisp.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/2.2/src/alloc.c
r3670 r3671 2617 2617 2618 2618 #define CONS_MARKED_P(fptr) \ 2619 ( XMARKBIT ((fptr)->car))2619 ((fptr)->gcmarkbit) 2620 2620 2621 2621 #define CONS_MARK(fptr) \ 2622 ( XMARK ((fptr)->car))2622 ((fptr)->gcmarkbit = 1) 2623 2623 2624 2624 #define CONS_UNMARK(fptr) \ 2625 ( XUNMARK ((fptr)->car))2625 ((fptr)->gcmarkbit = 0) 2626 2626 2627 2627 /* Current cons_block. */ … … 2688 2688 new = (struct cons_block *) lisp_align_malloc (sizeof *new, 2689 2689 MEM_TYPE_CONS); 2690 bzero ((char *) new, sizeof (*new)); 2690 2691 new->next = cons_block; 2691 2692 cons_block = new; … … 5142 5143 5143 5144 #endif /* not GC_CHECK_MARKED_OBJECTS */ 5144 5145 switch (SWITCH_ENUM_CAST (XGCTYPE (obj)))5146 {5147 case Lisp_Int:5148 case Lisp_Misc:5149 case Lisp_Float:5150 case Lisp_Vectorlike:5151 case Lisp_Symbol:5152 case Lisp_String:5153 break;5154 5155 case Lisp_Cons:5156 XUNMARK (obj);5157 break;5158 default:5159 XUNMARK (obj);5160 break;5161 }5162 5145 5163 5146 switch (SWITCH_ENUM_CAST (XGCTYPE (obj))) … … 6279 6262 pdump_hash_value (Lisp_Object obj) 6280 6263 { 6281 return (( long) obj >> 3) % PDUMP_HASH_SIZE;6264 return ((unsigned long) obj >> 3) % PDUMP_HASH_SIZE; 6282 6265 } 6283 6266 … … 7524 7507 #endif /* WINDOWSNT */ 7525 7508 7526 if (ret == NULL || (long) ret == -1 || (unsigned long)ret & ~VALMASK)7527 { 7528 if ( (unsigned long)ret & ~VALMASK)7509 if (ret == NULL || (long) ret == -1 || XTYPE ((unsigned long) ret)) 7510 { 7511 if (XTYPE ((unsigned long) ret)) 7529 7512 { 7530 7513 #ifdef WINDOWSNT … … 7544 7527 #endif 7545 7528 pdump_current_load_scheme = PDUMP_MALLOC; 7546 if ( (unsigned long)ret & ~VALMASK)7529 if (XTYPE ((unsigned long) ret)) 7547 7530 { 7548 7531 fprintf (stderr, "emacs: malloc returned high address\n"); branches/2.2/src/fileio.c
r3652 r3671 5649 5649 Also reset auto_saving to 0. */ 5650 5650 lispstream = Fcons (Qnil, Qnil); 5651 XSET FASTINT (XCAR (lispstream), (EMACS_UINT)stream >> 16);5652 XSET FASTINT (XCDR (lispstream), (EMACS_UINT)stream & 0xffff);5651 XSETCARFASTINT (lispstream, (EMACS_UINT)stream >> 16); 5652 XSETCDRFASTINT (lispstream, (EMACS_UINT)stream & 0xffff); 5653 5653 } 5654 5654 else branches/2.2/src/lisp.h
r3668 r3671 617 617 struct Lisp_Cons 618 618 { 619 #ifdef MEADOW 620 /* Hack for portable dumper. This sholud be removed! */ 621 unsigned gcmarkbit : 1; 622 int spacer : 15; 623 #endif 624 619 625 /* Please do not use the names of these elements in code other 620 626 than the core lisp implementation. Use XCAR and XCDR below. */ … … 642 648 643 649 /* Use these from normal code. */ 644 #define XCAR(c) XCAR_AS_LVALUE(c)645 #define XCDR(c) XCDR_AS_LVALUE(c)650 #define XCAR(c) LISP_MAKE_RVALUE(XCAR_AS_LVALUE(c)) 651 #define XCDR(c) LISP_MAKE_RVALUE(XCDR_AS_LVALUE(c)) 646 652 647 653 /* Use these to set the fields of a cons cell. … … 915 921 /* Value is name of symbol. */ 916 922 917 #define SYMBOL_NAME(sym) \918 (XSYMBOL (sym)->xname)923 #define SYMBOL_NAME(sym) \ 924 LISP_MAKE_RVALUE (XSYMBOL (sym)->xname) 919 925 920 926 /* Value is non-zero if SYM is an interned symbol. */
