Changeset 10133


Ignore:
Timestamp:
10/17/05 16:30:34 (16 years ago)
Author:
piso
Message:

READ: get rid of inSynonymOf().

File:
1 edited

Legend:

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

    r10132 r10133  
    33 *
    44 * Copyright (C) 2002-2005 Peter Graves
    5  * $Id: Primitives.java,v 1.832 2005-10-17 15:44:44 piso Exp $
     5 * $Id: Primitives.java,v 1.833 2005-10-17 16:30:34 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    41094109        {
    41104110            final LispThread thread = LispThread.currentThread();
    4111             return checkCharacterInputStream(_STANDARD_INPUT_.symbolValue(thread)).read(true, NIL, false, thread);
     4111            final Stream stream;
     4112            try {
     4113                stream = (Stream) _STANDARD_INPUT_.symbolValue(thread);
     4114            }
     4115            catch (ClassCastException e) {
     4116                return signalTypeError(_STANDARD_INPUT_.symbolValue(thread),
     4117                                       Symbol.STREAM);
     4118            }
     4119            return stream.read(true, NIL, false, thread);
    41124120        }
    41134121        public LispObject execute(LispObject arg) throws ConditionThrowable
    41144122        {
    41154123            final LispThread thread = LispThread.currentThread();
    4116             return inSynonymOf(arg).read(true, NIL, false, thread);
     4124            if (arg == T)
     4125                arg = _TERMINAL_IO_.symbolValue(thread);
     4126            else if (arg == NIL)
     4127                arg = _STANDARD_INPUT_.symbolValue(thread);
     4128            final Stream stream;
     4129            try {
     4130                stream = (Stream) arg;
     4131            }
     4132            catch (ClassCastException e) {
     4133                return signalTypeError(arg, Symbol.STREAM);
     4134            }
     4135            return stream.read(true, NIL, false, thread);
    41174136        }
    41184137        public LispObject execute(LispObject first, LispObject second)
     
    41204139        {
    41214140            final LispThread thread = LispThread.currentThread();
    4122             return inSynonymOf(first).read(second != NIL, NIL, false, thread);
     4141            if (first == T)
     4142                first = _TERMINAL_IO_.symbolValue(thread);
     4143            else if (first == NIL)
     4144                first = _STANDARD_INPUT_.symbolValue(thread);
     4145            final Stream stream;
     4146            try {
     4147                stream = (Stream) first;
     4148            }
     4149            catch (ClassCastException e) {
     4150                return signalTypeError(first, Symbol.STREAM);
     4151            }
     4152            return stream.read(second != NIL, NIL, false, thread);
    41234153        }
    41244154        public LispObject execute(LispObject first, LispObject second,
     
    41274157        {
    41284158            final LispThread thread = LispThread.currentThread();
    4129             return inSynonymOf(first).read(second != NIL, third, false, thread);
     4159            if (first == T)
     4160                first = _TERMINAL_IO_.symbolValue(thread);
     4161            else if (first == NIL)
     4162                first = _STANDARD_INPUT_.symbolValue(thread);
     4163            final Stream stream;
     4164            try {
     4165                stream = (Stream) first;
     4166            }
     4167            catch (ClassCastException e) {
     4168                return signalTypeError(first, Symbol.STREAM);
     4169            }
     4170            return stream.read(second != NIL, third, false, thread);
    41304171        }
    41314172        public LispObject execute(LispObject first, LispObject second,
     
    41344175        {
    41354176            final LispThread thread = LispThread.currentThread();
    4136             return inSynonymOf(first).read(second != NIL, third, fourth != NIL,
    4137                                            thread);
     4177            if (first == T)
     4178                first = _TERMINAL_IO_.symbolValue(thread);
     4179            else if (first == NIL)
     4180                first = _STANDARD_INPUT_.symbolValue(thread);
     4181            final Stream stream;
     4182            try {
     4183                stream = (Stream) first;
     4184            }
     4185            catch (ClassCastException e) {
     4186                return signalTypeError(first, Symbol.STREAM);
     4187            }
     4188            return stream.read(second != NIL, third, fourth != NIL, thread);
    41384189        }
    41394190    };
Note: See TracChangeset for help on using the changeset viewer.