Fixed fixnum detection in parser.
[scheme.forth.jl.git] / scheme.4th
index fa53d67..8da2772 100644 (file)
@@ -277,17 +277,16 @@ global-env setobj
     global-env fetchobj define-var
 ;
 
-: add-prim ( args -- )
-    nil objeq? if
+:noname ( args -- )
+    2dup nil objeq? if
+        2drop
         0 number-type
     else
         2dup cdr recurse drop
         -rot car drop
         + number-type
     then
-;
-
-' add-prim make-primitive +
+; make-primitive +
 
 \ }}}
 
@@ -374,9 +373,19 @@ parse-idx-stack parse-idx-sp !
     nextchar [char] - = ;
 
 : number? ( -- bool )
-    digit? minus? or false = if
-        false
-        exit
+    minus? if
+        inc-parse-idx
+
+        delim? if
+            dec-parse-idx
+            false exit
+        else
+            dec-parse-idx
+        then
+    else
+        digit? false = if
+            false exit
+        then
     then
 
     push-parse-idx
@@ -821,7 +830,7 @@ defer eval
 : true? ( boolobj -- bool )
     false? invert ;
 
-: applicaion? ( obj -- obj bool)
+: application? ( obj -- obj bool)
     pair-type istype? ;
 
 : operator ( obj -- operator )