comparison src/opaque.c @ 173:8eaf7971accc r20-3b13

Import from CVS: tag r20-3b13
author cvs
date Mon, 13 Aug 2007 09:49:09 +0200
parents 376386a54a3c
children 3d6bfa290dbd
comparison
equal deleted inserted replaced
172:a38aed19690b 173:8eaf7971accc
74 markings, so we better not have non-freed opaques on a free 74 markings, so we better not have non-freed opaques on a free
75 list. */ 75 list. */
76 assert (!INTP (XOPAQUE (obj)->size_or_chain)); 76 assert (!INTP (XOPAQUE (obj)->size_or_chain));
77 #endif 77 #endif
78 if (INTP (XOPAQUE (obj)->size_or_chain) && XOPAQUE_MARKFUN (obj)) 78 if (INTP (XOPAQUE (obj)->size_or_chain) && XOPAQUE_MARKFUN (obj))
79 return (XOPAQUE_MARKFUN (obj)) (obj, markobj); 79 return XOPAQUE_MARKFUN (obj) (obj, markobj);
80 else 80 else
81 return XOPAQUE (obj)->size_or_chain; 81 return XOPAQUE (obj)->size_or_chain;
82 } 82 }
83 83
84 /* Should never, ever be called. (except by an external debugger) */ 84 /* Should never, ever be called. (except by an external debugger) */
85 static void 85 static void
86 print_opaque (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag) 86 print_opaque (Lisp_Object obj, Lisp_Object printcharfun, int escapeflag)
87 { 87 {
88 char buf[200]; 88 char buf[200];
89 if (INTP (XOPAQUE (obj)->size_or_chain)) 89 if (INTP (XOPAQUE (obj)->size_or_chain))
90 sprintf (buf, "#<INTERNAL EMACS BUG (opaque, size=%d) 0x%x>", 90 sprintf (buf, "#<INTERNAL EMACS BUG (opaque, size=%ld) 0x%p>",
91 (EMACS_INT) XOPAQUE_SIZE (obj), 91 (long) XOPAQUE_SIZE (obj), (void *) XPNTR (obj));
92 (EMACS_INT) XPNTR (obj)); 92 else
93 else 93 sprintf (buf, "#<INTERNAL EMACS BUG (opaque, freed) 0x%p>",
94 sprintf (buf, "#<INTERNAL EMACS BUG (opaque, freed) 0x%x>", 94 (void *) XPNTR (obj));
95 (EMACS_INT) XPNTR (obj));
96 write_c_string (buf, printcharfun); 95 write_c_string (buf, printcharfun);
97 } 96 }
98 97
99 static unsigned int 98 static unsigned int
100 sizeof_opaque (CONST void *header) 99 sizeof_opaque (CONST void *header)