Changeset 12311


Ignore:
Timestamp:
12/28/09 23:11:35 (14 years ago)
Author:
ehuelsmann
Message:

Followup to r12306: "unbreak" Slime, at least partially.

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
3 edited

Legend:

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

    r12310 r12311  
    6969    }
    7070
     71    /** Resolve this instance by returning the function we're proxy for */
     72    @Override
     73    public LispObject resolve() {
     74        return load();
     75    }
     76
    7177    final private synchronized Function load() {
    7278        if (fun != null)
     
    250256
    251257        if (cache instanceof Nil)
     258            // during EVAL-WHEN :compile-toplevel, this function will
     259            // be called without a caching environment; we'll need to
     260            // forward to the compiled function loader
    252261            return loadCompiledFunction(name.getStringValue());
    253262        else {
  • trunk/abcl/src/org/armedbear/lisp/LispObject.java

    r12288 r12311  
    3939public class LispObject //extends Lisp
    4040{
     41
     42  /** Function to allow objects to return the value
     43   * "they stand for". Used by AutoloadedFunctionProxy to return
     44   * the function it is proxying.
     45   */
     46  public LispObject resolve()
     47  {
     48    return this;
     49  }
     50
    4151  public LispObject typeOf()
    4252  {
  • trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp

    r12309 r12311  
    20492049                                 "getSymbolFunctionOrDie")
    20502050                             nil +lisp-object+)
     2051         ;; make sure we're not cacheing a proxied function
     2052         ;; (AutoloadedFunctionProxy) by allowing it to resolve itself
     2053         (emit-invokevirtual +lisp-object-class+
     2054                             "resolve" nil +lisp-object+)
    20512055         (emit 'putstatic *this-class* f +lisp-object+)
    20522056         (if *declare-inline*
Note: See TracChangeset for help on using the changeset viewer.