Changeset 3118


Ignore:
Timestamp:
07/27/03 18:50:00 (18 years ago)
Author:
piso
Message:

Function argument list, function documentation.

File:
1 edited

Legend:

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

    r2525 r3118  
    33 *
    44 * Copyright (C) 2003 Peter Graves
    5  * $Id: describe.java,v 1.2 2003-06-22 16:15:14 piso Exp $
     5 * $Id: describe.java,v 1.3 2003-07-27 18:50:00 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    6565                    sb.append(function);
    6666                    sb.append(".\n");
     67                    if (function instanceof Function) {
     68                        LispObject arglist = ((Function)function).getArglist();
     69                        if (arglist != null) {
     70                            sb.append("Function argument list:\n  ");
     71                            if (arglist instanceof LispString)
     72                                sb.append(((LispString)arglist).getValue());
     73                            else
     74                                sb.append(arglist);
     75                            sb.append('\n');
     76                        }
     77                    }
    6778                    LispObject documentation =
    68                         eval(list(Symbol.DOCUMENTATION,
    69                             list(Symbol.QUOTE, symbol),
    70                             list(Symbol.QUOTE, Symbol.FUNCTION)),
    71                             new Environment(),
    72                             LispThread.currentThread());
     79                        symbol.getFunctionDocumentation();
    7380                    if (documentation instanceof LispString) {
    7481                        sb.append("Function documentation:\n  ");
     
    8693                        sb.append("  ");
    8794                        sb.append(indicator);
    88                         sb.append("\t\t");
     95                        sb.append(' ');
    8996                        sb.append(value);
    9097                        sb.append('\n');
     
    95102            out.freshLine();
    96103            out.writeString(sb.toString());
     104            out.freshLine();
    97105            return LispThread.currentThread().nothing();
    98106        }
Note: See TracChangeset for help on using the changeset viewer.