Ticket #294: reader.diff
File reader.diff, 1.1 KB (added by , 11 years ago) |
---|
-
Stream.java
739 739 private static final boolean isTokenDelimiter(char c, Readtable rt) 740 740 741 741 { 742 switch (c) { 743 case '"': 744 case '\'': 745 case '(': 746 case ')': 747 case ',': 748 case ';': 749 case '`': 750 return true; 751 default: 752 return rt.isWhitespace(c); 753 } 742 byte type = rt.getSyntaxType(c); 743 744 return type == Readtable.SYNTAX_TYPE_TERMINATING_MACRO || 745 type == Readtable.SYNTAX_TYPE_WHITESPACE; 746 754 747 } 755 748 756 749 public LispObject readDispatchChar(char dispChar, … … 909 902 c = (char) n; // ### BUG: Codepoint conversion 910 903 if (rt.isWhitespace(c)) 911 904 break; 912 if (c == '(' || c == ')') { 905 if (rt.getSyntaxType(c) == 906 Readtable.SYNTAX_TYPE_TERMINATING_MACRO) { 913 907 _unreadChar(c); 914 908 break; 915 909 }