]> gitweb.factorcode.org Git - factor.git/commitdiff
multiline: fix lexer eof detection.
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 20 May 2014 04:10:31 +0000 (21:10 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 20 May 2014 04:10:31 +0000 (21:10 -0700)
basis/multiline/multiline.factor

index 0bc616cbb6122a55e58a4f674fe1c9285b27c8e9..6fe5bda7e4638c29cff375e9aadfd7d16dbdac3b 100644 (file)
@@ -12,7 +12,7 @@ ERROR: bad-heredoc identifier ;
     lexer get [ line-text>> ] [ column>> ] bi tail ;
 
 : next-line-text ( -- str )
-    lexer get dup next-line line-text>> ;
+    lexer get [ next-line ] [ line-text>> ] bi ;
 
 : (parse-here) ( -- )
     next-line-text [
@@ -38,9 +38,12 @@ SYNTAX: STRING:
 
 <PRIVATE
 
+: lexer-eof? ( lexer -- ? )
+    [ line>> ] [ text>> length ] bi <= ;
+
 :: (scan-multiline-string) ( i end -- j )
     lexer get line-text>> :> text
-    text [
+    lexer get lexer-eof? [
         end text i start* [| j |
             i j text subseq % j end length +
         ] [