OSDN Git Service

delete bug.
authorvisor <visor@users.sourceforge.jp>
Fri, 27 Aug 2010 15:53:55 +0000 (00:53 +0900)
committervisor <visor@users.sourceforge.jp>
Fri, 27 Aug 2010 15:53:55 +0000 (00:53 +0900)
modules/ml-variable.cc

index eb6158f..4c624e8 100644 (file)
@@ -80,7 +80,7 @@ MNode*  ml_setvar (MNode* cell, MlEnv* mlenv) {
            // nothing
        }
     }
-    return ans.release ();
+    return mlenv->retval = ans ();
 }
 
 /*DOC:
@@ -162,7 +162,7 @@ MNode*  ml_let (MNode* cell, MlEnv* mlenv) {
        }
     }
 
-    return ans.release ();
+    return mlenv->retval = ans ();
 }
 
 /*DOC:
@@ -244,7 +244,7 @@ MNode*  ml_pop (MNode* cell, MlEnv* mlenv) {
        mlenv->setAry (var, n, NULL);
        mlenv->setArySize (var, n - 1);
     }
-    return ans.release ();
+    return mlenv->retval = ans ();
 }
 
 /*DOC:
@@ -257,7 +257,7 @@ MNode*  ml_pop (MNode* cell, MlEnv* mlenv) {
 MNode*  ml_shift (MNode* cell, MlEnv* mlenv) {
     MNode*  arg = cell->cdr ();
     ustring  var;
-    MNode*  ans = NULL;
+    MNodePtr  ans;
     int  i, n;
 
     if (! arg)
@@ -278,7 +278,7 @@ MNode*  ml_shift (MNode* cell, MlEnv* mlenv) {
        mlenv->setAry (var, n, NULL);
        mlenv->setArySize (var, n - 1);
     }
-    return ans;
+    return mlenv->retval = ans ();
 }
 
 /*DOC:
@@ -351,7 +351,7 @@ MNode*  ml_array (MNode* cell, MlEnv* mlenv) {
            ans.append (mlenv->getAry (var, i));
        }
     }
-    return ans.release ();
+    return mlenv->retval = ans ();
 }
 
 /*DOC: