Changeset 4413


Ignore:
Timestamp:
10/16/03 15:01:15 (19 years ago)
Author:
piso
Message:

load()

Location:
trunk/j/src/org/armedbear/lisp
Files:
2 edited

Legend:

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

    r4407 r4413  
    33 *
    44 * Copyright (C) 2003 Peter Graves
    5  * $Id: Autoload.java,v 1.92 2003-10-16 02:19:14 piso Exp $
     5 * $Id: Autoload.java,v 1.93 2003-10-16 15:00:17 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    5959        }
    6060        symbol.setSymbolFunction(new Autoload(symbol, null,
    61             "org.armedbear.lisp.".concat(className)));
     61                                              "org.armedbear.lisp.".concat(className)));
    6262    }
    6363
     
    6565    {
    6666        if (className != null) {
     67            final LispThread thread = LispThread.currentThread();
     68            final Environment oldDynEnv = thread.getDynamicEnvironment();
     69            int loadDepth = Fixnum.getInt(_LOAD_DEPTH_.symbolValue());
     70            thread.bindSpecial(_LOAD_DEPTH_, new Fixnum(++loadDepth));
    6771            try {
    68                 CharacterOutputStream out = getStandardOutput();
    69                 out.writeString("; Loading ");
    70                 out.writeString(className);
    71                 out.writeLine(" ...");
    72                 out.flushOutput();
    73                 long start = System.currentTimeMillis();
    74                 Class.forName(className);
    75                 long elapsed = System.currentTimeMillis() - start;
    76                 out.writeString("; Loaded ");
    77                 out.writeString(className);
    78                 out.writeString(" (");
    79                 out.writeString(String.valueOf(((float)elapsed)/1000));
    80                 out.writeLine(" seconds)");
    81                 out.flushOutput();
     72                if (_AUTOLOAD_VERBOSE_.symbolValueNoThrow() != NIL) {
     73                    final String prefix = Load.getLoadVerbosePrefix(loadDepth);
     74                    CharacterOutputStream out = getStandardOutput();
     75                    out.writeString(prefix);
     76                    out.writeString(" Autoloading ");
     77                    out.writeString(className);
     78                    out.writeLine(" ...");
     79                    out.flushOutput();
     80                    long start = System.currentTimeMillis();
     81                    Class.forName(className);
     82                    long elapsed = System.currentTimeMillis() - start;
     83                    out.writeString(prefix);
     84                    out.writeString(" Autoloaded ");
     85                    out.writeString(className);
     86                    out.writeString(" (");
     87                    out.writeString(String.valueOf(((float)elapsed)/1000));
     88                    out.writeLine(" seconds)");
     89                    out.flushOutput();
     90                } else
     91                    Class.forName(className);
    8292            }
    8393            catch (ClassNotFoundException e) {
    8494                e.printStackTrace();
    8595            }
     96            finally {
     97                thread.setDynamicEnvironment(oldDynEnv);
     98            }
    8699        } else
    87             Load._load(getFileName(), true, false);
     100            Load._load(getFileName(), true);
    88101    }
    89102
  • trunk/j/src/org/armedbear/lisp/AutoloadMacro.java

    r3884 r4413  
    33 *
    44 * Copyright (C) 2003 Peter Graves
    5  * $Id: AutoloadMacro.java,v 1.4 2003-09-19 11:50:18 piso Exp $
     5 * $Id: AutoloadMacro.java,v 1.5 2003-10-16 15:01:15 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    3636    public void load() throws ConditionThrowable
    3737    {
    38         Load._load(getFileName(), true, false);
     38        Load._load(getFileName(), true);
    3939    }
    4040
Note: See TracChangeset for help on using the changeset viewer.