Changeset 8351


Ignore:
Timestamp:
01/13/05 11:54:36 (17 years ago)
Author:
piso
Message:

SHARP-STAR

File:
1 edited

Legend:

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

    r8350 r8351  
    33 *
    44 * Copyright (C) 2004-2005 Peter Graves
    5  * $Id: LispReader.java,v 1.31 2005-01-13 11:29:16 piso Exp $
     5 * $Id: LispReader.java,v 1.32 2005-01-13 11:54:36 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    179179            throws ConditionThrowable
    180180        {
     181            final boolean suppress = _READ_SUPPRESS_.symbolValue() != NIL;
    181182            StringBuffer sb = new StringBuffer();
    182183            while (true) {
     
    188189                    sb.append(c);
    189190                else {
    190                     stream._unreadChar(c);
    191                     break;
     191                    int attr = currentReadtable().getAttribute(c);
     192                    if (attr == Readtable.ATTR_WHITESPACE ||
     193                        attr == Readtable.ATTR_TERMINATING_MACRO) {
     194                        stream._unreadChar(c);
     195                        break;
     196                    } else if (!suppress) {
     197                        String name = LispCharacter.charToName(c);
     198                        if (name == null)
     199                            name = "#\\" + c;
     200                        signal(new ReaderError("Illegal element for bit-vector: " + name));
     201                    }
    192202                }
    193203            }
    194             if (_READ_SUPPRESS_.symbolValue() != NIL)
     204            if (suppress)
    195205                return NIL;
    196206            if (n >= 0) {
Note: See TracChangeset for help on using the changeset viewer.