git » jacl.git » commit b89cbbc

Reader fix

author Alan Dipert
2019-08-21 21:12:45 UTC
committer Alan Dipert
2019-08-21 21:12:45 UTC
parent b87c55be01d848f288f07372327bed02c0b15ac2

Reader fix

jacl.js +10 -9

diff --git a/jacl.js b/jacl.js
index c2f815c..c9ba5e8 100644
--- a/jacl.js
+++ b/jacl.js
@@ -125,6 +125,15 @@ class Values extends Array { }
 
 const PACKAGES = new Map();
 
+class Token extends String {
+  interpret() {
+    return readInteger(this) || LispSymbol.fromString(this);
+  }
+  static is(x, y) {
+    return (x instanceof Token) && x.valueOf() === y;
+  }
+}
+
 class Package {
   constructor(name) {
     this.name = name;
@@ -133,6 +142,7 @@ class Package {
     this.use = [];
   }
   intern(name) {
+    if (name instanceof Token) name = name.valueOf();
     let sym = this.symbols.get(name)
     if (!sym) {
       sym = new LispSymbol(name, this.name);
@@ -248,15 +258,6 @@ class ReadTable {
 
 const READTABLE = Package.intern('CL', '*READTABLE*');
 
-class Token extends String {
-  interpret() {
-    return readInteger(this) || LispSymbol.fromString(this);
-  }
-  static is(x, y) {
-    return (x instanceof Token) && x.valueOf() === y;
-  }
-}
-
 const LIST_CLOSE_PAREN = new Object();
 
 const readList = async stream => {