Changeset 5100


Ignore:
Timestamp:
12/12/03 16:18:48 (17 years ago)
Author:
piso
Message:

ERROR

File:
1 edited

Legend:

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

    r5071 r5100  
    33 *
    44 * Copyright (C) 2002-2003 Peter Graves
    5  * $Id: Primitives.java,v 1.523 2003-12-11 19:34:39 piso Exp $
     5 * $Id: Primitives.java,v 1.524 2003-12-12 16:18:48 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    11771177                throw new ConditionThrowable(new WrongNumberOfArgumentsException(this));
    11781178            LispObject datum = args[0];
    1179             if (datum instanceof LispError)
    1180                 throw new ConditionThrowable((LispError)datum);
     1179            if (datum instanceof Condition)
     1180                throw new ConditionThrowable((Condition)datum);
    11811181            if (datum instanceof Symbol) {
     1182                LispObject initargs = NIL;
     1183                for (int i = 1; i < args.length; i++)
     1184                    initargs = new Cons(args[i], initargs);
     1185                initargs = initargs.nreverse();
     1186                Condition condition;
    11821187                if (datum == Symbol.PACKAGE_ERROR)
    1183                     throw new ConditionThrowable(new PackageError(_format(args, 1)));
    1184                 if (datum == Symbol.PARSE_ERROR)
    1185                     throw new ConditionThrowable(new ParseError(_format(args, 1)));
    1186                 if (datum == Symbol.PROGRAM_ERROR)
    1187                     throw new ConditionThrowable(new ProgramError(_format(args, 1)));
    1188                 if (datum == Symbol.SIMPLE_ERROR)
    1189                     throw new ConditionThrowable(new SimpleError(_format(args, 1)));
    1190                 if (datum == Symbol.TYPE_ERROR)
    1191                     throw new ConditionThrowable(new TypeError(_format(args, 1)));
    1192                 // Default.
    1193                 throw new ConditionThrowable(new SimpleError(((Symbol)datum).getName()));
    1194             }
    1195             throw new ConditionThrowable(new SimpleError(_format(args)));
     1188                    condition = new PackageError(initargs);
     1189                else if (datum == Symbol.PARSE_ERROR)
     1190                    condition = new ParseError(initargs);
     1191                else if (datum == Symbol.PROGRAM_ERROR)
     1192                    condition = new ProgramError(initargs);
     1193                else if (datum == Symbol.SIMPLE_CONDITION)
     1194                    condition = new SimpleCondition(initargs);
     1195                else if (datum == Symbol.SIMPLE_WARNING)
     1196                    condition = new SimpleWarning(initargs);
     1197                else if (datum == Symbol.WARNING)
     1198                    condition = new Warning(initargs);
     1199                else if (datum == Symbol.SIMPLE_ERROR)
     1200                    condition = new SimpleError(initargs);
     1201                else if (datum == Symbol.TYPE_ERROR)
     1202                    condition = new TypeError(initargs);
     1203                else
     1204                    // Default.
     1205                    condition = new  SimpleError(initargs);
     1206                throw new ConditionThrowable(condition);
     1207            }
     1208            // Default is SIMPLE-ERROR.
     1209            LispObject formatControl = args[0];
     1210            LispObject formatArguments = NIL;
     1211            for (int i = 1; i < args.length; i++)
     1212                formatArguments = new Cons(formatArguments, new Cons(args[i]));
     1213            throw new ConditionThrowable(new SimpleError(formatControl,
     1214                                                         formatArguments));
    11961215        }
    11971216    };
    11981217
    11991218    // ### signal
    1200     private static final Primitive SIGNAL = new Primitive("signal","datum &rest arguments")
     1219    private static final Primitive SIGNAL =
     1220        new Primitive("signal", "datum &rest arguments")
    12011221    {
    12021222        public LispObject execute(LispObject[] args) throws ConditionThrowable
     
    12111231
    12121232    // ### format
    1213     private static final Primitive FORMAT = new Primitive("format","destination control-string &rest args")
     1233    private static final Primitive FORMAT =
     1234        new Primitive("format", "destination control-string &rest args")
    12141235    {
    12151236        public LispObject execute(LispObject[] args) throws ConditionThrowable
     
    12191240    };
    12201241
    1221     private static final Primitive _FORMAT = new Primitive("%format", PACKAGE_SYS, false)
     1242    private static final Primitive _FORMAT =
     1243        new Primitive("%format", PACKAGE_SYS, false)
    12221244    {
    12231245        public LispObject execute(LispObject[] args) throws ConditionThrowable
Note: See TracChangeset for help on using the changeset viewer.