Mercurial > hg > xemacs-beta
diff src/opaque.c @ 272:c5d627a313b1 r21-0b34
Import from CVS: tag r21-0b34
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:28:48 +0200 |
parents | 966663fcf606 |
children | fbbf69b4e8a7 |
line wrap: on
line diff
--- a/src/opaque.c Mon Aug 13 10:27:41 2007 +0200 +++ b/src/opaque.c Mon Aug 13 10:28:48 2007 +0200 @@ -52,18 +52,6 @@ create GC junk. */ Lisp_Object Vopaque_ptr_free_list; -static Lisp_Object mark_opaque (Lisp_Object, void (*) (Lisp_Object)); -static unsigned int sizeof_opaque (CONST void *header); -static void print_opaque (Lisp_Object obj, Lisp_Object printcharfun, - int escapeflag); -static int equal_opaque (Lisp_Object obj1, Lisp_Object obj2, int depth); -static unsigned long hash_opaque (Lisp_Object obj, int depth); - -DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION ("opaque", opaque, - mark_opaque, print_opaque, 0, - equal_opaque, hash_opaque, - sizeof_opaque, struct Lisp_Opaque); - static Lisp_Object mark_opaque (Lisp_Object obj, void (*markobj) (Lisp_Object)) { @@ -99,7 +87,7 @@ write_c_string (buf, printcharfun); } -static unsigned int +static size_t sizeof_opaque (CONST void *header) { CONST struct Lisp_Opaque *p = (CONST struct Lisp_Opaque *) header; @@ -158,10 +146,10 @@ return memory_hash (XOPAQUE_DATA(obj), XOPAQUE_SIZE(obj)); } -static Lisp_Object mark_opaque_list (Lisp_Object, void (*) (Lisp_Object)); -DEFINE_LRECORD_IMPLEMENTATION ("opaque-list", opaque_list, - mark_opaque_list, internal_object_printer, - 0, 0, 0, struct Lisp_Opaque_List); +DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION ("opaque", opaque, + mark_opaque, print_opaque, 0, + equal_opaque, hash_opaque, + sizeof_opaque, struct Lisp_Opaque); static Lisp_Object mark_opaque_list (Lisp_Object obj, void (*markobj) (Lisp_Object)) @@ -177,7 +165,7 @@ Lisp_Object (*markfun) (Lisp_Object obj, void (*markobj) (Lisp_Object))) { - Lisp_Object val = Qnil; + Lisp_Object val; struct Lisp_Opaque_List *p = alloc_lcrecord_type (struct Lisp_Opaque_List, lrecord_opaque_list); @@ -188,6 +176,10 @@ return val; } +DEFINE_LRECORD_IMPLEMENTATION ("opaque-list", opaque_list, + mark_opaque_list, internal_object_printer, + 0, 0, 0, struct Lisp_Opaque_List); + Lisp_Object allocate_managed_opaque (Lisp_Object opaque_list, CONST void *data) {