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

yamaken at freedesktop.org yamaken at freedesktop.org
Fri Sep 23 03:28:59 PDT 2005


Author: yamaken
Date: 2005-09-23 03:28:56 -0700 (Fri, 23 Sep 2005)
New Revision: 1544

Modified:
   branches/r5rs/sigscheme/io.c
   branches/r5rs/sigscheme/sigscheme.c
Log:
* sigscheme/io.c
  - (ScmOp_provide): Fix invalid vcell update by treating the return
    value from reader SCM_SYMBOL_VCELL() as a lvalue. Don't assume
    such internal storage representation. Use the writer
    SCM_SYMBOL_SET_VCELL() instead to keep the storage abstract
* sigscheme/sigscheme.c
  - (SigScm_Initialize_internal): Ditto


Modified: branches/r5rs/sigscheme/io.c
===================================================================
--- branches/r5rs/sigscheme/io.c	2005-09-23 10:10:35 UTC (rev 1543)
+++ branches/r5rs/sigscheme/io.c	2005-09-23 10:28:56 UTC (rev 1544)
@@ -584,7 +584,8 @@
         SigScm_ErrorObj("provide : string required but got ", feature);
 
     /* record to SigScm_features */
-    SCM_SYMBOL_VCELL(SigScm_features) = CONS(feature, SCM_SYMBOL_VCELL(SigScm_features));
+    SCM_SYMBOL_SET_VCELL(SigScm_features,
+                         CONS(feature, SCM_SYMBOL_VCELL(SigScm_features)));
 
     return SCM_TRUE;
 }

Modified: branches/r5rs/sigscheme/sigscheme.c
===================================================================
--- branches/r5rs/sigscheme/sigscheme.c	2005-09-23 10:10:35 UTC (rev 1543)
+++ branches/r5rs/sigscheme/sigscheme.c	2005-09-23 10:28:56 UTC (rev 1544)
@@ -132,11 +132,11 @@
     =======================================================================*/
 #if 0
     /* really required? */
-    SCM_SYMBOL_VCELL(Scm_Intern("#t"))   = SCM_TRUE;
-    SCM_SYMBOL_VCELL(Scm_Intern("#f"))   = SCM_FALSE;
+    SCM_SYMBOL_SET_VCELL(Scm_Intern("#t"),   SCM_TRUE);
+    SCM_SYMBOL_SET_VCELL(Scm_Intern("#f"),   SCM_FALSE);
 #endif
-    SCM_SYMBOL_VCELL(Scm_Intern("else")) = SCM_TRUE;
-    SCM_SYMBOL_VCELL(Scm_Intern("=>"))   = SCM_TRUE;
+    SCM_SYMBOL_SET_VCELL(Scm_Intern("else"), SCM_TRUE);
+    SCM_SYMBOL_SET_VCELL(Scm_Intern("=>"),   SCM_TRUE);
     /*=======================================================================
       Export Scheme Functions
     =======================================================================*/
@@ -432,7 +432,7 @@
     ScmObj sym  = Scm_Intern(name);
     ScmObj func = Scm_NewFunc(type, c_func);
 
-    SCM_SYMBOL_VCELL(sym) = func;
+    SCM_SYMBOL_SET_VCELL(sym, func);
 }
 
 void Scm_RegisterFunc0(const char *name, ScmFuncType0 func)



More information about the uim-commit mailing list