Changeset 10137


Ignore:
Timestamp:
10/17/05 18:06:41 (16 years ago)
Author:
piso
Message:

Get rid of outSynonymOf().

File:
1 edited

Legend:

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

    r10134 r10137  
    33 *
    44 * Copyright (C) 2002-2005 Peter Graves
    5  * $Id: Primitives.java,v 1.834 2005-10-17 16:40:38 piso Exp $
     5 * $Id: Primitives.java,v 1.835 2005-10-17 18:06:41 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    761761        public LispObject execute(LispObject arg) throws ConditionThrowable
    762762        {
    763             return outSynonymOf(arg).terpri();
     763            if (arg == T)
     764                arg = _TERMINAL_IO_.symbolValue();
     765            else if (arg == NIL)
     766                arg = _STANDARD_OUTPUT_.symbolValue();
     767            final Stream stream;
     768            try {
     769                stream = (Stream) arg;
     770            }
     771            catch (ClassCastException e) {
     772                return signalTypeError(arg, Symbol.STREAM);
     773            }
     774            return stream.terpri();
    764775        }
    765776    };
     
    772783        public LispObject execute(LispObject arg) throws ConditionThrowable
    773784        {
    774             return outSynonymOf(arg).freshLine();
     785            if (arg == T)
     786                arg = _TERMINAL_IO_.symbolValue();
     787            else if (arg == NIL)
     788                arg = _STANDARD_OUTPUT_.symbolValue();
     789            final Stream stream;
     790            try {
     791                stream = (Stream) arg;
     792            }
     793            catch (ClassCastException e) {
     794                return signalTypeError(arg, Symbol.STREAM);
     795            }
     796            return stream.freshLine();
    775797        }
    776798    };
     
    36993721            throws ConditionThrowable
    37003722        {
    3701             try {
    3702                 outSynonymOf(second)._writeChar(((LispCharacter)first).value);
    3703             }
    3704             catch (ClassCastException e) {
    3705                 return signal(new TypeError(first, Symbol.CHARACTER));
    3706             }
     3723            final char c;
     3724            try {
     3725                c = ((LispCharacter)first).value;
     3726            }
     3727            catch (ClassCastException e) {
     3728                return signalTypeError(first, Symbol.CHARACTER);
     3729            }
     3730            if (second == T)
     3731                second = _TERMINAL_IO_.symbolValue();
     3732            else if (second == NIL)
     3733                second = _STANDARD_OUTPUT_.symbolValue();
     3734            final Stream stream;
     3735            try {
     3736                stream = (Stream) second;
     3737            }
     3738            catch (ClassCastException e) {
     3739                return signalTypeError(second, Symbol.STREAM);
     3740            }
     3741            stream._writeChar(c);
    37073742            return first;
    37083743        }
Note: See TracChangeset for help on using the changeset viewer.