Changeset 13445 for trunk/abcl/src/org


Ignore:
Timestamp:
08/06/11 14:46:28 (10 years ago)
Author:
ehuelsmann
Message:

Print unreadable strings with unreadableString() exclusively,
so it can throw a Lisp error when printing something unreadable.

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

Legend:

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

    r13440 r13445  
    262262    public String printObject()
    263263    {
    264         StringBuffer sb = new StringBuffer("#<AUTOLOAD ");
     264        StringBuilder sb = new StringBuilder();
    265265        sb.append(symbol.princToString());
    266266        sb.append(" \"");
     
    274274        } else
    275275            sb.append(getFileName());
    276         sb.append("\">");
    277         return sb.toString();
     276        return unreadableString(sb.toString());
    278277    }
    279278
  • trunk/abcl/src/org/armedbear/lisp/AutoloadMacro.java

    r13440 r13445  
    6767    public String printObject()
    6868    {
    69         StringBuffer sb = new StringBuffer("#<AUTOLOAD-MACRO ");
     69        StringBuilder sb = new StringBuilder();
    7070        sb.append(getSymbol().princToString());
    7171        sb.append(" \"");
    7272        sb.append(getFileName());
    73         sb.append("\">");
    74         return sb.toString();
     73        return unreadableString(sb.toString());
    7574    }
    7675
  • trunk/abcl/src/org/armedbear/lisp/BuiltInClass.java

    r13440 r13445  
    8080  public String printObject()
    8181  {
    82     StringBuilder sb = new StringBuilder("#<BUILT-IN-CLASS ");
    83     sb.append(getName().printObject());
    84     sb.append('>');
    85     return sb.toString();
     82    return unreadableString(getName().princToString());
    8683  }
    8784
  • trunk/abcl/src/org/armedbear/lisp/DoubleFloat.java

    r13440 r13445  
    593593                return "#.(progn \"Comment: create a NaN.\" (/ 0.0d0 0.0d0))";
    594594            else
    595                 return "#<DOUBLE-FLOAT NaN>";
     595                return unreadableString("DOUBLE-FLOAT NaN", false);
    596596        }
    597597        String s1 = String.valueOf(value);
  • trunk/abcl/src/org/armedbear/lisp/EndOfFile.java

    r13444 r13445  
    7171        return super.typep(type);
    7272    }
    73 
    74     @Override
    75     public String getMessage()
    76     {
    77         return unreadableString("END-OF-STREAM");
    78     }
    7973}
  • trunk/abcl/src/org/armedbear/lisp/Function.java

    r13440 r13445  
    318318        LispObject name = getLambdaName();
    319319        if (name != null && name != NIL) {
    320             StringBuffer sb = new StringBuffer("#<FUNCTION ");
    321             sb.append(name.printObject());
    322             sb.append(" {");
    323             sb.append(Integer.toHexString(System.identityHashCode(this)).toUpperCase());
    324             sb.append("}>");
    325             return sb.toString();
     320            return unreadableString(name.princToString());
    326321        }
    327322        // No name.
    328323        LispObject lambdaList = getLambdaList();
    329324        if (lambdaList != null) {
    330             StringBuffer sb = new StringBuffer("#<FUNCTION ");
     325            StringBuilder sb = new StringBuilder("FUNCTION ");
    331326            sb.append("(LAMBDA ");
    332327            if (lambdaList == NIL) {
     
    344339            }
    345340            sb.append(")");
    346             sb.append(" {");
    347             sb.append(Integer.toHexString(System.identityHashCode(this)).toUpperCase());
    348             sb.append("}>");
    349             return sb.toString();
     341            return unreadableString(sb.toString());
    350342        }
    351343        return unreadableString("FUNCTION");
  • trunk/abcl/src/org/armedbear/lisp/Lisp.java

    r13440 r13445  
    27062706    public String printObject()
    27072707    {
    2708       return "#<UNBOUND>";
     2708      return unreadableString("UNBOUND", false);
    27092709    }
    27102710  }
     
    27162716    public String printObject()
    27172717    {
    2718       return "null";
     2718      return unreadableString("null", false);
    27192719    }
    27202720  }
  • trunk/abcl/src/org/armedbear/lisp/LispObject.java

    r13444 r13445  
    758758   * identity value of 'true'.
    759759   *
     760   * This function is a helper for printObject()
     761   *
    760762   * @param s String representation of this object.
    761763   * @return String enclosed in the non-readable #< ... > markers
     
    770772   * If the current value of the variable *PRINT-READABLY* is T, a
    771773   * Lisp error is thrown and no value is returned.
     774   *
     775   * This function is a helper for printObject()
    772776   *
    773777   * @param s
  • trunk/abcl/src/org/armedbear/lisp/Package.java

    r13442 r13445  
    856856        } else {
    857857             if (name != null) {
    858                 StringBuilder sb = new StringBuilder("#<PACKAGE \"");
    859                 sb.append(name);
    860                 sb.append("\">");
    861                 return sb.toString();
     858                return unreadableString("PACKAGE " + name, false);
    862859            } else
    863860                return unreadableString("PACKAGE");
  • trunk/abcl/src/org/armedbear/lisp/SingleFloat.java

    r13440 r13445  
    582582                return "#.(progn \"Comment: create a NaN.\" (/ 0.0s0 0.0s0))";
    583583            else
    584                 return "#<SINGLE-FLOAT NaN>";
     584                return unreadableString("SINGLE-FLOAT NaN", false);
    585585        }
    586586        String s1 = String.valueOf(value);
  • trunk/abcl/src/org/armedbear/lisp/SpecialOperator.java

    r13440 r13445  
    149149    public String printObject()
    150150    {
    151         StringBuffer sb = new StringBuffer("#<SPECIAL-OPERATOR ");
     151        StringBuilder sb = new StringBuilder("SPECIAL-OPERATOR ");
    152152        sb.append(lambdaName.princToString());
    153         sb.append(">");
    154         return sb.toString();
     153        return unreadableString(sb.toString(), false);
    155154    }
    156155
  • trunk/abcl/src/org/armedbear/lisp/StructureClass.java

    r13440 r13445  
    7979    public String printObject()
    8080    {
    81         StringBuffer sb = new StringBuffer("#<STRUCTURE-CLASS ");
     81        StringBuilder sb = new StringBuilder("STRUCTURE-CLASS ");
    8282        sb.append(getName().princToString());
    83         sb.append('>');
    84         return sb.toString();
     83        return unreadableString(sb.toString(), false);
    8584    }
    8685
Note: See TracChangeset for help on using the changeset viewer.