bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

cvs smob doc update


From: Dale P. Smith
Subject: cvs smob doc update
Date: Tue, 30 Jan 2001 09:54:55 -0500

Greetings!

The documentation is getting better and better.

Here is a patch that uses SCM_SMOB_DATA instead of SCM_CDR.  Also things
like SCM_SMOB_PREDICATE and SCM_NEWSMOB.


-- 
Dale P. Smith
Altus Technologies Corporation
address@hidden
440-746-9000 x309
Index: guile-core/doc/data-rep.texi
===================================================================
RCS file: /cvs/guile/guile-core/doc/data-rep.texi,v
retrieving revision 1.13
diff -u -r1.13 data-rep.texi
--- guile-core/doc/data-rep.texi        2000/07/28 13:19:01     1.13
+++ guile-core/doc/data-rep.texi        2001/01/30 14:59:40
@@ -1366,11 +1366,10 @@
   int area;
   struct image *image;
 
-  SCM_ASSERT ((SCM_NIMP (image_smob)
-               && SCM_CAR (image_smob) == image_tag),
+  SCM_ASSERT (SCM_SMOB_PREDICATE (image_tag, image_smob),
               image_smob, SCM_ARG1, "clear-image");
 
-  image = (struct image *) SCM_CDR (image_smob);
+  image = (struct image *) SCM_SMOB_DATA (image_smob);
   area = image->width * image->height;
   memset (image->pixels, 0, area);
 
@@ -1449,7 +1448,7 @@
 mark_image (SCM image_smob)
 @{
   /* Mark the image's name and update function.  */
-  struct image *image = (struct image *) SCM_CDR (image_smob);
+  struct image *image = (struct image *) SCM_SMOB_DATA (image_smob);
 
   scm_gc_mark (image->name);
   scm_gc_mark (image->update_func);
@@ -1475,7 +1474,7 @@
 mark_image (SCM image_smob)
 @{
   /* Mark the image's name and update function.  */
-  struct image *image = (struct image *) SCM_CDR (image_smob);
+  struct image *image = (struct image *) SCM_SMOB_DATA (image_smob);
 
   scm_gc_mark (image->name);
   return image->update_func;
@@ -1502,7 +1501,7 @@
 scm_sizet
 free_image (SCM image_smob)
 @{
-  struct image *image = (struct image *) SCM_CDR (image_smob);
+  struct image *image = (struct image *) SCM_SMOB_DATA (image_smob);
   scm_sizet size = image->width * image->height + sizeof (*image);
 
   free (image->pixels);
@@ -1695,9 +1694,7 @@
   image->name = name;
   image->update_func = SCM_BOOL_F;
 
-  SCM_NEWCELL (image_smob);
-  SCM_SETCDR (image_smob, image);
-  SCM_SETCAR (image_smob, image_tag);
+  SCM_NEWSMOB (image_smob, image_tag, image);
 
   return image_smob;
 @}
@@ -1708,11 +1705,10 @@
   int area;
   struct image *image;
 
-  SCM_ASSERT ((SCM_NIMP (image_smob)
-               && SCM_CAR (image_smob) == image_tag),
+  SCM_ASSERT (SCM_SMOB_PREDICATE (image_tag, image_smob),
               image_smob, SCM_ARG1, "clear-image");
 
-  image = (struct image *) SCM_CDR (image_smob);
+  image = (struct image *) SCM_SMOB_DATA (image_smob);
   area = image->width * image->height;
   memset (image->pixels, 0, area);
 
@@ -1726,7 +1722,7 @@
 static SCM
 mark_image (SCM image_smob)
 @{
-  struct image *image = (struct image *) SCM_CDR (image_smob);
+  struct image *image = (struct image *) SCM_SMOB_DATA (image_smob);
 
   scm_gc_mark (image->name);
   return image->update_func;
@@ -1735,7 +1731,7 @@
 static scm_sizet
 free_image (SCM image_smob)
 @{
-  struct image *image = (struct image *) SCM_CDR (image_smob);
+  struct image *image = (struct image *) SCM_SMOB_DATA (image_smob);
   scm_sizet size = image->width * image->height + sizeof (struct image);
 
   free (image->pixels);
@@ -1747,7 +1743,7 @@
 static int
 print_image (SCM image_smob, SCM port, scm_print_state *pstate)
 @{
-  struct image *image = (struct image *) SCM_CDR (image_smob);
+  struct image *image = (struct image *) SCM_SMOB_DATA (image_smob);
 
   scm_puts ("#<image ", port);
   scm_display (image->name, port);

reply via email to

[Prev in Thread] Current Thread [Next in Thread]