/[guile]/guile/guile-core/libguile/eval.c
ViewVC logotype

Diff of /guile/guile-core/libguile/eval.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.294 by dirk, Sun Apr 20 19:18:43 2003 UTC revision 1.295 by dirk, Mon Apr 21 01:07:09 2003 UTC
# Line 1422  unmemocopy (SCM x, SCM env) Line 1422  unmemocopy (SCM x, SCM env)
1422          if (SCM_IMP (b))          if (SCM_IMP (b))
1423            {            {
1424              SCM_SETCDR (y, SCM_EOL);              SCM_SETCDR (y, SCM_EOL);
1425              ls = scm_cons (scm_sym_let, z = scm_cons (y, SCM_UNSPECIFIED));              z = scm_cons (y, SCM_UNSPECIFIED);
1426                ls = scm_cons (scm_sym_let, z);
1427              break;              break;
1428            }            }
1429          do          do
# Line 1438  unmemocopy (SCM x, SCM env) Line 1439  unmemocopy (SCM x, SCM env)
1439          while (SCM_NIMP (b));          while (SCM_NIMP (b));
1440          SCM_SETCDR (z, SCM_EOL);          SCM_SETCDR (z, SCM_EOL);
1441        letstar:        letstar:
1442          ls = scm_cons (scm_sym_letstar, z = scm_cons (y, SCM_UNSPECIFIED));          z = scm_cons (y, SCM_UNSPECIFIED);
1443            ls = scm_cons (scm_sym_letstar, z);
1444          break;          break;
1445        }        }
1446      case SCM_BIT7 (SCM_IM_OR):      case SCM_BIT7 (SCM_IM_OR):
# Line 3636  tail: Line 3638  tail:
3638        else        else
3639          {          {
3640            SCM tl = args = scm_cons (SCM_CAR (arg1), SCM_UNSPECIFIED);            SCM tl = args = scm_cons (SCM_CAR (arg1), SCM_UNSPECIFIED);
3641            while (arg1 = SCM_CDR (arg1), SCM_CONSP (arg1))            for (arg1 = SCM_CDR (arg1); SCM_CONSP (arg1); arg1 = SCM_CDR (arg1))
3642              {              {
3643                SCM_SETCDR (tl, scm_cons (SCM_CAR (arg1),                SCM_SETCDR (tl, scm_cons (SCM_CAR (arg1), SCM_UNSPECIFIED));
                                         SCM_UNSPECIFIED));  
3644                tl = SCM_CDR (tl);                tl = SCM_CDR (tl);
3645              }              }
3646            SCM_SETCDR (tl, arg1);            SCM_SETCDR (tl, arg1);
# Line 3648  tail: Line 3649  tail:
3649        args = EXTEND_ENV (SCM_CLOSURE_FORMALS (proc), args, SCM_ENV (proc));        args = EXTEND_ENV (SCM_CLOSURE_FORMALS (proc), args, SCM_ENV (proc));
3650        proc = SCM_CLOSURE_BODY (proc);        proc = SCM_CLOSURE_BODY (proc);
3651      again:      again:
3652        arg1 = proc;        arg1 = SCM_CDR (proc);
3653        while (!SCM_NULLP (arg1 = SCM_CDR (arg1)))        while (!SCM_NULLP (arg1))
3654          {          {
3655            if (SCM_IMP (SCM_CAR (proc)))            if (SCM_IMP (SCM_CAR (proc)))
3656              {              {
# Line 3668  tail: Line 3669  tail:
3669            else            else
3670              SCM_CEVAL (SCM_CAR (proc), args);              SCM_CEVAL (SCM_CAR (proc), args);
3671            proc = arg1;            proc = arg1;
3672              arg1 = SCM_CDR (proc);
3673          }          }
3674        RETURN (EVALCAR (proc, args));        RETURN (EVALCAR (proc, args));
3675      case scm_tc7_smob:      case scm_tc7_smob:
# Line 4140  scm_map (SCM proc, SCM arg1, SCM args) Line 4142  scm_map (SCM proc, SCM arg1, SCM args)
4142          }          }
4143        return res;        return res;
4144      }      }
4145    args = scm_vector (arg1 = scm_cons (arg1, args));    arg1 = scm_cons (arg1, args);
4146      args = scm_vector (arg1);
4147    ve = SCM_VELTS (args);    ve = SCM_VELTS (args);
4148    check_map_args (args, len, g_map, proc, arg1, s_map);    check_map_args (args, len, g_map, proc, arg1, s_map);
4149    while (1)    while (1)
# Line 4202  scm_for_each (SCM proc, SCM arg1, SCM ar Line 4205  scm_for_each (SCM proc, SCM arg1, SCM ar
4205          }          }
4206        return SCM_UNSPECIFIED;        return SCM_UNSPECIFIED;
4207      }      }
4208    args = scm_vector (arg1 = scm_cons (arg1, args));    arg1 = scm_cons (arg1, args);
4209      args = scm_vector (arg1);
4210    ve = SCM_VELTS (args);    ve = SCM_VELTS (args);
4211    check_map_args (args, len, g_for_each, proc, arg1, s_for_each);    check_map_args (args, len, g_for_each, proc, arg1, s_for_each);
4212    while (1)    while (1)
# Line 4339  SCM_DEFINE (scm_copy_tree, "copy-tree", Line 4343  SCM_DEFINE (scm_copy_tree, "copy-tree",
4343    ans = tl = scm_cons_source (obj,    ans = tl = scm_cons_source (obj,
4344                                scm_copy_tree (SCM_CAR (obj)),                                scm_copy_tree (SCM_CAR (obj)),
4345                                SCM_UNSPECIFIED);                                SCM_UNSPECIFIED);
4346    while (obj = SCM_CDR (obj), SCM_CONSP (obj))    for (obj = SCM_CDR (obj); SCM_CONSP (obj); obj = SCM_CDR (obj))
4347      {      {
4348        SCM_SETCDR (tl, scm_cons (scm_copy_tree (SCM_CAR (obj)),        SCM_SETCDR (tl, scm_cons (scm_copy_tree (SCM_CAR (obj)),
4349                                  SCM_UNSPECIFIED));                                  SCM_UNSPECIFIED));

Legend:
Removed from v.1.294  
changed lines
  Added in v.1.295

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26