Changeset 4727


Ignore:
Timestamp:
11/14/03 00:54:25 (18 years ago)
Author:
piso
Message:

NREVERSE

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/lisp/Primitives.java

    r4723 r4727  
    33 *
    44 * Copyright (C) 2002-2003 Peter Graves
    5  * $Id: Primitives.java,v 1.494 2003-11-14 00:00:47 piso Exp $
     5 * $Id: Primitives.java,v 1.495 2003-11-14 00:54:25 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    40434043        public LispObject execute (LispObject arg) throws ConditionThrowable
    40444044        {
    4045             if (arg instanceof AbstractVector) {
    4046                 ((AbstractVector)arg).nreverse();
    4047                 return arg;
    4048             }
    4049             LispObject list = checkList(arg);
    4050             // Following code is from CLISP.
    4051             if (list instanceof Cons) {
    4052                 LispObject list3 = list.cdr();
    4053                 if (list3 instanceof Cons) {
    4054                     if (list3.cdr() instanceof Cons) {
    4055                         LispObject list1 = list3;
    4056                         LispObject list2 = NIL;
    4057                         do {
    4058                             LispObject h = list3.cdr();
    4059                             list3.setCdr(list2);
    4060                             list2 = list3;
    4061                             list3 = h;
    4062                         } while (list3.cdr() instanceof Cons);
    4063                         list.setCdr(list2);
    4064                         list1.setCdr(list3);
    4065                     }
    4066                     LispObject h = list.car();
    4067                     list.setCar(list3.car());
    4068                     list3.setCar(h);
    4069                 }
    4070             }
    4071             return list;
     4045            return arg.nreverse();
    40724046        }
    40734047    };
Note: See TracChangeset for help on using the changeset viewer.