Changeset 11859


Ignore:
Timestamp:
05/13/09 19:07:10 (12 years ago)
Author:
astalla
Message:

Corrected previous commit: JProxy uses APPLY and not FUNCALL.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/JProxy.java

    r11858 r11859  
    178178    args = new Object[0];
    179179      }
    180       LispObject[] lispArgs = new LispObject[args.length + 3];
    181       lispArgs[0] = function;
     180      LispObject lispArgs = NIL;
    182181      synchronized(proxyMap) {
    183     lispArgs[1] = toLispObject(proxyMap.get(proxy));
    184       }
    185       lispArgs[2] = new SimpleString(method.getName());
     182    lispArgs = lispArgs.push(toLispObject(proxyMap.get(proxy)));
     183      }
     184      lispArgs = lispArgs.push(new SimpleString(method.getName()));
    186185      for(int i = 0; i < args.length; i++) {
    187     lispArgs[i + 3] = toLispObject(args[i]);
     186    lispArgs = lispArgs.push(toLispObject(args[i]));
    188187      }
    189188      Object retVal =
    190     LispThread.currentThread().execute(Symbol.FUNCALL, lispArgs).javaInstance();
     189    LispThread.currentThread().execute
     190    (Symbol.APPLY, function, lispArgs.reverse()).javaInstance();
    191191      //(function.execute(lispArgs)).javaInstance();
    192192      /* DOES NOT WORK due to autoboxing!
Note: See TracChangeset for help on using the changeset viewer.