--- gforth/prims2x.fs 1996/02/13 11:12:19 1.20 +++ gforth/prims2x.fs 1996/08/21 14:58:43 1.24 @@ -42,6 +42,7 @@ warnings off +\ require interpretation.fs require debugging.fs [IFUNDEF] vocabulary include search-order.fs [THEN] [IFUNDEF] environment? include environ.fs [THEN] @@ -56,7 +57,7 @@ maxchar 1+ constant eof-char : read-whole-file ( c-addr1 file-id -- c-addr2 ) \ reads the contents of the file file-id puts it into memory at c-addr1 \ c-addr2 is the first address after the file block - >r dup -1 r> read-file throw + ; + >r dup $7fffffff r> read-file throw + ; variable rawinput \ pointer to next character to be scanned variable endrawinput \ pointer to the end of the input (the char after the last) @@ -164,7 +165,7 @@ print-token ! 0. r> 6 chars + 20 >number drop >r drop line ! r> ( c-addr ) dup c@ bl = if char+ dup c@ [char] " <> abort" sync line syntax" - char+ dup 100 [char] " scan drop swap 2dup - save-string filename 2! + char+ dup 100 [char] " scan drop swap 2dup - save-mem filename 2! char+ endif dup c@ nl-char <> abort" sync line syntax" @@ -203,7 +204,7 @@ print-token ! : ` ( -- terminal ) ( use: ` c ) ( creates anonymous terminal for the character c ) - [compile] ascii singleton ['] ?nextchar make-terminal ; + char singleton ['] ?nextchar make-terminal ; char a char z .. char A char Z .. union char _ singleton union charclass letter char 0 char 9 .. charclass digit