Changeset 10138


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

CHAR-EQUAL

File:
1 edited

Legend:

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

    r10120 r10138  
    33 *
    44 * Copyright (C) 2003-2005 Peter Graves
    5  * $Id: CharacterFunctions.java,v 1.13 2005-10-16 02:03:28 piso Exp $
     5 * $Id: CharacterFunctions.java,v 1.14 2005-10-17 18:07:54 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    3636            if (arg instanceof LispCharacter)
    3737                return T;
    38             return signal(new TypeError(arg, Symbol.CHARACTER));
     38            return signalTypeError(arg, Symbol.CHARACTER);
    3939        }
    4040        public LispObject execute(LispObject first, LispObject second)
     
    5050                else
    5151                    datum = first;
    52                 return signal(new TypeError(datum, Symbol.CHARACTER));
     52                return signalTypeError(datum, Symbol.CHARACTER);
    5353            }
    5454        }
     
    7777            if (arg instanceof LispCharacter)
    7878                return T;
    79             return signal(new TypeError(arg, Symbol.CHARACTER));
    80         }
    81         public LispObject execute(LispObject first, LispObject second)
    82             throws ConditionThrowable
    83         {
    84             char c1 = LispCharacter.getValue(first);
    85             char c2 = LispCharacter.getValue(second);
     79            return signalTypeError(arg, Symbol.CHARACTER);
     80        }
     81        public LispObject execute(LispObject first, LispObject second)
     82            throws ConditionThrowable
     83        {
     84            final char c1, c2;
     85            try {
     86                c1 = ((LispCharacter)first).value;
     87            }
     88            catch (ClassCastException e) {
     89                return signalTypeError(first, Symbol.CHARACTER);
     90            }
     91            try {
     92                c2 = ((LispCharacter)second).value;
     93            }
     94            catch (ClassCastException e) {
     95                return signalTypeError(second, Symbol.CHARACTER);
     96            }
    8697            if (c1 == c2)
    8798                return T;
     
    122133            if (arg instanceof LispCharacter)
    123134                return T;
    124             return signal(new TypeError(arg, Symbol.CHARACTER));
     135            return signalTypeError(arg, Symbol.CHARACTER);
    125136        }
    126137        public LispObject execute(LispObject first, LispObject second)
     
    157168            if (arg instanceof LispCharacter)
    158169                return T;
    159             return signal(new TypeError(arg, Symbol.CHARACTER));
     170            return signalTypeError(arg, Symbol.CHARACTER);
    160171        }
    161172        public LispObject execute(LispObject first, LispObject second)
     
    192203            if (arg instanceof LispCharacter)
    193204                return T;
    194             return signal(new TypeError(arg, Symbol.CHARACTER));
     205            return signalTypeError(arg, Symbol.CHARACTER);
    195206        }
    196207        public LispObject execute(LispObject first, LispObject second)
     
    206217                else
    207218                    datum = first;
    208                 return signal(new TypeError(datum, Symbol.CHARACTER));
     219                return signalTypeError(datum, Symbol.CHARACTER);
    209220            }
    210221        }
     
    218229                }
    219230                catch (ClassCastException e) {
    220                     return signal(new TypeError(args[i], Symbol.CHARACTER));
     231                    return signalTypeError(args[i], Symbol.CHARACTER);
    221232                }
    222233            }
     
    241252            if (arg instanceof LispCharacter)
    242253                return T;
    243             return signal(new TypeError(arg, Symbol.CHARACTER));
     254            return signalTypeError(arg, Symbol.CHARACTER);
    244255        }
    245256        public LispObject execute(LispObject first, LispObject second)
     
    255266                else
    256267                    datum = first;
    257                 return signal(new TypeError(datum, Symbol.CHARACTER));
     268                return signalTypeError(datum, Symbol.CHARACTER);
    258269            }
    259270        }
     
    277288                else
    278289                    datum = third;
    279                 return signal(new TypeError(datum, Symbol.CHARACTER));
     290                return signalTypeError(datum, Symbol.CHARACTER);
    280291            }
    281292        }
     
    289300                }
    290301                catch (ClassCastException e) {
    291                     return signal(new TypeError(args[i], Symbol.CHARACTER));
     302                    return signalTypeError(args[i], Symbol.CHARACTER);
    292303                }
    293304            }
     
    312323            if (arg instanceof LispCharacter)
    313324                return T;
    314             return signal(new TypeError(arg, Symbol.CHARACTER));
     325            return signalTypeError(arg, Symbol.CHARACTER);
    315326        }
    316327        public LispObject execute(LispObject first, LispObject second)
     
    347358            if (arg instanceof LispCharacter)
    348359                return T;
    349             return signal(new TypeError(arg, Symbol.CHARACTER));
     360            return signalTypeError(arg, Symbol.CHARACTER);
    350361        }
    351362        public LispObject execute(LispObject first, LispObject second)
Note: See TracChangeset for help on using the changeset viewer.