[uim-commit] r2387 - branches/r5rs/sigscheme

kzk at freedesktop.org kzk at freedesktop.org
Mon Dec 5 18:34:24 PST 2005


Author: kzk
Date: 2005-12-05 18:34:20 -0800 (Mon, 05 Dec 2005)
New Revision: 2387

Modified:
   branches/r5rs/sigscheme/sigschemetype-compact.h
   branches/r5rs/sigscheme/sigschemetype.h
   branches/r5rs/sigscheme/storage.c
Log:
* sigscheme/sigschemetype.h
* sigscheme/sigschemetype-compact.h
  - add ScmInvalid type to ScmObjType

* sigscheme/storage.c
  - (Scm_Type): return ScmInvalid instead of raise an error to avoid
    infinite loop.


Modified: branches/r5rs/sigscheme/sigschemetype-compact.h
===================================================================
--- branches/r5rs/sigscheme/sigschemetype-compact.h	2005-12-06 02:29:21 UTC (rev 2386)
+++ branches/r5rs/sigscheme/sigschemetype-compact.h	2005-12-06 02:34:20 UTC (rev 2387)
@@ -782,7 +782,9 @@
     ScmFreeCell     = 12,
 
     ScmCPointer     = 20,
-    ScmCFuncPointer = 21
+    ScmCFuncPointer = 21,
+
+    ScmInvalid      = 31    
 };
 
 /* storage.c */

Modified: branches/r5rs/sigscheme/sigschemetype.h
===================================================================
--- branches/r5rs/sigscheme/sigschemetype.h	2005-12-06 02:29:21 UTC (rev 2386)
+++ branches/r5rs/sigscheme/sigschemetype.h	2005-12-06 02:34:20 UTC (rev 2387)
@@ -85,7 +85,9 @@
     ScmFreeCell     = 12,
 
     ScmCPointer     = 20,
-    ScmCFuncPointer = 21
+    ScmCFuncPointer = 21,
+
+    ScmInvalid      = 31
 };
 
 enum ScmPortFlag {

Modified: branches/r5rs/sigscheme/storage.c
===================================================================
--- branches/r5rs/sigscheme/storage.c	2005-12-06 02:29:21 UTC (rev 2386)
+++ branches/r5rs/sigscheme/storage.c	2005-12-06 02:34:20 UTC (rev 2387)
@@ -322,8 +322,6 @@
 #if SCM_OBJ_COMPACT
 enum ScmObjType Scm_Type(ScmObj obj)
 {
-    DECLARE_INTERNAL_FUNCTION("Scm_Type");
-
     if (CONSP(obj))
         return ScmCons;
     else if (INTP(obj))
@@ -353,8 +351,7 @@
     else if (C_FUNCPOINTERP(obj))
         return ScmCFuncPointer;
 
-    ERR_OBJ("invalid type", obj);
-
-    /* NOTREACHED */
+   /* FIXME: Should we need to raise an error here? */
+    return ScmInvalid;
 }
 #endif /* SCM_OBJ_COMPACT */



More information about the uim-commit mailing list